Meshtastic Heltec HTIT-WB32LAF V4.3
Allgemeines
Diese Seite des Hersteller ist schon sehr unfangreich und informativ. [1]
Was mich allerdings stutzig gemacht hat, war der Umstand mit der externen WLAN-Antenne. Ich hatte ein KIT bestellt mit WLAN-Antenne und GNSS-Modul (GPS). Folgende Bemerkung war zum IPEX-WLAN-Stecker zu finden.
By default, it is connected to the onboard FPC, and its circuit has been tested to achieve optimal performance. When you switch the resistor to IPEX, the IPEX connector will achieve optimal performance. If both the IPEX interface and the FPC contacts are connected at the same time, the communication performance on both sides will be degraded. This is a 0-ohm resistor. If you don’t have high requirements for the 2.4G signal, you can directly use a soldering iron to short-circuit both directions at once, making both sides work simultaneously.
Das heißt so viel wie, im Auslieferungszustand ist der WLAN-Antennenausgang an die Flexible Druckschaltkreis-Antennen (FPC flexible printed circuit) ueber eine Bruecke (0-Ohm Widerstand) angeschlossen. Der "Weg" zum IPEX war bei nicht beschaltet. Die WLAN per Pigtail waere also nutzlos. Da auf keinen Fall empfohlen wird beide Antennen gleichzeitig zu betreiben, muss man im Fall der externen WLAN-Antenne die 0-OHM-Bruecke umloeten. Dabei wuensche ich ohne Mikroskop viel Erfolg.
Pigtails
Inbetriebnahme
Hier die Befehle im Ueberblick.
Erst mal die Python-Umgebung schaffen.
python -m venv ~/meshtastic-env source ~/meshtastic-env/bin/activate pip install --upgrade pip pip install meshtastic
Testen und USB-Port finden.
meshtastic --version meshtastic --help sudo dmesg meshtastic --port /dev/ttyACM0 --info
Flashen voebreiten. PS: Der Versuch ueber Chrome Meshtastic Flashtool hat nicht funktioniert. (Grund weiter siehe unten)
pip install esptool esptool version esptool --port /dev/ttyACM0 chip-id esptool --port /dev/ttyACM0 flash-id
Kontakt hergestellt und (Test-)Werksfirmware sichern.
esptool --port /dev/ttyACM0 read-flash 0x000000 0x1000000 heltec-v43-original.bin esptool --port /dev/ttyACM0 read-flash 0x000000 0x1000000 heltec-v43-original-2.bin sha256sum heltec-v43-original.bin heltec-v43-original-2.bin
E-Fuses sichern
espefuse --port /dev/ttyACM0 summary oder gleich espefuse --port /dev/ttyACM0 summary > HTIT-WB32LAF-V4.3-efuses.txt und vielleich auch noch espefuse --port /dev/ttyACM0 dump > HTIT-WB32LAF-V4.3-efuses-dump.txt
Firmware firmware-esp32s3-2.7.26.54e0d8d.zip herunterladen. Darin sollten die 3 folgenden Dateien enthalten sein.
- firmware-heltec-v4-2.7.26.54e0d8d.factory.bin
- mt-esp32s3-ota.bin
- littlefs-heltec-v4-2.7.26.54e0d8d.bin
Darin liegt vermutlich der Grund warum das Webprog nicht funktioniert hat. Bei einer Erstinbetriebnahme müssen zusaetzlich zur "reinen" Firmware noch die beiden anderen Dateien geflasht werden.
esptool --port /dev/ttyACM0 erase-flash esptool --port /dev/ttyACM0 write-flash 0x000000 firmware-heltec-v4-2.7.26.54e0d8d.factory.bin 0x650000 mt-esp32s3-ota.bin 0xC90000 littlefs-heltec-v4-2.7.26.54e0d8d.bin
Und jetzt kann es nach einem Reboot mit meshtastic losgehen.
meshtastic --port /dev/ttyACM0 --info meshtastic --port /dev/ttyACM0 --get lora meshtastic --port /dev/ttyACM0 --set lora.region EU_868 meshtastic --port /dev/ttyACM0 --get lora meshtastic --port /dev/ttyACM0 --sendtext "Test vom PC" meshtastic --port /dev/ttyACM0 --nodes meshtastic --port /dev/ttyACM0 --get position meshtastic --port /dev/ttyACM0 --get serial meshtastic --port /dev/ttyACM0 --debug usw.
Hier der passende Mitschnitt:
(meshtastic-env) (base) chris@worker:~ [0]$ esptool version esptool v5.4.0 5.4.0 (meshtastic-env) (base) chris@worker:~ [0]$ ls -l /dev/ttyACM* crw-rw----. 1 root dialout 166, 0 15. Sep 20:38 /dev/ttyACM0 (meshtastic-env) (base) chris@worker:~ [0]$ esptool --port /dev/ttyACM0 chip-id esptool v5.4.0 Connected to ESP32-S3 on /dev/ttyACM0: Chip type: ESP32-S3 (QFN56) (revision v0.2) Features: Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 2MB (AP_3v3) Crystal frequency: 40MHz USB mode: USB-Serial/JTAG MAC: 10:bd:a3:5a:68:70 Stub flasher running. WARNING: ESP32-S3 has no chip ID. Reading MAC address instead. MAC: 10:bd:a3:5a:68:70 Hard resetting via RTS pin... (meshtastic-env) (base) chris@worker:~ [0]$ esptool --port /dev/ttyACM0 flash-id esptool v5.4.0 Connected to ESP32-S3 on /dev/ttyACM0: Chip type: ESP32-S3 (QFN56) (revision v0.2) Features: Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 2MB (AP_3v3) Crystal frequency: 40MHz USB mode: USB-Serial/JTAG MAC: 10:bd:a3:5a:68:70 Stub flasher running. Flash Memory Information: ========================= Manufacturer: 68 Device: 4018 Detected flash size: 16MB Flash type set in eFuse: quad (4 data lines) Flash voltage set by eFuse: 3.3V Hard resetting via RTS pin... (meshtastic-env) (base) chris@worker:~ [0]$ esptool --port /dev/ttyACM0 read-flash 0x000000 0x1000000 heltec-v43-original.bin esptool v5.4.0 Connected to ESP32-S3 on /dev/ttyACM0: Chip type: ESP32-S3 (QFN56) (revision v0.2) Features: Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 2MB (AP_3v3) Crystal frequency: 40MHz USB mode: USB-Serial/JTAG MAC: 10:bd:a3:5a:68:70 Stub flasher running. Configuring flash size... Read 16777216 bytes from 0x00000000 in 112.3 seconds (1194.8 kbit/s) to 'heltec-v43-original.bin'. Hard resetting via RTS pin... (meshtastic-env) (base) chris@worker:~ [0]$ esptool --port /dev/ttyACM0 read-flash 0x000000 0x1000000 heltec-v43-original-2.bin esptool v5.4.0 Connected to ESP32-S3 on /dev/ttyACM0: Chip type: ESP32-S3 (QFN56) (revision v0.2) Features: Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 2MB (AP_3v3) Crystal frequency: 40MHz USB mode: USB-Serial/JTAG MAC: 10:bd:a3:5a:68:70 Stub flasher running. Configuring flash size... Read 16777216 bytes from 0x00000000 in 112.9 seconds (1188.3 kbit/s) to 'heltec-v43-original-2.bin'. Hard resetting via RTS pin... (meshtastic-env) (base) chris@worker:~ [0]$ sha256sum heltec-v43-original.bin heltec-v43-original-2.bin 1dd5f293ea3e04aad4564d4e28e9443b5725cf63cb886c046ee6801898b7a23c heltec-v43-original.bin 1dd5f293ea3e04aad4564d4e28e9443b5725cf63cb886c046ee6801898b7a23c heltec-v43-original-2.bin
Heltec TestFirmware
Hier die Analyse des 16-MB-Originaldump tatsächlich analysiert.
Er sieht plausibel und vollständig aus.
Ergebnis
Die Datei hat exakt 16.777.216 Byte = 16 MiB. SHA-256:
1dd5f293ea3e04aad4564d4e28e9443b5725cf63cb886c046ee6801898b7a23c
Besonders interessant: Auf deinem Board befindet sich tatsächlich eine Heltec-Werks-/Testfirmware, nicht Meshtastic. Im Binärfile finden sich u. a.:
heltec_test
HELTEC_WIFI_LORA_32_V4
WIFI Setup done
LORA MODE
LoRa Rssi:
gps_test:
ADC test OK
IO Output test...
Außerdem ist der Build-Pfad enthalten:
WiFi_Kit_series-2026020501
Das deutet auf eine Heltec-Arduino/Board-Support-Version bzw. einen Buildstand vom 05.02.2026 hin.
Partitionierung
Ich habe die Partitionstabelle direkt bei 0x8000 ausgelesen:
| Partition | Start | Größe | Bedeutung |
|---|---|---|---|
nvs
|
0x009000
|
20 KiB | Einstellungen/NVS |
otadata
|
0x00E000
|
8 KiB | OTA-Verwaltung |
app0
|
0x010000
|
1280 KiB | Firmware |
app1
|
0x150000
|
1280 KiB | zweite OTA-Firmware |
spiffs
|
0x290000
|
1408 KiB | SPIFFS-Dateisystem |
coredump
|
0x3F0000
|
64 KiB | Crash-Dumps |
Die eigentliche Werksfirmware beginnt also bei:
0x010000
und dein Dump enthält außerdem Bootloader, Partitionstabelle, NVS usw.
Interessant ist auch die eingebettete Arduino-Konfiguration:
heltec_wifi_lora_32_V4
CPUFreq=240
FlashMode=qio
FlashSize=16M
PartitionScheme=default
LORA_FEM_TYPE=1
LORA_RX_LNA=0
CDCOnBoot=cdc
Das bestätigt insbesondere nochmals 16 MB QIO-Flash und zeigt, dass die Firmware für die Heltec-WiFi-LoRa-32-V4-Plattform kompiliert wurde.
Für dein Meshtastic-Flashen
Du hast damit jetzt ein sehr gutes Factory-Backup. Ich würde diese Datei unbedingt unverändert archivieren:
HTIT-WB32LAF-V4.3-original.bin
Falls du später den jetzigen Zustand zurückhaben möchtest, kannst du grundsätzlich den kompletten Dump wieder schreiben:
esptool --port /dev/ttyACM0 write-flash 0x000000 HTIT-WB32LAF-V4.3-original.bin
Damit kannst du jetzt Meshtastic flashen, ohne die Heltec-Werksfirmware zu verlieren.
Ein wichtiger Punkt bezüglich der urspruenglichen Warnung des Meshtastic-Flashers: In deinem Dump finde ich klare Hinweise auf Heltec-Testsoftware, aber keine Hinweise darauf, dass bereits Meshtastic installiert ist. Es gibt daher auf diesem fabrikseitigen Zustand keine bestehende Meshtastic-Node-Identität, deren Meshtastic Private/Public Keys du erhalten müsstest. Nach der ersten Meshtastic-Installation wird eine neue Identität erzeugt.