← All work
Embedded / RF2026Phase 1 - breadboard MVP

Ranger - LoRa Mesh Communicator

A handheld radio that keeps voice, text and location working when the cell network doesn't.

Ranger is a low-power handheld communication device built on LoRa and the ESP32. It operates independently of cellular towers, SIM cards, subscriptions and government-controlled infrastructure - the idea being that a node in each home forms an instant community mesh the moment normal service fails.

It targets five specific gaps: cellular single points of failure in disasters, deliberate network shutdowns, mandatory subscription cost, unencrypted analog radio, and the lack of location awareness in existing handhelds.

Highlights

The audio pipeline

An INMP441 I2S microphone captures audio in 20 ms frames. Codec2 encodes each frame at 3200 bps in about 5 ms. Eight frames are buffered into a single 64-byte LoRa payload before transmission - batching amortises the radio's per-packet overhead against latency.

That 250 ms figure is the honest cost of squeezing intelligible voice through a narrowband long-range radio; it's a deliberate trade of latency for range and power.

Why the dual-core split matters

I2S DMA transfers are unforgiving - miss the timing and you get audible glitches. Pinning those to Core 0 under FreeRTOS keeps them isolated from the CPU-heavy Codec2 compression and the LoRa driver, which live on Core 1. It's the embedded version of separating a real-time thread from best-effort work.

Roadmap

Phase 1 is the breadboard MVP: basic voice and text exchange. Phase 2 moves to a custom PCB, adds GPS integration, LoRaWAN relay support and keypad text entry - targeting a genuinely pocketable device.

Stack

Compute

  • ESP32 (dual-core)
  • FreeRTOS

Radio

  • SX1276 @ 433 MHz
  • SX1281 @ 2.4 GHz fallback

Audio

  • INMP441 I2S mic
  • Codec2 @ 3200 bps

Support

  • SSD1306 OLED
  • TP4056 + LiPo
  • AES-128 HW