Skip to content

Add Heltec mesh node t1#10416

Merged
thebentern merged 9 commits into
meshtastic:developfrom
Quency-D:heltec-mesh-node-t1
May 29, 2026
Merged

Add Heltec mesh node t1#10416
thebentern merged 9 commits into
meshtastic:developfrom
Quency-D:heltec-mesh-node-t1

Conversation

@Quency-D

@Quency-D Quency-D commented May 8, 2026

Copy link
Copy Markdown
Contributor

This PR adds initial Meshtastic firmware support for the Heltec Mesh Node T1.

The new board target is based on the nRF52840 MCU and SX1262 LoRa radio.

What changed

  • Added a new PlatformIO board definition:

    • boards/heltec_mesh_node_t1.json
  • Added a new nRF52840 variant:

    • variants/nrf52840/heltec_mesh_node_t1/
  • Added a new PlatformIO environment:

    • env:heltec-mesh-node-t1
  • Added pin definitions for:

    • SX1262 LoRa radio
    • ST7735 TFT display
    • GPS UART, enable, reset, and PPS pins
    • I2C sensor power control
    • Battery ADC / LPCOMP configuration
    • Buzzer and button pins
  • Added TFT_eSPI configuration for the onboard ST7735 display.

  • Added sensor detection support for:

    • ICM42607P accelerometer / IMU
    • MMC5983MA magnetometer

🤝 Attestations

  • I have tested that my proposed changes behave as described.
  • I have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V4
    • Other: Heltec Mesh Node T1

@github-actions github-actions Bot added the hardware-support Hardware related: new devices or modules, problems specific to hardware label May 8, 2026
@Quency-D

Quency-D commented May 8, 2026

Copy link
Copy Markdown
Contributor Author

The other two related commits are meshtastic/protobufs#909 and meshtastic/protobufs#908.

Copilot AI 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.

Pull request overview

Adds initial firmware bring-up for the Heltec Mesh Node T1 (nRF52840 + SX1262), including a new PlatformIO board/env + variant pinmap, and extends I2C device detection / motion support to recognize the board’s onboard IMU and magnetometer.

Changes:

  • Introduces a new heltec-mesh-node-t1 PlatformIO environment + board JSON + nRF52840 variant (pins for SX1262, ST7735 TFT, GPS, sensors, battery, buzzer/buttons).
  • Extends I2C scanning to detect MMC5983MA (magnetometer) and ICM42607P (IMU), and adds a new MagnetometerThread.
  • Updates TFT display handling and motion thread wiring in main/menu code paths.

Reviewed changes

Copilot reviewed 20 out of 20 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
variants/nrf52840/heltec_mesh_node_t1/variant.h New Heltec Mesh Node T1 pin definitions (radio, TFT, GPS, I2C power, battery, buzzer/buttons).
variants/nrf52840/heltec_mesh_node_t1/variant.cpp New variant init/shutdown GPIO handling for T1.
variants/nrf52840/heltec_mesh_node_t1/platformio.ini New env:heltec-mesh-node-t1 build config (TFT_eSPI + defines).
boards/heltec_mesh_node_t1.json New PlatformIO board definition for the T1.
src/platform/nrf52/architecture.h Maps HELTEC_MESH_NODE_T1 to the correct HardwareModel.
src/motion/ICM42607PSensor.h New MotionSensor wrapper for ICM42607P (via ICM42670P library).
src/motion/ICM42607PSensor.cpp ICM42607P sensor init/run implementation.
src/motion/MMC5983MASensor.h New MotionSensor wrapper for MMC5983MA magnetometer.
src/motion/MMC5983MASensor.cpp MMC5983MA magnetometer read/calibration + heading update.
src/motion/MagnetometerThread.h New thread to manage magnetometer lifecycle and periodic sampling.
src/motion/AccelerometerThread.h Adds ScanI2C dispatch case to create ICM42607PSensor.
src/detect/ScanI2C.h Adds new device types + firstMagnetometer() API.
src/detect/ScanI2C.cpp Extends accelerometer preference list + implements firstMagnetometer().
src/detect/ScanI2CTwoWire.cpp Adds detection logic for MMC5983MA and ICM42607P in the I2C scanner.
src/main.h Adds magnetometer globals + conditionally exposes MagnetometerThread.
src/main.cpp Powers sensor rail, scans for magnetometer, instantiates magnetometer thread, maps new devices into telemetry map.
src/graphics/draw/MenuHandler.cpp Adds magnetometer calibration trigger alongside accelerometer calibration action.
src/graphics/TFTDisplay.cpp Treats HELTEC_MESH_NODE_T1 similarly to other TFT_eSPI targets for power/brightness/touch paths.
src/configuration.h Adds I2C address constants for MMC5983MA + ICM42607P.
platformio.ini Adds global lib deps for ICM42670P + SparkFun MMC5983MA library.

Comment thread variants/nrf52840/heltec_mesh_node_t1/variant.cpp
Comment thread src/motion/ICM42607PSensor.cpp
Comment thread src/main.cpp Outdated
@thebentern

Copy link
Copy Markdown
Contributor

@copilot apply changes based on the comments in this thread

@Quency-D

Copy link
Copy Markdown
Contributor Author

@thebentern Thanks, I’ve addressed the issues mentioned in this thread.

@thebentern thebentern merged commit 6030396 into meshtastic:develop May 29, 2026
1 check passed
thebentern added a commit that referenced this pull request May 30, 2026
* add heltec-mesh-node-t1

* fixed low power

* Update the sensor enumeration values.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Fix memory leak in ICM42607PSensor

* fix  ST7735_MISO  error

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Evil8it pushed a commit to Evil8it/ME4TACTNK that referenced this pull request Jun 10, 2026
* add heltec-mesh-node-t1

* fixed low power

* Update the sensor enumeration values.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Fix memory leak in ICM42607PSensor

* fix  ST7735_MISO  error

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
raghumad pushed a commit to raghumad/mezulla-firmware that referenced this pull request Jun 25, 2026
* add heltec-mesh-node-t1

* fixed low power

* Update the sensor enumeration values.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Fix memory leak in ICM42607PSensor

* fix  ST7735_MISO  error

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hardware-support Hardware related: new devices or modules, problems specific to hardware

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants