Time from the ESP8266…

May 14, 2015 | Amateur Radio, Arduino, ESP8266, WSPR | By: Mark VandeWettering

Yesterday, I mentioned the idea of using the cheap ESP8266 as a clock source for a WSPR beacon transmitter. My initial idea was to basically write code for the Arduino that connected to a remote NTP server, formulate UDP packages… sounds like a pain. But then I found that there was alternative software I could upload to the ESP8266 that would implement the NTP client on the ESP8266 module, and then simply fetch it with an “AT” style command.

So, I downloaded the firmware, and gave it a shot.

esptool.py write_flash 0x0000 eagle.app.v6.flash.bin 0x40000 eagle.app.v6.irom0text.bin

I rebooted, and then told it to connect to my local wifi network, and then told it to start the NTP client with the following commands…

AT+CWJAP="ssid","password"
OK

AT+CIPNTP=0

And it works! I can get this connected to the Arduino and write up a simple sketch, and it should be able to update the time really easily. This is cheaper and probably easier than using a GPS as a time source. Very cool.

Screen Shot 2015-05-14 at 9.23.10 PM

Comments

Comment from Simon
Time 5/22/2015 at 10:25 am

Looks like a nice little solution.

As it’s function (in your usage model) is to replace a GPS just for getting time, it would be ‘interesting’ if it had a mode to send it fixed lat/long/ele and then have it kick out fake GPP/etc messages – as it if were a GPS, but with real time info.

Would make it easier to integrate into other projects/systems.