Skip to content

Register the Heltec RC32, RC52, and RCC6 in the device registry - #130

Draft
rcarteraz wants to merge 1 commit into
masterfrom
device-registry/heltec-rc32-rc52-rcc6
Draft

Register the Heltec RC32, RC52, and RCC6 in the device registry#130
rcarteraz wants to merge 1 commit into
masterfrom
device-registry/heltec-rc32-rc52-rcc6

Conversation

@rcarteraz

Copy link
Copy Markdown
Member

Adds deviceHardware entries for three Heltec boards that have firmware
variants in flight but no registry entry, so /resource/deviceHardware
currently has a gap at 141-143 between MESHNOLOGY_W10 (140) and
SEEED_WIO_TRACKER_L1_PRO_1W (144).

hwModel Slug platformioTarget Architecture Firmware PR
141 HELTEC_RC32 heltec-rc32 esp32-s3 meshtastic/firmware#10876
142 HELTEC_RC52 heltec-rc52 nrf52840 meshtastic/firmware#11249
143 HELTEC_RCC6 heltec-rcc6 esp32-c6 meshtastic/firmware#11041

Where the values come from

Every field was taken from the custom_meshtastic_* block in each variant's
platformio.ini — the same data bin/platformio-custom.py emits as the build
manifest — rather than hand-written:

  • hwModel / hwModelSlug match the reserved HardwareModel enum values in
    meshtastic/protobufs master (HELTEC_RC32 = 141, HELTEC_RC52 = 142,
    HELTEC_RCC6 = 143) and are already present in the firmware's checked-in
    mesh.pb.h, so no submodule bump is involved.
  • architecture uses the normalized forms platformio-custom.py produces
    (esp32-s3, nrf52840, esp32-c6).
  • partitionScheme 16MB for RC32 and RCC6 agrees with their
    board_build.partitions = default_16MB.csv, their board JSON
    build.arduino.partitions, and upload.flash_size/maximum_size
    (16777216). RC52 is nRF52840 and correctly has none — no nrf52840 variant
    in the firmware repo sets a partition scheme.
  • requiresDfu is true for RC52 (forced for all nrf52840 targets) and for
    RC32 (declared in its variant, consistent with the other esp32-s3 entries),
    and false for RCC6, matching both existing esp32-c6 variants.
  • hasMui is omitted for all three: none of the variants define HAS_TFT,
    which is the only thing platformio-custom.py derives has_mui from. They
    do set USE_TFTDISPLAY, but that is the plain TFT screen path, not MUI.

activelySupported is false for all three, matching the neighbouring
entries — happy to flip any of them if these are meant to ship as supported.

Follow-ups outside this PR

  • No device images exist yet. The declared filenames — heltec_rc32.svg,
    heltec-rc52.svg, heltec_rcc6.svg — are not in
    meshtastic/web-flasher public/img/devices/. They need to land there, and
    the names must match these strings byte-for-byte. Note the firmware variants
    themselves are inconsistent about hyphen vs. underscore here; I mirrored
    what each variant declares rather than normalizing, so if web-flasher
    prefers one style these entries should change with it.
  • Heltec rc32 firmware#10876 (RC32) is board_level = extra, which
    bin/generate_ci_matrix.py only includes on an explicit --level extra.
    Until that becomes release, RC32 will not build in the release matrix, so
    this registry entry will point at a target that produces no firmware.
  • All three firmware PRs currently conflict with develop and need a rebase.

Checks run locally: tsc --noEmit --strict on src/lib/resource.ts passes,
biome ci src/lib/resource.ts is clean, and the diff is purely additive
(38 insertions, 0 deletions) with no duplicate platformioTarget.

🤖 Generated with Claude Code

Adds deviceHardware entries for the three Heltec boards whose hardware
models are already reserved in the protobufs HardwareModel enum but which
have no registry entry yet, so 141-143 were a gap between MESHNOLOGY_W10
and SEEED_WIO_TRACKER_L1_PRO_1W.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 22, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9f3539e7-c0de-473b-9f3a-1ae6a90625b7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

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.

1 participant