Meshtastic Heltec HTIT-WB32LAF V4.3

Aus TippvomTibb
Zur Navigation springen Zur Suche springen

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

  • RP-SMA Female auf IPEX 1.0 [2]
  • Wendelantenne (LoRa Antenna) 863-928 MHz IPEX 1.0 [3]

Inbetriebnahme


(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

Ich habe deinen **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:

```text
1dd5f293ea3e04aad4564d4e28e9443b5725cf63cb886c046ee6801898b7a23c
```

Besonders interessant: Auf deinem Board befindet sich tatsächlich eine **Heltec-Werks-/Testfirmware**, nicht Meshtastic. Im Binärfile finden sich u. a.:

```text
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:

```text
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:

```text
0x010000
```

und dein Dump enthält außerdem Bootloader, Partitionstabelle, NVS usw.

Interessant ist auch die eingebettete Arduino-Konfiguration:

```text
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:

```bash
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 ursprünglichen 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.

Wenn du möchtest, können wir jetzt den **Meshtastic-Web-Flasher für genau deinen V4.3 ESP32-S3R2** durchgehen – insbesondere welche der angebotenen Optionen **Heltec V4, V4-R8, Erase Flash usw.** du auswählen solltest.