Many people have a Heltec WiFi LoRa 32 board sitting in a drawer after trying Meshtastic: text works, but you can't talk through it. The MeshTRX firmware turns that board into a voice radio. A phone connects to the board over Bluetooth, and the board sends voice and text over the air to another board of the same kind. No internet, cell network or towers are involved.
MeshTRX is an independent project, not affiliated with Meshtastic. The boards are the same but the protocol is different: a MeshTRX radio does not see Meshtastic nodes, and Meshtastic nodes do not hear MeshTRX.
What you need
- two Heltec WiFi LoRa 32 boards — V3, V4 or V4.3. The differences are covered in the article on choosing a board;
- an antenna for the board's band, usually 868 MHz. The short antenna from the box is fine to start;
- a USB-C cable that carries data, not just charging;
- for each radio, an Android 8+ phone, an iPhone, or a Windows, macOS or Linux computer;
- optionally, a 3.7 V Li-Po battery with a JST 1.25 mm plug and a case. Cases made for Meshtastic fit.
Screw the antenna on before powering the board. Transmitting without an antenna damages the radio's output stage, and the board stops hearing.
Flashing from the browser
- Open the flasher in Chrome or Edge on a computer. Firefox and Safari cannot talk to a USB port from a web page.
- Plug in the board and pick its revision. It is printed on the back of the board near the GPS connector, something like "HTIT-WB32LAF V4.3". Firmware for another revision will start, but the amplifier will be driven by the wrong pin, and the board will hear worse or not transmit at all.
- If the board ran Meshtastic or MeshCore, tick "Erase the whole board". Leftovers of the old firmware break Bluetooth: the phone connects and immediately drops.
- Press "Flash" and wait. The board's screen shows a name like MeshTRX-7E88 and a four-digit PIN.
If the browser does not see the board, put it into download mode: hold PRG, press and release RST, then release PRG. This matters most for V4, whose USB is built into the processor: a hung program may not answer the computer.
Connecting the phone
Install MeshTRX: for Android from the downloads page, for iPhone following the guide, for a computer the desktop app for your system. In the app tap "Connect", pick your board and enter the PIN from its screen. The PIN is asked once; after that the phone connects on its own.
Repeat with the second board and the second phone. The status line will say "1 station heard" — the radios see each other.
First conversation
Hold "Talk" and speak, release and the other side hears you. The phone compresses the voice with the Codec2 codec to 3200 bit/s, and one transmission lasts up to 10 seconds. Speech is clear but not phone quality: that is the price of a narrow radio channel.
Besides voice, the app sends text up to 84 characters and photos up to 100 KB, and shows other stations on a map. You can call everyone or one person. The air can be encrypted: set the same passphrase on every radio in the group and compare the four-character fingerprint.
If something does not work
- The phone connects and drops right away — reflash with full erase, remove the board in the phone's Bluetooth settings and connect from the app.
- The radios do not hear each other — check they are on the same channel and either share a passphrase or both have none.
- The board does not turn on — press PRG briefly: holding it for three seconds puts the board to sleep, and it waits for a press.
Questions and test results are welcome in the group t.me/MeshTRX_en.