Jump to content

Built a clock using a 7-segment display from Adafruit and a Makerfocus ESP8266 from Amazon


G+_William Burlingame
 Share

Recommended Posts

Built a clock using a 7-segment display from Adafruit and a Makerfocus ESP8266 from Amazon. It reads the time from NIST every 30 seconds and accounts for DST. I currently have the login to my WiFI hardcoded, but there are ways to enter the SSID and password from a browser or cell phone. I haven't got that to work yet. The case is 3D printed. I know a person who has a 3D printer at work and they had an intern work on that. They needed a project for an intern that wasn't mission critical. I bought the power supply on the Tindie site. It's 12 volt in and has regulated 5 volt and 3 volt out. The code is from various Arduino IDE example sketches kludged together.

PICT0447.jpgPICT0446.jpg
Link to comment
Share on other sites

Jeff Gros I got tired of commercial clocks drifting. I have one with a NIST radio, but I have to take it outside to sync. I seldom do that and it's not reliable. This one is always accurate, I would have to add a speaker and some buttons for an alarm, but Google Home covers that issue. I added some tint film so that the unlit segments don't show so much. They are not as visible to the naked eye as the camera depicts.

Link to comment
Share on other sites

I did something similar using a 8x32 dot matrix for display - see thingiverse.com - ESP8266 Wemos Clock News Weather Scrolling Marquee by Qrome

 

Note: I think you are stuck with hard-coding your SSID/password, but there are ways to program a list of credentials for several WiFi networks if you carry this around. Otherwise you'll need to add a BT shield (and code) to talk to it from a cell phone.

Link to comment
Share on other sites

Bob Shields I have that same display available and I just started to see if I could get an ESP8266 clock code to work with it. No luck so far. I've been looking at the Parola examples, but I haven't figured out how they work yet. Have you looked at WiFi Manager to avoid hard-coding WiFi log in? Thanks for the link to your site. I'll check it out.

Link to comment
Share on other sites

Bob Shields Got it working a couple a days ago. Thanks again for your link. For those who want to display alphanumeric data, the dot matrix is more versatile and less expensive than the i2c 7 segment display. My family members think the 7 segment display is easier to read at a distance. So now I have both.

Link to comment
Share on other sites

Nice! I need to make one of them with my son. I've purchased 3 solder-yourself clock kits from Amazon, and none of them will keep time worth a snot. I've tried replacing the crystals with better quality ones, but they still loose minutes per day. I figured I'd just design one myself but haven't gotten around to it yet.

Link to comment
Share on other sites

Chris O'Riley Crystals are rated with error in ppm (parts per million). With most crystals that you would practically use being 32768 Hz, 1 MHz or some sort of higher multiple, that's a lot of oscillations per second. The error can add up fast. That's why my kit (which I meant to add an RTC to, and never did) and all of your kits, eventually drifted. You either need a temperature compensated RTC, or some sort of external reference to sync to, like in William Burlingame's superior solution.

Link to comment
Share on other sites

Calculating timing error vs. crystal accuracy is fairly easy. Using very rounded numbers:

 

There are ~ 1/2 million minutes in a year (60 * 24 * 365)

 

Therefore:

2 ppm accuracy ~ 1 minute/year error (1/2 * 2)

 

A common crystal spec:

100 ppm ~ 50 minutes/year ~ 1 minute/week

 

A common high accuracy crystal:

20 ppm ~ 10 minutes/year ~ 1 minute/month

 

The accuracy of the crystal over temperature adds to the error values. With some crystals and temperature ranges it will double the error. So the calculated accuracies only apply at 20-30°C.

Link to comment
Share on other sites

Chris O'Riley There are many ESP8266 coding examples available online. Also, check examples using NTP for syncing with the time transmissions. I don't have much original code. I just had to merge

NTP/ESP8266 sample code with the display sample code to make mine work I also built one using a dot matrix display, but the family thinks the 7 segment display is easier to read. It's the 1.2" version. The dot matrix is less expensive.

Link to comment
Share on other sites

 Share

×
×
  • Create New...