Eric N.'s ESP32 LoRa Trackers Offer a Browser-Based Mapping Interface Compatible with Raspberry Pi

Sending and receiving location data over LoRa using a pair of LILYGO T-Beams, this project comes with an attractive user interface.

Semi-pseudonymous maker and YouTuber Eric N., also known as "That Project," has put together an asset tracking system driven by Espressif ESP32 microcontrollers and communicating over LoRa — complete with a Raspberry Pi Zero 2 W-powered map display system.

"This takes GPS information via LoRa and displays it on a map," N. says of the project. "I'm using the [LILYGO TTGO] T-Beam SX1262 [ESP32 LoRa dev board] model. I chose this one because it includes a shield for the 18650 battery. You don't have to have the same product as me. You can test it with MCU, LoRa, and the GPS module you currently have. The source code for ESP32 is quite simple."

That simple code has one key job: To receive GPS location information, encode it in JSON format, and transfer it across the LoRa radio to a remote receiving unit. That receiver, in turn, passes the JSON data across to a Flutter app running on a Raspberry Pi Zero W 2 — which is given the job of positioning it on a graphical map displayed in the user's browser.

This LoRa tracking system displays the transmitter's location on a Flutter-based web app. (📹: That Project)

As a Flutter app, though, the mapping system is cross-platform: In a video overview of the project, N. connects the T-Beam receiving unit to an Apple MacBook Pro and runs the same mapping app — with considerably better performance than it manages on the Raspberry Pi Zero W 2, thanks primarily to the latter's sorely-limited 512MB of RAM.

"The only web browser that can run this app is the Chromium browser [engine]," N. explains of the Flutter user interface, which makes heavy use of the Web Serial API to communicate with the receiver hardware. "Currently, it is only available in Google Chrome and Microsoft Edge."

The full video is available on N.'s YouTube channel, while source code for the transmitter and receiver has been published to GitHub under the permissive Apache License 2.0.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire:
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles