Files
meshtastic_firmware/variants/nrf52840/diy/moonshine_NRF52_ebyte/platformio.ini
T
kevin 325bc2b2c4 feat: add moonshine_NRF52_ebyte variant (Ebyte nRF52840 + E22-400M33S)
DIY Meshtastic node using an Ebyte nRF52840 MCU module with LFXO crystal
and E22-400M33S LoRa module (SX1268, 433MHz, 33dBm).

Pin assignments:
- LED (LED_PAIRING): P0.15, LED_LORA DIO1: P1.10, BUSY: P0.28 (AIN4)
- LORA_CS: P0.17, RESET: P1.13, RXEN: P1.09, SPI: P0.20/P0.22/P1.00
- VBAT_ADC: P0.03 (0.5 divider), CHAG_DET: P0.13, BUZZER: P1.11
- BUTTON: P0.24, I2C: SDA=P0.08/SCL=P0.04 (wired, no devices)

PA parameters derived from E22-M UserManual V1.2 power curve (not from
E22-900M33S which uses a different PA with 25dB gain):
- SX126X_MAX_POWER=21, TX_GAIN_LORA=12 (chip 21dBm -> module ~33.5dBm)
- DIO2_AS_RF_SWITCH with MCU-controlled RXEN, TCXO 1.8V (TCXO_OPTIONAL)

USB CDC serial enabled by default (nRF52840 built-in). No GPS/screen/
I2C devices. Uses S140 v6 SoftDevice (matches nice!nano bootloader).
Flashable via USB (1200bps touch DFU) or UF2 drag-and-drop.
2026-07-27 17:48:01 +08:00

23 lines
1.0 KiB
INI

; Moonshine NRF52 ebyte - DIY variant (Ebyte nRF52840 + E22-400M33S)
; Uses S140 v6 SoftDevice (matches nice!nano / Adafruit Feather factory bootloader).
; Inherits the default v6 ldscript from [nrf52840_base] (app start at 0x26000).
[env:moonshine_NRF52_ebyte]
extends = nrf52840_base
board = adafruit_feather_nrf52840
build_flags = ${nrf52840_base.build_flags}
-I variants/nrf52840/diy/moonshine_NRF52_ebyte
-D PRIVATE_HW
-D CONFIG_GPIO_AS_PINRESET
-D MESHTASTIC_EXCLUDE_I2C=1
-D MESHTASTIC_EXCLUDE_ENVIRONMENTAL_SENSOR=1
-D MESHTASTIC_EXCLUDE_INPUTBROKER=1
-D MESHTASTIC_EXCLUDE_ACCELEROMETER=1
-D MESHTASTIC_EXCLUDE_MAGNETOMETER=1
-D MESHTASTIC_EXCLUDE_GPS=1
-D MESHTASTIC_EXCLUDE_SCREEN=1
build_src_filter = ${nrf52_base.build_src_filter} +<../variants/nrf52840/diy/moonshine_NRF52_ebyte>
debug_tool = jlink
; Upload via USB: pio run -e moonshine_NRF52_ebyte -t upload
; Uses 1200bps touch to enter DFU bootloader, then nrfutil serial DFU.
; Alternative: double-tap reset -> drag .uf2 to USB mass storage