Build a DIY ESP32 MeshCore Pager for Fun, Secure Local Messaging

Build a DIY ESP32 MeshCore Pager for Fun, Secure Local Messaging

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:

  1. Hold BOOT and RST buttons simultaneously and release to enter DFU mode.

  2. Use a flashing tool like esptool.py or PlatformIO to flash the .bin firmware file.

  3. 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


ESP32 WiFi Security Audit Demo – Portable Ethical Hacking & Wireless Security Learning Tool

Analog Clock Using WS2812 and DCF77 Signal Decoder – No Hands, Just Light!