
▲ 5 r/esp32
new release of my open source ESP32 NTP Stratum 1 Time Server
Just sharing version 2 of my open source ESP32 NTP Stratum 1 Time Server.
Changes since version 1 (which was first released in early 2023):
- New microcontroller board — now built around the WaveShare ESP32-P4-ETH instead of the Olimex ESP32-PoE-ISO. The ESP32-P4 CPU is 1.7× to 2.5× faster than the ESP32-WROOM-32/32E used in v1.
- More accurate NTP responses — PPS (Pulse Per Second) pin support is now fully exploited to discipline the time reference, delivering sub-millisecond accuracy when using a PPS-capable GPS module.
- Over-the-Ethernet OTA updates — firmware can now be updated over the Ethernet connection directly from VS Code, with on-screen progress shown on the LCD.
- LCD is now optional — in v1 an LCD 2004 screen was required; in v2 it is entirely optional.
- Optional up time / reset button — carry-over from v1, still supported.
- Updated 3D printed case — the enclosure files have been updated for the new WaveShare ESP32-P4-ETH board.
- Built with ESP-IDF — rewritten from the ground up in C++ on ESP-IDF v5.5.3 using FreeRTOS tasks.
- NVS-backed GPS state — the GPS module identity and baud rate are persisted across reboots so following the initial setup startup speed is quick.
- Broader GNSS module support — still works great with the SparkFun MAX-M10S (recommended), but now also supports lower-cost, generic GNSS modules, even those (although not recommended) that do not expose a PPS pin.
Also, I've created a PCB for this project, which you can also find in the repo + the source code (written using VS Code with the ESP-IDF extension) + 3D print files for an enclosure.
If you would like more information, the entire solution is posted here: https://github.com/roblatour/ESP32TimeServer
Comments welcome.
(mods: I read the rules, this is my one product announcement post per quarter, I am not posting it elsewhere on Reddit only here - its an ESP32 project and is fully open source and hopefully of use or interest to those in this sub-reddit)
u/roscodawg — 17 hours ago