Skip to content

Add heltec rc52 - #3032

Open
Quency-D wants to merge 8 commits into
meshcore-dev:devfrom
Quency-D:heltec-rc52
Open

Quency-D wants to merge 8 commits into
meshcore-dev:devfrom
Quency-D:heltec-rc52

Conversation

@Quency-D

Copy link
Copy Markdown
Contributor

This PR adds Heltec RC52 support as a new nRF52840 board target for MeshCore.
It introduces the heltec_rc52 board definition, variant files, and PlatformIO environments for the core RC52 firmware matrix: repeater, room server, companion radio over BLE/USB, and KISS modem, with display and without-display variants where applicable.
The RC52 display path uses the shared NV3001B driver with injected SPI1 support for the nRF52 display bus. The default NV3001B ESP32 hardware SPI behavior remains unchanged for existing boards.

@IoTThinks

IoTThinks commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

We will check and optimize power consumption of this board.
Love its small size.

This was referenced Nov 12, 2026

@IoTThinks IoTThinks left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are two places with missing '+<helpers/ui/NullDisplayDriver.cpp>' in
heltec_rc52_without_display_companion_radio_ble and heltec_rc52_without_display_companion_radio_usb

Please help to check.

Comment thread variants/heltec_rc52/platformio.ini Resolved
Comment thread variants/heltec_rc52/platformio.ini Resolved
@Quency-D

Copy link
Copy Markdown
Contributor Author

@IoTThinks Thanks for catching this. I added +<helpers/ui/NullDisplayDriver.cpp> to both the BLE and USB without-display companion-radio environments in commit dd83853.

While verifying the builds, I also updated the RC52 GPS initialization to use the current NmeaGpsDriver / MicroNMEALocationProvider API. Both affected environments now compile and link successfully.

@IoTThinks

Copy link
Copy Markdown
Contributor

Great.
We will test it.

Thanks and enjoy your day.

@Quency-D

Copy link
Copy Markdown
Contributor Author

Thanks! Please feel free to let me know if you run into any issues during testing. Enjoy your day too!

Use pin index 0, which maps to NRFX_SPIM_PIN_NOT_USED, to avoid the nRF52 SPI constructor indexing g_ADigitalPinMap[255]. Remove the absent MISO shutdown reset so the sentinel cannot reset physical P0.00. Follows the variant-side fixes in meshcore-dev#3188 and meshcore-dev#3189.

Validated heltec_rc52_repeater and heltec_rc52_companion_radio_ble builds. ELF disassembly confirms the MISO lookup uses map[0]=0xFF instead of the +1020-byte read and shutdown has no P0.00 reset. No hardware testing performed.

This branch has not been deployed

No deployments
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