Heltec V3 und V4 mit MeshCore: WLAN, Bluetooth, Sendeleistung, Stromsparen, OTA

Die beiden Heltec-Boards sind die meistverkauften MeshCore-Geräte in Deutschland. Hier steht, was sie können, wo sie sich unterscheiden und welche Einstellungen du kennen musst.

Die Grundeinrichtung, also Flashen und erste Verbindung mit der App, steht in der Anleitung Heltec V3 einrichten. Hier geht es um das, was danach kommt: die Unterschiede zwischen den Boards, die richtigen Einstellungen und die typischen Fallen.

V3 oder V4: Was sich wirklich unterscheidet

Beide Boards haben einen ESP32 und einen SX1262-Funkchip. Der V4 hat zusätzlich einen Leistungsverstärker (PA) hinter dem Funkchip. Das ist der ganze Unterschied auf der Sendeseite, und er hat einen Preis auf der Empfangsseite.

Heltec V3Heltec V4
Sendeleistung maximal22 dBm, ca. 158 mWca. 28 dBm, ca. 630 mW (mit PA)
Noise Floor typisch-114 dBm, stabil-100 bis -107 dBm
Leerlaufstromhoch (ESP32)bis 80 mA
Strom beim Sendenunter 1 Aüber 1 A
FrequenzstabilitätTCXOTCXO
Empfang bei Störernrobustempfindlich, Vorverstärker läuft zu

Der V4 wird also überall gehört, hört selbst aber schlechter. In der Praxis zeigt sich das als asymmetrischer Link: der Repeater bekommt dich mit gutem Pegel rein, deine Antwort kommt nicht an. Wer nur mehr Sendeleistung will, kauft am falschen Ende. Standort und Antenne bringen mehr, siehe 868-MHz-Antenne.

Der Heltec V2 ist keine Alternative. Er hat keinen TCXO, liegt rund 31 kHz neben der Frequenz und ist auf dem schmalen EU/UK-Narrow-Preset mit 62,5 kHz Bandbreite unbrauchbar.

V4.1, V4.2 und V4.3

Der V4 kam in mehreren Hardware-Revisionen, und die Revision steht nicht immer im Shop. Die Versionen 4.1 und 4.2 gelten in der Community als taub: Noise Floor deutlich schlechter als beim V3, einzelne Exemplare mit -74 bis -82 dBm sind praktisch defekt. Die Revision 4.3 hat etwa 6 dB besseren Empfang als 4.2 und ist die einzige, die du heute noch kaufen solltest.

Der Haken: Mit der offiziellen Firmware 1.14.1 sendete der V4.3 gar nicht (GitHub Issue #1857). Zwischenzeitlich halfen die dt267-Firmware oder die Builds von mcimages.weebl.me im Branch dev_plus.

Die 868-MHz-Variante des V4 ist die High-Power-Ausführung. Die 433-MHz-Variante ist anders bestückt und nur Low Power. Für MeshCore in Deutschland brauchst du 868 MHz.

Sendeleistung: tx-Werte und was sie in Milliwatt bedeuten

Erlaubt sind 500 mW ERP, also 27 dBm, bei 10 % Duty Cycle im rollierenden 60-Minuten-Fenster. Beim V3 ist das kein Thema: set tx 22 ergibt 22 dBm, mehr geht nicht.

Beim V4 zählt der PA mit, und der tx-Wert in der App ist nicht der Wert am Antennenanschluss. Gemessene Werte:

EinstellungAusgangsleistung V4Bewertung
tx 16ca. 467 mWsicher unter 500 mW
tx 17ca. 520 mWknapp an der Grenze
tx 22ca. 28 dBm, ca. 630 mWüber dem Limit

Der Konsens in der Community ist tx 16 bis 17. Die Werte streuen pro Exemplar, wer es genau wissen will, misst. Und der Antennengewinn zählt in die ERP-Rechnung hinein: Mit einer 5-dBi-Antenne musst du entsprechend weiter runter.

Mehr Sendeleistung bringt außerdem nur, was die Gegenseite auch zurücksenden kann. Ein V4 mit 500 mW neben einem T1000-E mit 22 dBm hört den Tracker nicht besser, nur weil er lauter ruft.

Empfang: rxgain und fem auf Firmware 1.17.1

Seit 1.17.1 ist der Empfangsverstärker standardmäßig eingeschaltet. Auf V3 und V4 verstärkt er hauptsächlich Rauschen: Der Noise Floor springt von -110 bis -115 dBm auf -84 dBm. Abhilfe per CLI:

set radio.fem.rxgain off
set radio.rxgain off

Danach sollte der Noise Floor wieder bei -110 dBm oder besser liegen. Prüfen kannst du das in der App unter den Radio-Statistiken oder per get in der Konsole. Ein weiterer Bug in 1.17.x: region load per CLI friert den Repeater ein. Regionen setzt du auf dieser Version über das App-Menü.

Als Faustregel für alle Boards: Noise Floor bis -110 dBm ist gut, -120 dBm sehr gut. Alles über -100 dBm deutet auf Störer oder ein defektes Board.

Bluetooth, USB oder WLAN: Firmware-Varianten und Pairing

Für V3 und V4 gibt es die Companion-Firmware je Verbindungstyp getrennt: eine BLE-Variante, eine USB-Variante und eine WLAN-Variante. Es läuft immer nur eine. Der häufigste Support-Fall überhaupt ist ein Board, das läuft, aber in der App nicht auftaucht: Dann ist die USB-Variante drauf. Die BLE-Variante flashen, die alte Kopplung in den Bluetooth-Einstellungen des Handys löschen, neu koppeln. Auf der USB-Variante zeigt die App am PC “connected”, Bluetooth bleibt dabei stumm.

Ein paar Dinge, die beim Pairing helfen:

  • PIN. Bei Boards ohne Display ist die Standard-PIN 123456.
  • iPhone erkennt das Board nicht. iPhone neu starten, dann koppeln. Bei manchen AliExpress-Nachbauten des V3 klappt es trotzdem nicht.
  • Bluetooth-Reichweite. V3-Revisionen 3.0 und 3.1 kommen kaum über 5 m, ab 3.2 ist es besser. Für Boards im Kunststoffgehäuse gibt es externe Bluetooth-Antennen.
  • Verbindung bricht ab, sobald die App zu ist. Automatischen Reconnect in den App-Einstellungen aktivieren. Bei USB-Companions unter Android das Energiesparprofil für die App abschalten.

WLAN gibt es nicht als fertiges Image von MeshCore. Du kompilierst selbst mit SSID und Passwort in der platformio.ini oder nutzt den Patcher von Oliver unter weyhmueller.org/webtools/esp32_ssid_patcher.html beziehungsweise weyes.de/mcstuff. Reihenfolge: erst Standard-Firmware mit Erase flashen, dann den WLAN-Patch, manchmal zweimal. Der erste Start dauert bis zu drei Minuten. Bekommt das Board nur die IP 0.0.0.0, hilft Erase plus Neustart. Ein WLAN-Companion braucht ein Netzteil mit mindestens 10 W, sonst bricht die Verbindung ab.

Ein Repeater braucht weder Bluetooth noch WLAN. Er wird über LoRa per Remote Admin aus der Companion-App verwaltet, auch über mehrere Hops.

Stromsparen und warum V3/V4 nicht auf Solar gehören

Der ESP32 ist das Problem, nicht MeshCore. Ein nRF52-Board wie T114, RAK4631 oder Xiao nRF52840 braucht im Leerlauf 9 bis 13 mA und 1 bis 2 Wh pro Tag. Der ESP32 braucht das Zehnfache.

Board und FirmwareLeerlaufLaufzeit mit 3000 mAh
Heltec V4, Standard-Firmwarebis 80 mA8 bis 20 h
Heltec V3, Standard-Firmwarehochunter 1 Tag
Heltec V3, PowerSaving1619,6 mA2 bis 3 Tage
nRF52-Board9 bis 13 mAmehrere Tage

Was du tun kannst, wenn es ein Heltec sein muss:

  • PowerSaving-Firmware. Die IoTThinks-Builds PowerSaving15/16 wurden upstream übernommen und bringen den V3 auf 2 bis 3 Tage. Für V3 und V4 gibt es außerdem die Low-Power-Firmware dt267.
  • Akku am Battery-Port, nicht per USB. Am USB-C mag der ESP32 keine Spannungsschwankungen. Ein USB-Solarpanel direkt am Board liefert 0 bis 7 V und produziert Reboots in der Dämmerung. Der Solar-Eingang des V4 verträgt maximal 5,5 V und hat keine echte Ladesteuerung. Also: MPPT-Laderegler wie der CN3791 dazwischen, Akku an den Battery-Port.
  • Netzteil und Kabel. 5 V bei 1 A reichen für den V4 beim Senden nicht, nimm 2,4 A oder mehr. Dünne USB-Kabel erzeugen Spannungsabfall und eine falsche Akkuanzeige.
  • Tiefentladung. V3 und V4 ziehen ungeschützte 18650-Zellen in wenigen Tagen kaputt, und bei Tiefentladung kann die Konfiguration korrumpieren. Geschützte Zellen verwenden oder beim Selbstkompilieren AUTO_SHUTDOWN_MILLIVOLTS=3300 setzen.

Wenn du einen V4 trotzdem an Solar hängst: 10 W Panel plus 4x 18650 sind das Minimum, besser 35 W. Damit sind 3 bis 5 Tage Autonomie drin, mit PowerSaving-Firmware über 10 Tage. Ein Winter-Repeater soll aber 30 Tage ohne Sonne durchhalten. Das schafft mit vertretbarem Aufwand nur ein nRF52-Board, siehe Repeater aufbauen und die Geräteübersicht.

OTA-Updates

Auf dem ESP32 läuft OTA über WLAN. In der Konsole start ota eingeben, das Board öffnet einen eigenen Access Point, du verbindest dich und lädst die Firmware unter 192.168.4.1 hoch. Das funktioniert auch beim Repeater ohne WLAN-Firmware. Hängt der Upload, ist meist der Browser schuld: Firefox oder Edge probieren, nah ans Board gehen. Hängt das Update bei 100 %, hilft nur Reset und ein Flash per USB.

Beim Flashen per Kabel gilt: Chrome oder Chromium, USB-A-zu-C-Kabel statt C-zu-C, Boot- oder PRG-Taste beim Anstecken halten. Unter Linux gehört dein User in die Gruppe dialout. Für die Wahl der Datei:

  • UF2 oder normales Image überschreibt nur die App-Partition, Kontakte und Konfiguration bleiben.
  • Merged löscht auch das Dateisystem. Nötig bei Bootloops und beim Wechsel der Firmware-Familie, danach musst du neu konfigurieren.

Vor jedem Update den Private Key sichern: get prv.key per USB oder Export in der App. Beim V3 gab es nach 1.17.1 in seltenen Fällen Bootloops, dann merged flashen und Konfiguration neu setzen.

Gehäuse und Antennenanschluss

Die Antennenbuchse ist die Schwachstelle beider Boards. Die uFL/IPEX-Buchse reißt nach wenigen Steckzyklen ab, und die SMA-Buchse bricht beim Einbau ins Gehäuse leicht. Stecke die uFL-Verbindung so selten wie möglich und führe ein kurzes Pigtail auf eine SMA- oder N-Buchse in der Gehäusewand. Für Repeater ist N die bessere Wahl.

Prüfe außerdem, ob dein Board SMA oder RP-SMA hat. Beide passen mechanisch zusammen, aber bei der falschen Kombination ist der Innenleiter nicht verbunden.

Beim Outdoor-Einsatz wird das Gehäuse in der Sonne 10 bis 30 °C wärmer als die Luft. Schwarze 3D-Drucke verformen sich über 60 °C. Ein Ablaufloch von 1,5 bis 4 mm unten oder eine M12-Druckausgleichsmembran hält Kondensat fern. Fertige Gehäuse mit durchgeführtem USB-C für den V3 sind selten, die meisten drucken selbst.

Wer eine Echtzeituhr nachrüsten will: DS3231 per I2C, beim V3 an SDA GPIO17 und SCL GPIO18 an den kleinen Lötpunkten unter dem FCC-Schriftzug, beim V4 an den normalen Anschlüssen. Die Uhr wird automatisch erkannt.

Störer in der Nähe: SAW-Filter

Ohne Störumfeld brauchst du keinen Filter. Steht aber ein Mobilfunkmast unter 250 m entfernt, hängt eine 2-m-Yagi mit 100 W daneben oder ein Balkonkraftwerk speist HF ins Haus, läuft die AGC zu und der Repeater wird taub. Der V4 mit seinem Vorverstärker reagiert darauf besonders empfindlich.

Ein SAW-Filter senkt in solchen Fällen den Noise Floor von -80 bis -95 dBm auf -103 bis -120 dBm, schwache 0-Hop-Signale kommen 5 bis 10 dB stärker an. An Mastenstandorten sind bis 14 dB gemessen worden. Dazu set agc.reset.interval 4, damit die AGC sich nach einem Störimpuls erholt.

Welcher Filter zu welchem Board passt:

BoardFilterGrund
Heltec V3schmaler 2-MHz-Filter22 dBm liegen innerhalb der Belastbarkeit, beste Selektivität
Heltec V4500-mW-Filter (28 dBm)der schmale Filter verträgt nur bis etwa 22 dBm

Der schmale Filter hat rund 2,2 dB Einfügedämpfung, die High-Power-Variante 1,3 dB. Billige Filter von AliExpress dämpfen 2,5 bis 3,7 dB und vertragen maximal 100 mW, bei Amazon gab es Filter mit 868-MHz-Aufkleber auf einem 944-bis-947-MHz-Board. Einbau, Messung und Bezug stehen in der Anleitung SAW-Filter.

Fragen?

Unklar, welche Revision dein V4 ist, oder der Noise Floor sieht komisch aus? Frag in der Telegram-Gruppe: t.me/meshcorede.