G'day!
Spotted Jeff Geerling's YouTube video on a Raspberry Pi Pico GPS clock during a casual scroll. Check his blog post and video for details.
Thought: "Why not turn it into a GPS-powered NTP server?". Pico 2W's WiFi + Waveshare's PPS = cheap network time server.
It's not production-grade—just works for fun.
Same as Jeff's setup, minus the 7-segment display:
PPS Hack: Solder a 0Ω resistor on pads marked R20 to expose PPS on GPIO 16. (Thanks, Jeff! See his GitHub.)
- Raspberry Pi Pico 2W
- Waveshare L76K GNSS module
- Antenna with sky view
- Computer with Thonny IDE
- MicroPython firmware on Pico: Follow Raspberry Pi's guide
- Flash MicroPython to Pico 2W.
- In Thonny, copy these files to Pico:
- micropyGPS.py (GPS driver)
- main.py (vibe-coded by Google Gemini 😉)
- Edit
main.py: Update WiFi SSID/password. - Run
main.pyin Thonny.
Pico connects to WiFi first, then hunts GPS fix. Console shows IP. Built-in LED blinks when serving NTP. Logs client IPs on requests.
Pro Tip: GPS needs clear sky—initial 3D fix takes time. WiFi punches through walls like a champ.
# macOS/Linux
sntp -s <pico-ip>
# Windows
w32tm /stripchart /computer:<pico-ip> /samples:5 /dataonly
