Crate umsh_bsp_sensecap_solar

Crate umsh_bsp_sensecap_solar 

Source
Expand description

Board support for the SenseCAP Solar Node P1 / P1-Pro (nRF52840 + SX1262).

Composes umsh-bsp-nrf52840 with the Solar Node’s pinout and on-board peripherals. This is the fourth nRF52840 + SX1262-class board, after the T-Echo, Wio Tracker L1, and T1000-E; the radio path is byte-for-byte the Wio Tracker L1 configuration (external RXEN, DIO2-as-RF-switch, DIO3 TCXO at 1.8 V) on a different pin map. The Platform bundle is therefore a verbatim copy of the Wio Tracker’s.

The same crate is intended to cover both the P1 and the P1-Pro, which are believed to differ only in GNSS module and battery pack.

Initial scope is bringup only:

  • USB-CDC handles (over the nRF native USB peripheral, chip BSP)
  • two user LEDs and two buttons for identification (Phase 1)
  • calibrated battery measurement (Phase 2)
  • SX1262 LoRa radio + external RXEN pin (Phase 3)
  • low-battery System OFF with LPCOMP solar recovery (Phase 6)—see [shutdown]

Future expansion (device-node behavior, GNSS) is welcome but is not yet implemented.

See docs/hardware/sensecap-solar-node-p1-pro-hardware.md for the firmware-derived hardware reference.

§Pin map (nRF52840, from the Meshtastic seeed_solar_node variant)

The BSP and firmware hard-code the P0_xx / P1_xx embassy-nrf pins directly; the Arduino logical numbers below appear only for cross-referencing the vendor sources.

FunctionLogicalnRF pinNotes
GNSS standby/wake0P0.02polarity unverified
Radio DIO11P0.03
Radio RESET2P0.28
Radio BUSY3P0.29
Radio CS4P0.04
Radio RXEN5P0.05drive LOW at boot, then rf_switch_rx
GNSS UART TX (MCU→L76K)6P1.11NMEA 9600
GNSS UART RX (L76K→MCU)7P1.12
Radio SPI SCK8P1.13
Radio SPI MISO9P1.14
Radio SPI MOSI10P1.15
LED_A (“User LED”)11P0.15white, active-high (confirmed 2026-07-23)
LED_B (“Breathing”/TX LED)12P0.19blue, active-high (confirmed); heartbeat LED
PWR button (USER_BUTTON)13P1.01active-low, internal pull-up (confirmed); hold → System OFF. A press from System OFF reaches the bootloader, not the application
Grove SDA14P0.09NFC pin—NFCT off / UICR NFCPINS cleared for GPIO
Grove SCL15P0.10NFC pin, ditto
Battery ADC16P0.31/AIN7Phase 2
GNSS RESET (candidate)17P1.03never driven—input only until characterized
GNSS ENABLE18P1.05likely active-high; held inactive in bringup
Battery divider enable (n)19P0.14active-low per MeshCore, verify (Phase 2)
USR button (USER_BUTTON_2)20P1.07active-low, pull-up (confirmed); soft—pressing it does NOT cut the MCU rail. The only button that powers the node on
QSPI flash (P25Q16H)21–26see hw docreserved, unused (NV store is internal NVMC)

Constants§

USB
What the stock Solar P1 application reports; its bootloader is 2886:0044.