Canada’s longest running radio program is wrong!

Rob Cruickshank noted the other day:

Naturally, I had to verify this. So I tuned to the WWV 10 MHz time signal on my amateur rig, tuned a portable radio to CBC Radio 1 FM, which broadcasts on 99.1 MHz in Toronto and recorded them together:

Noisy recording of two radios. The WWV 13:00:00 EDT tone is at roughly 9 seconds, and the NRC tone broadcast by CBC is at 19 seconds

Yup: Rob’s right – CBC is broadcasting the NRC 13:00:00 signal at 13:00:10, which for time nerds might as well be the change from Julian to the Gregorian calendar.

Waveform from Audacity showing a low tone at 9s recorded from WWV, and CBC's long beep coming at 19 seconds
Annotated waveform: the CBC long beep is ten seconds after the WWV tone

This recording was made directly from the airwaves. There should be effectively no difference between the signal broadcast times, but here we are with the “National Research Council official time signal” going out at a very wrong time indeed.

Update, October 2023: Well, CBC has noticed, and rather than trying to fix it, they’re going to end it: The end of the long dash: CBC stops broadcasting official time signal | CBC News

ESP8266 BASIC is seriously neat!

screenshot-from-2016-09-19-22-27-57That picture might not look much, but it’s doing something rather wonderful. It’s a tiny ESP8266 BASIC script running on a super-cheap ESP8266 wifi module. The code draws a clock that’s synced to an NTP server. ESP8266 BASIC graphic commands are built from SVG, so anything you can draw on the screen can also be saved as a vector graphic:

The runtime includes a simple textarea editor that saves code to the board’s flash:

screenshot-from-2016-09-19-22-28-53(and yes, that first line is all you need to set up NTP sync)

Among other features, ESP8266 BASIC has a simple but useful variable display:

screenshot-from-2016-09-19-22-30-17I’d picked up a (possible knock-off of a) WeMos D1 ESP8266 board in Arduino form factor a few months ago. The Arduino.cc Software now supports ESP8266 directly, so it’s much easier to program. Flashing the BASIC code to the board was very simple, as I’d noticed that the Arduino IDE printed all of its commands to the console. All I needed to do was download an ESP8266 BASIC Binary, and then run a modified Arduino upload line from the terminal:

~/.arduino15/packages/esp8266/tools/esptool/0.4.9/esptool -vv -cd nodemcu -cb 921600 -cp /dev/ttyUSB2 -ca 0x00000 -cf ESP8266Basic.cpp.bin

ESP8266 BASIC starts in wireless access point mode, so you’ll have to connect to the network it provides initially. Under Settings you can enter your normal network details, and it will join your wifi network on next reboot. I just hope it doesn’t wander around my network looking for things to steal …

atomic clock error

We have a Sharper Image Atomic Big Digit Clock with In/Outdoor Temperature. It picked up the standard time to daylight savings time shift perfectly yesterday morning.

This morning, though, I seemed to be running 10 minutes late. The clock was saying 06:56, when I was convinced it earlier than that. I check my watch; 06:46. Cooker clock, thermostat timer, microwave, NTP-synch’ed Linux laptop; all 06:46.

On resetting the clock, and letting it faff about for a few minutes while it listened to the NIST radio signal from Boulder, it got the time right. I guess there must’ve been a duff signal came through in the night. That’s what you get for blindly trusting technology.