In the evolving world of decentralized communication, mesh networks are gaining serious traction, especially in DIY electronics and emergency communication setups. One exciting and budget-friendly project that stands out is a compact and functional MeshCore pager, powered by the ESP32-C3 and a handful of commonly available modules.
This project brings together low-cost hardware and clever firmware to create a fully operational two-way messaging device that operates over a localized mesh network using ESP-NOW—an efficient, low-power, and connectionless communication protocol from Espressif.
The MeshCore pager is a compact, handheld device designed to communicate over a mesh network. It acts as a minimal yet functional node within the MeshCore ecosystem, using ESP-NOW to send and receive messages. While primarily designed for experimentation and hobbyist learning, it provides a great foundation for anyone curious about wireless communication, mesh networks, or embedded systems.
This DIY pager integrates a small OLED display, a simple keyboard, real-time clock (RTC), and an ESP32-C3 microcontroller, offering basic UI navigation and network profile configuration, similar to other Ultra firmware-based devices like the T-Deck or T-Pager.
Project Hardware Overview
The pager uses readily accessible components, amounting to roughly $30 USD in total—making it an extremely affordable entry point into the world of ESP-based mesh communication.
Here’s what goes into the build:
-
ESP32-C3 (Tenstar board) – The brain of the device, equipped with WiFi and BLE, ideal for ESP-NOW communications.
-
LilyGo T-Watch Keyboard Module – Used as the user input interface.
-
1.54" OLED Display – A crisp screen to display messages, menus, and network information.
-
DS3231 RTC Module – Helps maintain accurate timekeeping even when disconnected from external sync.
-
Mini GPS Module (optional) – Can be wired in for geolocation or time sync functionality.
-
Momentary Button – Acts as a screen wake button.
-
Optional Buzzer – Provides audio feedback for alerts or messages.
All I2C components (OLED, keyboard, and RTC) are daisy-chained together on the same power/data bus, which simplifies wiring.
Communication Through ESP-NOW
Instead of using LoRa or traditional WiFi for communication, the pager utilizes ESP-NOW, Espressif’s lightweight wireless protocol that doesn’t require active network connections. This allows it to connect to other ESP-NOW-based MeshCore nodes like repeaters or other pagers.
If you want to extend the mesh range or bridge into a LoRa-based MeshCore environment, the pager can interface with a MeshCore ESP-NOW Bridge node. This effectively links two distinct communication mediums for wider reach.
Interface and Initial Setup
When first powered on, the device shows a splash screen and prompts the user to create a network profile. For this special edition firmware, only ESP-NOW is supported, and setting up is as simple as entering a profile name (e.g., "ESPNOW").
Once in the home menu, users can:
-
Navigate the UI using the keyboard
-
Set a display name, which also auto-generates a public key
-
Sync the real-time clock, either manually or using GPS if connected
-
Discover nearby nodes and add them as contacts
-
Engage in basic two-way communication within the mesh
The pager maintains a clean, minimal user experience, with intuitive navigation and real-time updates. It works well in environments where low-bandwidth, resilient communication is key.
Hardware Assembly Notes
The device’s design is minimal, but a few clever hardware hacks help everything fit together neatly:
-
The OLED display is mounted on the keyboard’s plastic hinge using plastic spacers.
-
The ESP32-C3 board is attached with double-sided tape to the backplate.
-
Four wires connect the display and keyboard to the ESP32 for power and I2C communication.
-
A momentary button is connected to GPIO1 and GND for waking the screen.
-
The antenna setup can be improved by bridging a solder pad near the u.fl connector and using an external antenna for better signal reliability.
Power, Firmware, and Flashing
The ESP32-C3 requires a simple firmware flash process:
-
Hold BOOT and RST buttons simultaneously and release to enter DFU mode.
-
Use a flashing tool like
esptool.py
or PlatformIO to flash the.bin
firmware file. -
After rebooting, the splash screen should appear.
Although the firmware is still undergoing some final touches, it supports the MeshCore ESP-NOW protocol and is compatible with the UI experience from other Ultra series firmwares.
Optional Add-ons
-
GPS Integration: Connect 4 wires from the GPS module to the ESP32-C3 (TX/RX for UART, 3.3V, and GND). This provides automatic time syncing and location services.
-
Piezo Buzzer: Connect to Pin 2 for audible message alerts.
-
Custom Housing: A 3D-printed case or clip-on housing can keep the button, GPS, and battery neatly arranged.
This MeshCore pager may be simple, but it’s a powerful demonstration of what’s possible with a few dollars' worth of hardware and some open-source firmware. Ideal for hobbyists, educators, or anyone curious about wireless communication, it shows how mesh networking can be both fun and functional.
Whether you’re looking to explore off-grid communication or build a secure, local chat system, this pager is an exciting and practical project to try. With a bit of DIY spirit and some soldering, you’ll have a fully working ESP-NOW messaging device ready to mesh with others.
Source: Original Project on Hackster.io