Skip to content

roughed in support for esp32-h2 via Waveshare dev board#8879

Open
jp-bennett wants to merge 12 commits into
developfrom
esp32-h2
Open

roughed in support for esp32-h2 via Waveshare dev board#8879
jp-bennett wants to merge 12 commits into
developfrom
esp32-h2

Conversation

@jp-bennett

@jp-bennett jp-bennett commented Dec 6, 2025

Copy link
Copy Markdown
Collaborator

Adds a rough initial esp32-h2 target for the Waveshare ESP32-H2 dev board.

This PR:

  • adds the new esp32h2 PlatformIO base and the waveshare-esp32h2 board environment
  • wires in the new variant headers needed for the board
  • keeps the new target included in the PR-level CI matrix generation
  • resolves merge conflicts against develop while preserving the esp32-h2-specific serial and watchdog handling needed for this target

Validation performed:

  • generated PR CI matrices successfully and confirmed waveshare-esp32h2 is included
  • attempted a direct platformio run -e waveshare-esp32h2 build, but dependency download was blocked by external SSL certificate verification in the sandbox

Hardware testing has not been performed because there are not yet devices using esp32-h2 in-tree.

🤝 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) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other (please specify below)

Summary by CodeRabbit

  • New Features

    • Added support for the ESP32-H2 platform.
    • Added a Waveshare ESP32-H2 board variant with configured USB, serial, display, and LoRa pin settings.
    • Added ESP32-H2-specific build and monitoring configuration.
  • Bug Fixes

    • Improved serial communication, power management, deep sleep, and platform initialization on ESP32-H2 devices.

@fifieldt

fifieldt commented Dec 6, 2025

Copy link
Copy Markdown
Member

CI scripts probably need an update to add the arch

@jp-bennett jp-bennett added the enhancement New feature or request label Dec 8, 2025
@vidplace7

Copy link
Copy Markdown
Member

Please holler at me when we're ready to merge this (or any new platform) so I can adjust CI 👍 mostly https://github.com/meshtastic/gh-action-firmware and Actions in here

@jp-bennett

Copy link
Copy Markdown
Collaborator Author

Please holler at me when we're ready to merge this (or any new platform) so I can adjust CI 👍 mostly https://github.com/meshtastic/gh-action-firmware and Actions in here

There aren't any devices using the esp32-h2 yet, so no rush to get the actions working. It was mostly an exercise to see how challenging it would be. Unclear whether we should go ahead and merge this as a placeholder or not.

@github-actions github-actions Bot added the Stale Issues that will be closed if not triaged. label Jan 27, 2026
@github-actions github-actions Bot closed this Feb 7, 2026
@thebentern thebentern reopened this Feb 7, 2026
@github-actions github-actions Bot removed the Stale Issues that will be closed if not triaged. label Feb 20, 2026
@github-actions github-actions Bot added the Stale Issues that will be closed if not triaged. label Apr 8, 2026
@vidplace7

Copy link
Copy Markdown
Member

@copilot resolve the merge conflicts in this pull request. Prefer changes made in the upstream branch (develop).

@vidplace7 vidplace7 added hardware-support Hardware related: new devices or modules, problems specific to hardware and removed Stale Issues that will be closed if not triaged. labels Jun 7, 2026

Copilot AI commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts in this pull request. Prefer changes made in the upstream branch (develop).

Resolved the develop merge conflicts in ca46ebe.

Copilot AI requested a review from vidplace7 June 7, 2026 01:56

@vidplace7 vidplace7 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This compiles correctly now after rebasing on the pioarduino work in develop.
@jp-bennett can you test this on your waveshare board?

@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Firmware Size Report

21 targets | no baseline available yet

Target Size
elecrow-adv-35-tft 3,359,520
heltec-ht62-esp32c3-sx1262 2,081,424
heltec-v3 2,202,128
heltec-vision-master-e213-inkhud 2,167,440
pico 734,304
Show 16 more target(s)
Target Size
pico2 727,288
pico2w 1,175,508
picow 1,193,920
rak11200 1,798,736
rak11310 756,880
rak3172 179,548
rak3312 2,209,184
seeed-xiao-s3 2,212,496
seeed_xiao_rp2040 732,504
seeed_xiao_rp2350 725,432
station-g2 2,213,040
station-g3 2,203,392
t-deck-tft 3,748,816
t-eth-elite 2,429,232
tlora-c6 2,313,216
wio-e5 231,004

Updated for a6ce6db

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 93d9b355-bdfa-4cdc-afb3-2decec182de9

📥 Commits

Reviewing files that changed from the base of the PR and between 8d1fbbf and e75503e.

📒 Files selected for processing (7)
  • src/modules/ExternalNotificationModule.h
  • src/modules/SerialModule.cpp
  • src/platform/esp32/main-esp32.cpp
  • src/sleep.cpp
  • variants/esp32h2/esp32h2.ini
  • variants/esp32h2/waveshare-esp32-h2/platformio.ini
  • variants/esp32h2/waveshare-esp32-h2/variant.h

📝 Walkthrough

Walkthrough

Adds a PlatformIO variant for the Waveshare ESP32-H2 and updates target-specific compilation, serial handling, watchdog behavior, deep sleep, modem sleep, and board pin configuration.

Changes

ESP32-H2 support

Layer / File(s) Summary
ESP32-H2 variant configuration
variants/esp32h2/esp32h2.ini, variants/esp32h2/waveshare-esp32-h2/*
Adds ESP32-H2 build settings, board configuration, USB defines, serial monitoring options, and LoRa/SPI pin mappings.
Platform lifecycle and power handling
src/platform/esp32/main-esp32.cpp, src/sleep.cpp
Skips unsupported ESP32-H2 watchdog and RTC GPIO operations and configures the target CPU frequency for modem sleep.
Module target-specific behavior
src/modules/ExternalNotificationModule.h, src/modules/SerialModule.cpp
Selects ESP32-H2 serial handling and excludes unsupported external notification and WS85 parsing paths.

Estimated code review effort: 2 (Simple) | ~15 minutes

Possibly related PRs

Suggested reviewers: caveman99, thebentern

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main change: initial ESP32-H2 support via the Waveshare dev board.
Description check ✅ Passed The description covers the change, validation, and testing limitations, but the attestation checklist is left unchecked.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch esp32-h2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@vidplace7

Copy link
Copy Markdown
Member

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@jp-bennett

Copy link
Copy Markdown
Collaborator Author

I gotta pull this hardware back out and test again

@github-actions

Copy link
Copy Markdown
Contributor

⚡ Try this PR in the Web Flasher

Flash this PR in the Web Flasher

firmware commit boards expires

Warning

This is an automated, unreviewed CI test build. Back up your device configuration
before flashing, and only flash devices you are able to recover.

Supported boards built by this PR (29)
Device Board Platform
Crowpanel Adv 3.5 TFT elecrow-adv-35-tft esp32-s3
Heltec HT62 heltec-ht62-esp32c3-sx1262 esp32-c3
Heltec Mesh Node 096 heltec-mesh-node-t096 nrf52840
Heltec Mesh Node T1 heltec-mesh-node-t1 nrf52840
Heltec Mesh Node T114 heltec-mesh-node-t114 nrf52840
Heltec V3 heltec-v3 esp32-s3
Heltec V4 heltec-v4 esp32-s3
Meshnology W10 meshnology_w10 esp32-s3
Raspberry Pi Pico pico rp2040
Raspberry Pi Pico W picow rp2040
RAK WisMesh Pocket V3 rak_wismesh_pocket nrf52840
RAK WisMesh Repeater Mini V2 rak_wismesh_repeater_mini nrf52840
RAK WisMesh Tag rak_wismeshtag nrf52840
RAK WisBlock 11200 rak11200 esp32
RAK WisBlock 11310 rak11310 rp2040
RAK3312 rak3312 esp32-s3
RAK WisBlock 4631 rak4631 nrf52840
Seeed SenseCAP Mesh-Tracker-X1 seeed_mesh_tracker_X1 nrf52840
Seeed Wio Tracker L1 seeed_wio_tracker_L1 nrf52840
Seeed Xiao NRF52840 Kit seeed_xiao_nrf52840_kit nrf52840
Seeed Xiao ESP32-S3 seeed-xiao-s3 esp32-s3
Station G2 station-g2 esp32-s3
Station G3 station-g3 esp32-s3
LILYGO T-Deck t-deck-tft esp32-s3
LILYGO T-Echo t-echo nrf52840
LILYGO T-Echo Plus t-echo-plus nrf52840
LILYGO T-Impulse Plus t-impulse-plus nrf52840
LilyGo T3-C6 tlora-c6 esp32-c6
Seeed SenseCAP T1000-E tracker-t1000-e nrf52840

Build artifacts expire on 2026-08-15. Updated for e75503e.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request 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.

5 participants