Add T-Beam BPF (144-148 Mhz LoRa)#9703
Conversation
|
EU (ITU Region 1) 2m Band is 144-146MHz - Can we either make 2 presets or (assuming a HAM knows what they are doing) make a tighter default preset and tell people to deliberately set a custom frequency if they wanna go outside? This way an EU operator may not unknowingly exceed their boundaries. |
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds initial support for the LilyGo T-Beam BPF (144–148 MHz LoRa) ESP32-S3 variant, including board/variant definitions and new ham 2m region handling to keep region selection consistent with the device’s RF front-end.
Changes:
- Added new ESP32-S3 board + variant definitions for T-Beam BPF (pins, build env, board JSON).
- Introduced ham 2m region profiles (ITU1_2M, ITU23_2M) and enforced hardware/region compatibility checks.
- Added AXP2101 rail initialization for TBEAM_BPF and RF95 power-enable handling.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| variants/esp32s3/t-beam-bpf/variant.h | Defines T-Beam BPF hardware wiring (GPS, OLED, LoRa, SD, PMU) and ham-only flag. |
| variants/esp32s3/t-beam-bpf/platformio.ini | Adds PlatformIO environment for building the new T-Beam BPF target. |
| variants/esp32s3/t-beam-bpf/pins_arduino.h | Defines Arduino core pin mappings (UART/I2C/SPI/SD). |
| boards/t-beam-bpf.json | Adds PlatformIO board definition for the new hardware. |
| src/platform/esp32/architecture.h | Maps T_BEAM_BPF define to protobuf hardware model enum. |
| src/mesh/RadioInterface.cpp | Adds ham 2m regions/profile and enforces region ↔ hardware compatibility. |
| src/mesh/RF95Interface.cpp | Adds RF95 power-enable toggling during init/sleep. |
| src/mesh/NodeDB.cpp | Sets default licensed-mode for ham-only hardware on first install. |
| src/mesh/MeshRadio.h | Exposes PROFILE_HAM. |
| src/graphics/draw/MenuHandler.cpp | Limits region picker options on ham-only hardware. |
| src/Power.cpp | Adds AXP2101 rail enablement for GNSS + MicroSD on TBEAM_BPF. |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
Blocked by #10120 (enabling frequency overrides, narrow presets) |
This is an appropriate default in the USA but not the EU. The slot override really should follow the region itself, not the regionprofile.
|
Depends on protobuf regen that includes: |
|
Moving this to a branch in-org |
Add LilyGo T-Beam BPF, the first / only 144-148Mhz LoRa device 🍖
Requires: