I recently put this little pager together while wondering what a super minimal MeshCore pager could be. The parts for a basic setup come in at a very frugal $30 USD!
Note that this uses the built-in WiFi radio, using ESP-NOW as the transport mode for MeshCore. These can happily mesh with other ESP-NOW MeshCore nodes (like repeaters or room servers, or other pagers), or can be combined with a MeshCore ESP-NOW Bridge node, so you can chat with the wider LoRa mesh!
WiringThe wiring required is very simple. Thankfully, most of the components are I2C devices (display, keyboard, and RTC module) so, they are just wired in a chain, as they're all on the same power/data bus.
So, first thing is to solder four wires between the OLED display and the keyboard controller board (solder to the larger pin holes, the smaller ones are for reflashing the firmware of the keyboard MCU). Just match GND <-> GND, 3.3V <-> 3.3V, SDA <-> SDA, SCL <-> SCL. (black, red, yellow, white - in photos).
Then solder four more wires either from four the OLED pins, or the four keyboard controller pins, and leave them unattached at other ends for now. (these will go to the ESP32).
Then attach the OLED display to the plastic keyboard mount plate, ie. the part that is on the hinge. Luckily the mount holes line up perfectly, so I just use 4x plastic spacers.
Stick the ESP32-C3 with double-sided tape onto the back of the mount plate (see pic), then trim the four unattached wires to length and solder as pictured:
You also need to wire a simple momentary button to GND and GPIO 1 (green wire above). This is for screen on/off.
AntennaThe Tenstar ESP32-C3 has a u.fl antenna connector, but it's a bit of a fiddle to actually use it. The unit comes with a tiny SMD antenna soldered to the board edge, but these are less than ideal. It's optional, but if you want to use external 2.4GHz antenna you have to desolder the antenna, then put a blob of solder to bridge the contact nearer to u.fl, and bridge to a very tiny contact that is right near the u.fl connector. Hopefully the picture shows this bridging/blob ok.
Flashing the FirmwareI'll upload the firmware very soon (just making some minor touch ups). But, just refer to this guide for flashing ESP32.bin files. For this little ESP32-C3 board, you have to hold down the two buttons near the USB-C connector (BOOT+RST) and release to put it into DFU mode, before uploading the firmware.
Initial SetupThe 'Powered by Ripple' splash screen should show on boot, then the basic UI navigation help screens below:
You will initially be prompted to create the network profile, like with the T-Deck firmware. For this special ESP-NOW edition, it only supports MeshCore over ESP-NOW. So, the only thing you need to enter is a name for the profile (defaults to 'ESPNOW').
From the home screen, navigate into the network profile menu (the top item should be selected, then select with ENTER). You should see these menu items:
The main thing to do is set your display name. Nav into the Identity menu, then enter a name, then press ENTER. A new public key will automatically be generated for this profile.
It's probably advisable to reboot the device at this stage, and also to get the clock properly set.
Once past these, you will see the Clock Sync screen:
Without a GPS wired up, unfortunately you have to initially set the device's clock manually, by entering the epoch seconds. See this site to get that value.
Discover ContactsThe rest of the UI is the same as with the other Ultra firmwares (T-Deck, T-Pager, T-Display Pro, etc). Typically, you will go into the Discover screen to discover other devices, then select and use the Add to Home menu in the node details screen. Then, when you have contacts on your home screen, you can just nav into the different conversation screens.
Connecting a GPSI haven't actually done this myself yet (at time of writing), but it should just involve connecting 4 wires from the GPS to the ESP32-C3: GND -> GND, 3.3V -> 3.3V, TX (on GPS) -> Pin 21, RX (on GPS) -> Pin 20.
Other BitsI'm also yet to actually wire this up, but you can wire a simple passive piezo buzzer to GND and Pin 2, to hear beeps for message alerts.
Wrapping UpI'm just putting this out there as something fun to try. It's really up to you on how to customise this little fun gadget. You could 3D print stuff to make a housing for a 1S lithium battery, or just to make the back tidier. Or, a neater way to mount the Wake Button (I still have it just dangling out the side :-) ) Or, if you have added a GPS, some way to make that neater.
It's just such a tidy little unit that actually works, and you can merrily chat away with folks on the mesh. Probably a handy little thing to just have at home, and be a tiny little messaging centre.
Comments