Irregular screen size detected, Content may not be displayed correctly.
Brolocator LoRA Messenger device
Back to projects
Personal Project

LoRA Messenger

I started this project with the goal of learning how to use the ESP32 microcontroller. With help from YouTube and ChatGPT, I created "Brolocator", a device that lets you send messages over long distances without internet. It can also perform crude full-duplex 2-way voice transmissions within range of ESP-NOW.

Built with
PhotoshopVS CodeOnshapeKiCADESP32PlatformIO

Demo Video

Functionality

  • Use LoRA for long distance messaging
  • 2-way voice communication when in range of ESP-NOW
  • Powered off rechargeable LiPo batteries
  • 2 displays
  • A mode for range testing
  • Decent and simple to use UI

The two radios trade off against each other: LoRa reaches kilometres but only carries text a packet at a time, while ESP-NOW is a short hop that is fast enough for live voice. Try the link below to feel the difference.

You
PICK A MESSAGE“On my way, give me 10”
Friend
STANDING BY···
Pick a message
LoRa
RangeKilometresopen ground, line of sight
CarriesOne slow packet at a time

Long, lazy radio waves trade reach for bandwidth, so messages travel far but arrive a character at a time.

ESP-NOW
Range~150 metresthrough a wall or two
CarriesLive, two-way audio

A short, direct hop between the two ESP32 radios keeps latency low enough for real conversation.

Brolocator device front viewBrolocator device side viewBrolocator display close-upBrolocator UI screenshotBrolocator messaging interfaceBrolocator range test mode

Project Development

Brolocator is my first deep dive into microcontrollers, and also my first attempt at designing a PCB. I used PlatformIO to code the ESP32, and with some help from YouTube and ChatGPT, I was able to learn how to use each component to build the Brolocator.

Development of the Brolocator
Development of the Brolocator

Code

Based on my research, PlatformIO was the best choice for developing code for the ESP32. You can download the PlatformIO project files below.

PlatformIO code screenshot
PlatformIO Project FilesDownload the full PlatformIO project for the Brolocator ESP32 firmware.
Download Project
Brolocator on GitHubThe full source for the Brolocator firmware, hosted alongside the PlatformIO project.
View GitHub Repo

PCB Design

I used KiCAD to design a PCB for all the components. You can download the KiCAD files below.

KiCAD schematic for Brolocator PCB
Schematic
KiCAD PCB board layout
Board
Finished Brolocator PCB
KiCAD PCB FilesDownload the full KiCAD project for the Brolocator PCB design.
Download KiCAD Files

3D Design

I used Onshape to design a case for the board. You can get the files and view a live preview of the model below.

3D model of the Brolocator case
3D model of the Brolocator case
Design iterations for the Brolocator case
Design iterations
Design failures and lessons learned
Learning from design failures
Onshape 3D ModelView the live interactive 3D model of the Brolocator case on Onshape.
View on Onshape

Assembly

Assembly of all components together.

All components soldered to the PCB and working
All components soldered to the PCB and working
Fitting PCB into the case
Fitting PCB into case
Completed Brolocator device
Complete
Check out the next articleAll projects
More to explore

Other projects

PersonalFlagshipProject June rover

Project June

A 5G radio-controlled vehicle with 3 live video streams, GPS, a laser system, gyroscope and more. My most ambitious build.

ESP32KiCADOnshapePlatformIO
PersonalFlagshipBeadReader private book reader

BeadReader

A private, invite-only online book reader with live presence, per-reader resume, a SQL-enforced content gate, webtoons and shared reading stats. Next.js and Supabase.

Next.jsSupabaseTailwind CSSCloudflare R2
SchoolHighlightLUMEN voice assistant

LUMEN

A voice-controlled smart-room assistant on an ESP32, with Whisper and a DeepSeek LLM via OpenRouter turning speech into one JSON command over MQTT.

ESP32PythonDockerVS Code