book collections email follower instructable user
Picture of RaspiWWV - Simulated WWV Shortwave Audio Time Broadcast

Remember the days when you would sit listening to WWV time signals on your Shortwave radio (tick, tick, tick… At the tone, the time will be…)?

(Hear it on YouTube above)

Oh! You missed out on that? Now you can (re-)experience those moments and have your own WWV clock, no Shortwave Radio and no Internet connection required. Isn’t that what you always wanted?

Actually, this is a project to help show you how to connect a tiny OLED screen, a Real Time Clock (RTC) and an Audio Amplifier all to a single Raspberry Pi Zero! All with the bonus of being able to listen to WWV time “signals” anytime you wish.

Unlike the real WWV, the audio time signals as well as the admittedly tiny clock display will be only accurate to about one second of drift per day using the typical low-cost RTC module. You can improve this by using a higher quality (more expensive) RTC, or by just leaving the Raspberry Pi connected to the Internet, but this would never replace the atomic clocks of the real WWV. (See precision time keeping with Raspberry Pi articles, such as https://www.satsignal.eu/ntp/Raspberry-Pi-NTP.htm... )


Otherwise, for most uses, the accuracy is probably sufficient. Most uses? Well, besides falling to sleep to the droning sound of WWV, I used the shortwave radio version to timestamp astronomical observations; using a tape recorder (remember those?), I would record meteor observations, lunar occultations* or other events I saw, with WWV time signals in the background. “Mark!” The recording could then be transcribed with the sightings and timestamps in the comfort of home.

For those with such nostalgia, be sure to dig up an old transistor radio (and remember those?) to use as a case for your project. Note that the case will need to be large enough to install a battery, if you want portability!


The “WWV” software, written in Python, displays the time and plays the appropriate audio. The Raspberry Pi clock and RTC will resync to Network Time Protocol (NTP) servers whenever it connects to the Internet. (Anytime it is within range of your WiFi, if you are using a Raspberry Zero W.)

Step 1: Hardware Parts

• Raspberry Pi Zero W

• MakerFocus 0.91 Inch I2C SSD1306 OLED Display Module
Amazon http://a.co/d/ioakKen (or other SSD1306 128x32 OLED display)

• Real Time Clock (RTC) module PCF8523 https://www.adafruit.com/?q=PCF8523

• I2S 3W Class D Amplifier Breakout - MAX98357A https://www.adafruit.com/product/3006

• Small Speaker (I salvaged a 2” speaker from old PC speakers)

• Breadboard, Pi Breakout cable/connector to breadboard, wire

• Optional: 5v 1amp battery (used to charge a cellphone)
Such as Anker PowerCore 5000 Portable Charger https://www.adafruit.com/?q=PCF8523
Alternately, you can use a LiPo battery + 5v converter/charger https://www.adafruit.com/?q=PCF8523 https://www.adafruit.com/product/2465 Or 5V 2amp power supply for home use.

• CR1220 battery for RTC

• Case – old transistor radio