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.
23 lines
1.0 KiB
INI
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
|