Skip to content

Add IN_433 regulatory region - #11268

Closed
kholia wants to merge 1 commit into
meshtastic:developfrom
kholia:develop
Closed

Add IN_433 regulatory region#11268
kholia wants to merge 1 commit into
meshtastic:developfrom
kholia:develop

Conversation

@kholia

@kholia kholia commented Jul 28, 2026

Copy link
Copy Markdown

Configure India 433 MHz operation for 433.05-434.79 MHz at 10 dBm with a 10% duty-cycle limit, as specified by G.S.R. 347(E), 2022.

PDF reference of the G.S.R.

Add region lookup coverage and update the client compatibility snapshot.

Note: Depends on meshtastic/protobufs#998.

On why we need a different region configuration:

   Existing region    Why it cannot represent India safely
  ━━━━━━━━━━━━━━━━━  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ANZ_433            Same frequency range, but permits 14 dBm and 100% duty cycle.
  ─────────────────  ───────────────────────────────────────────────────────────────────────────────
   UA_433             Same 10 dBm/10%, but starts at 433.00 MHz—below India’s 433.05 MHz boundary.
  ─────────────────  ───────────────────────────────────────────────────────────────────────────────
   EU_433             Also starts below the Indian boundary and stops at 434.00 MHz.
  ─────────────────  ───────────────────────────────────────────────────────────────────────────────
   KZ_433             Frequency is a legal subset and power is 10 dBm, but permits 100% duty cycle.

🤝 Attestations

  • I have tested that my proposed changes behave as described.
  • I have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other (please specify below)

Summary by CodeRabbit

  • New Features

    • Added support for the India 433 MHz LoRa region (IN_433), including its applicable frequency range, duty-cycle, and power limits.
    • Updated region-to-preset compatibility information to include IN_433 in the default region group.
  • Documentation

    • Updated the compatibility specification and reference tables to reflect the new regional option.

Configure India 433 MHz operation for 433.05-434.79 MHz at 10 dBm with a
10% duty-cycle limit, as specified by G.S.R. 347(E), 2022.

Add region lookup coverage and update the client compatibility snapshot.

Note: Depends on meshtastic/protobufs#998.
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0d28b406-0203-44e3-8b1d-024116b493e3

📥 Commits

Reviewing files that changed from the base of the PR and between dafa583 and b1510db.

📒 Files selected for processing (3)
  • docs/lora_region_preset_compatibility_client_spec.md
  • src/mesh/RadioInterface.cpp
  • test/test_admin_radio/test_main.cpp

📝 Walkthrough

Walkthrough

Adds the IN_433 LoRa region with its regulatory parameters, updates region-group compatibility documentation, and adds unit-test coverage for region lookup.

Changes

IN_433 region support

Layer / File(s) Summary
Compatibility metadata
docs/lora_region_preset_compatibility_client_spec.md
Updates the nanopb receive count from 38 to 39 and adds IN_433 to group 0.
Region registration
src/mesh/RadioInterface.cpp
Adds IN_433 with its 433.05–434.79 MHz range and regulatory limits.
Region lookup validation
test/test_admin_radio/test_main.cpp
Tests IN_433 metadata and registers the test with the Unity runner.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested labels: enhancement, requires-protos

Suggested reviewers: thebentern, caveman99

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately highlights the main change: adding the IN_433 regulatory region.
Description check ✅ Passed The description covers the change, rationale, dependency, and includes the required attestations section.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@caveman99

Copy link
Copy Markdown
Member

This will be covered by EU_433 from version 3.0 - see #2696 - up to that point you need to use EU_433

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants