LoBBS / Mesh Forge “Heltec V4” build actually produces RAK3312 firmware #5

Open
opened 2026-10-05 05:13:52 +02:00 by adam · 1 comment
Owner

Hi,

I’ve repeatedly tested your LoBBS / Mesh Forge firmware builder and it appears that selecting Heltec V4 is generating an image that actually targets RAK3312.

What I selected / built
From the Mesh Forge firmware creator, I chose the Heltec V4 option and generated:

meshtastic-v2.7.16.a597230-heltec-v4-ne4h-20079496646-firmware.tar.gz

I extracted it twice (tar.gz → .tar → .bin) and used firmware.factory.bin for flashing.

The script shown by the builder is:

bash
git clone --recursive https://github.com/meshtastic/firmware.git meshtastic-v2.7.16.a597230-heltec-v4-ne4h-20079496646-source
cd meshtastic-v2.7.16.a597230-heltec-v4-ne4h-20079496646-source
git checkout v2.7.16.a597230
git submodule update --init --recursive
pip install platformio
pip install mesh-plugin-manager
mpm init
mpm install lobbs
export PLATFORMIO_BUILD_FLAGS=""
pio run -e heltec-v4
How I flashed it
Board: Heltec WiFi LoRa 32 V4, fresh, first put on official vanilla Meshtastic 2.7.16 and confirmed working.

Then I flashed the LoBBS image from Windows CMD:

bash
python -m esptool --chip esp32s3 --port COM22 --baud 115200 write-flash -z 0x0 firmware.factory.bin
Flash completed with “Hard resetting via RTS pin…”.

What the node reports afterwards
Immediately after flashing, I ran:

bash
meshtastic --info --port COM22
Key lines of the output:

pioEnv: "rak3312"

hwModel: "RAK3312"

firmwareEdition: "VANILLA"

firmwareVersion: "2.7.16.a597230"

So on a Heltec V4, after flashing a file generated as “heltec-v4-…-firmware.tar.gz”, the running firmware self‑identifies as RAK3312, not Heltec V4.

Additional context
Both my Heltec V3 and Heltec V4 work perfectly on official vanilla Meshtastic 2.7.16; meshtastic --info shows pioEnv: "heltec-v3" / "heltec-v4" and hwModel: "HELTEC_V3" / "HELTEC_V4" respectively when using the official releases.

A LoBBS image built for V3 previously caused that board to stop responding until reflashed with vanilla, which is why I checked the target so carefully on V4.

It looks like the Mesh Forge / LoBBS pipeline is mapping the Heltec V4 selection to the rak3312 environment when building or packaging the image.

Can you please confirm and fix the board‑target mapping for Heltec V4, or provide a known‑good LoBBS firmware.factory.bin explicitly built for heltec-v4?

Thanks.

Hi, I’ve repeatedly tested your LoBBS / Mesh Forge firmware builder and it appears that selecting Heltec V4 is generating an image that actually targets RAK3312. What I selected / built From the Mesh Forge firmware creator, I chose the Heltec V4 option and generated: meshtastic-v2.7.16.a597230-heltec-v4-ne4h-20079496646-firmware.tar.gz I extracted it twice (tar.gz → .tar → .bin) and used firmware.factory.bin for flashing. The script shown by the builder is: bash git clone --recursive https://github.com/meshtastic/firmware.git meshtastic-v2.7.16.a597230-heltec-v4-ne4h-20079496646-source cd meshtastic-v2.7.16.a597230-heltec-v4-ne4h-20079496646-source git checkout v2.7.16.a597230 git submodule update --init --recursive pip install platformio pip install mesh-plugin-manager mpm init mpm install lobbs export PLATFORMIO_BUILD_FLAGS="" pio run -e heltec-v4 How I flashed it Board: Heltec WiFi LoRa 32 V4, fresh, first put on official vanilla Meshtastic 2.7.16 and confirmed working. Then I flashed the LoBBS image from Windows CMD: bash python -m esptool --chip esp32s3 --port COM22 --baud 115200 write-flash -z 0x0 firmware.factory.bin Flash completed with “Hard resetting via RTS pin…”. What the node reports afterwards Immediately after flashing, I ran: bash meshtastic --info --port COM22 Key lines of the output: pioEnv: "rak3312" hwModel: "RAK3312" firmwareEdition: "VANILLA" firmwareVersion: "2.7.16.a597230" So on a Heltec V4, after flashing a file generated as “heltec-v4-…-firmware.tar.gz”, the running firmware self‑identifies as RAK3312, not Heltec V4. Additional context Both my Heltec V3 and Heltec V4 work perfectly on official vanilla Meshtastic 2.7.16; meshtastic --info shows pioEnv: "heltec-v3" / "heltec-v4" and hwModel: "HELTEC_V3" / "HELTEC_V4" respectively when using the official releases. A LoBBS image built for V3 previously caused that board to stop responding until reflashed with vanilla, which is why I checked the target so carefully on V4. It looks like the Mesh Forge / LoBBS pipeline is mapping the Heltec V4 selection to the rak3312 environment when building or packaging the image. Can you please confirm and fix the board‑target mapping for Heltec V4, or provide a known‑good LoBBS firmware.factory.bin explicitly built for heltec-v4? Thanks. <!-- github-sync-id:3728293685 -->
Author
Owner

Just seeing this. That's super strange, I'll look into it.

Just seeing this. That's super strange, I'll look into it. <!-- github-comment-id:3911574575 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/mesh-forge#5