MeshTRX

Articles

How MeshTRX works inside, why it was built this way, and what it cost.

•6 min read

The button that pretended to work

Three complaints in a row, and not one of them a radio bug. A look at the errors that live at the seam between firmware and interface: a command that never went on the air, an icon that read backwards, and a false alarm caused by the test itself.

Read →
•9 min read

Encryption in 39 bytes

At the time of writing MeshTRX traffic was unencrypted (encryption arrived in 4.4.19). Here is why "just turn on AES" does not work in a 39-byte packet, what an authentication tag costs in milliseconds of air time, and what a shared channel key actually buys you.

Read →
•8 min read

A repeater doubles your range and divides the air

How forwarding works in a LoRa network: TTL, memory of forwarded packets, and the channel arithmetic showing why three repeaters cannot carry voice. Plus the story of a counter that swallowed every second phrase.

Read →
•6 min read

One chip pin and fifty-eight decibels

A look at the bugs that surfaced only once the radios reached real people: an amplifier bypassed entirely, WiFi jamming reception, "not delivered" marks on messages that arrived. And why a two-board bench cannot catch everything.

Read →
•6 min read

A crowded band: interference, channels, and moving a whole group at once

In a city the 868 MHz band is shared with door phones, meters and alarms. How the radio learned to find a quiet channel, why everyone has to move at once, and the mistakes we made getting there.

Read →
•5 min read

Five kilometres on paper, two in the field

First range measurements on live radios: solid voice up to two kilometres, text further out. Why voice gives up before text does, what a repeater changes, and why comparing this to sensor networks is unfair.

Read →
•8 min read

How voice fits into LoRa

LoRa was designed for humidity sensors, not conversations. Here is what it took to fit speech into that channel: Codec2 at 3200 bps, a 39-byte packet, a ten-second limit — and what we gave up for it.

Read →