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 network 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.
Phase 2 is a working prototype on a custom PCB, with three units built. Outdoor range tests are still to come.
Highlights
- Custom PCB: ESP32-WROOM-32E, a Semtech SX1280 2.4 GHz LoRa module with PA and LNA, a 0.96" OLED, T9 keypad, rotary knob and a VOICE key.
- Rangers relay messages for each other: a packet that can't reach its target directly is passed on by another Ranger, a limited number of hops.
- AES-128-CCM on every packet with a team passphrase, so traffic is both private and tamper and replay protected.
- Live GPS and a digital compass give an arrow, distance and bearing to a teammate - and radio time-of-flight ranging measures distance even without a GPS fix.
- Up to three phones join each Ranger over its own Wi-Fi hotspot through a browser page: no app, no internet. A phone can lend its Ranger GPS and set its clock.
- Light-sleep low-power mode turns the screen off but keeps the radio listening; an incoming message wakes it instantly.
The radio
The SX1280 runs LoRa at 2.4 GHz, on a radio module with its own power amplifier and low-noise amplifier. Sixteen channels let separate teams share the air; everyone on a team picks the same one.
Rangers talk to each other directly, and each one relays packets it overhears for someone else. It is a relay network rather than unlimited-hop routing: every packet is passed on a bounded number of times, which keeps a busy channel from flooding.
Finding people without GPS
The SX1280 can timestamp an exchange of packets precisely enough to measure how long the signal took to travel. That time of flight becomes a distance, so the Track screen still has a number to show when a GPS fix is missing or slow.
Phones as guests
Turning on Phone WiFi makes the Ranger a hotspot that serves its own web page. Phones join it, enter a name and show up on every Ranger as Name@R1. They can chat, see who is around with distance and direction, share a location, send an SOS, or lend the Ranger their GPS - which that Ranger then uses for itself only. Phone-to-Ranger is Wi-Fi; Ranger-to-Ranger is always radio.
The handheld UI
Everything runs from a T9 keypad and one rotary knob: turn to move or change volume, press to select or send, hold for 1.5 s to sleep. Multi-tap typing, push-to-talk on the VOICE key, and a one-press SOS in the Broadcast menu.
From breadboard to PCB
Phase 1 was a breadboard MVP: an SX1276 at 433 MHz, an INMP441 I2S microphone and Codec2 compressing speech to 3200 bps, with a dual-core FreeRTOS split that pinned I2S DMA to one core and compression and radio control to the other.
Phase 2 moved everything onto a custom PCB, switched the radio to the SX1280 at 2.4 GHz, and added a digital compass, radio ranging, keypad text entry, relaying, the phone page and low-power sleep.
Stack
Compute
- ESP32-WROOM-32E
- FreeRTOS
Radio
- SX1280 2.4 GHz LoRa (PA/LNA module)
- Wi-Fi hotspot + HTTPS (phones)
Security
- AES-128-CCM
Support
- SSD1306 OLED
- T9 keypad + rotary knob
- GPS + digital compass
- LiPo + USB-C charging
Gallery