Most wall clocks are old fashion until now. This is the coolest wall clock!

Status
Not open for further replies.

t3andy

Well-known member
A GPS wall clock with WS2812b/NeoPixels and Teensy-LC ARM stamp.

I've gutted an inexpensive 12 inch quartz wall clock enclosure. Then added the "new" Teensy-LC ARM stamp and GPS with antenna to my custom designed 5 inch circular WS2812b/NeoPixel clock board. Plugged in a wall wart power supply and waited for the US military satellite GPS system to provide the proper precision time to be displayed on bright, colorful and cool LEDs - WS2812b/NeoPixels.

back.JPGfront1-001.JPGfront2-001.JPG

An unique modern GPS wall clock with the following enhancements and features:

Extremely low cost and sensitive GPS module for accurate "indoor" time display.

Plug and play - no buttons/switches/jumpers to set or adjust for the time - ever!

Computer controlled bright, color WS2812b/NeoPixel LEDs hands/spokes displays the hours and minutes at great distances.

Time is automatically adjusted for daylight saving time and the fixed local time zone constant gives the local accurate time display.

No mechanical parts to wear out or no batteries to replace ever!

Clock hub center has a diffused NeoPixel status LED which indicates AM/PM or loss of GPS signal.

Teensy-LC ARM stamp microcontroller with a WS2812b/NeoPixel "special" buffer drive output on pin 17.

Displays colorful "light shows" between time interval updates and upon power on.

All wall clock modules can be easily replaced, for repair, if necessary.


Operation:

Simple ... read the green hour hand "first" and then the red minute hand "second" ALWAYS "after the hour".

The time, from above pictures, is 15 minutes after 11 with magenta center indicating AM.
 
Last edited:
continued ...

Design Q & A:

What is so special about your GPS wall clock?

Answer ... I wanted to make an unique, modern wall clock. There are no GPS wall clocks, that can be purchased, that has computer generated WS2812b/NeoPixel color clock hands.

Why didn't you show all the minutes on the wall clock?

Answer ... 60 mins. x 3 = 180 WS2812b/NeoPixels LEDs. --> 180 x 0.060 ma. = 10.8 amps! which is cost prohibitive and power wasting.

Why can't you read the clock before the hour?

Answer ... There is no "partial" hour indication. The hours change from one hour to the next with even hour increments.
Note: Reading the wall clock minutes wrong will cause you to be 1 hour late!

GPS modules are made for outside "line of sight" not indoor use?

Answer ... Correct, but newer "sensitive" GPS modules can work indoors. Since the Ublox NEO6MV2 has a fix LED on-board then
you could power and take the module through out your dwelling to check for good reception of the GPS signal. The LED flashes once a second on GPS lock. This way you will know if the GPS wall clock will receive the signal. Of course, you could buy a special active external antenna but the cost would be expensive.Worst case, on intermittent GPS reception you could add a precision low cost RTC as backup.
Please note: Older homes with plaster "chicken wire" will reduce the GPS signal to zero.

Why did you choose an all plastic/glass wall clock enclosure?

Answer ... Any metal near RF electronics disturbs GPS RF signal reception.

How do you account for DST - daylight saving time and time zones?

Answer ... The time zone is a fixed constant set in software and the DST is a software "rule based" algorithm which uses
the day of the week and date from the GPS. In the USA, DST starts on the second Sunday of March and ends on the first Sunday of November, at 2 AM both times.

Why didn't you just use the WS2812b LEDs on the main clock board instead of using 37 NeoPixels carrier PCB's.

Answer ... Testing and repair of the hand soldered WS2812b LED's were easier and the assembly cost is lower.
Note: There are close to 700 hand soldered points on the main clock board!
Note: The main clock board was designed with a special heavy 2 oz. copper with 60 mil width power and ground traces for the proper worst case amperage draw of ~ 2.5 amps.

Why did you use the Teensy-LC ARM stamp microcontroller?

Answer ... It's very low cost, Arduino software compatible and has a special hardware +5 volt / VIN WS2812b/NeoPixel driver output.
Note: The Teensy 3.1 also works.


Operation details ...

The green NeoPixel hand indicates hours and the red NeoPixel hand indicates "rounded minutes".
The wall clock color hands can be easily read at great distances by having both the hours and minutes tics at every 30 degrees.

There are no seconds and minutes are "rounded up" to the nearest 5 minute interval. You will "never" be late!

Hours are read 1-12. Minutes are read 0,5,10,15,20,25,30,35,40,45,50,55 "after the hour".
(zero is the top of the hour rollover)

Note: On the wall clock every 30 degrees the hours are indicated by numerals. The hours indication also have dual meaning ...
1 o'clock position = 5 minutes after, 2 o'clock position = 10 minutes after ...

Read the green hour hand first then second read the red minutes hand "ONLY" after the hour.
Example 7:50 is not 10 till seven but is read ONLY as 50 minutes after 7;
Note: Reading the wall clock minutes wrong will cause you to be 1 hour late!

When both alternate green hour LED hand and red LED minutes hands are at the "same position", the clock is read a such ... Example 7:35 35 minutes after 7. (hand color = Green/Red/Green)

Center status diffused LED shows AM/PM (AM = magenta and PM = white). Also, shows 30 second GPS loss of signal (blue).

:cool:
 
Last edited:
How do you display "12:00" (or "1:05", "2:10" and so on)? And what if one forget the meaning of red/green color code (hours/minutes)?

You better use a short (2 Led) line for the hour (being red) so it's more "universal" and easy to read . Beside, you could display "12:00" (2 red LEDs and 1 green LED on top). For further battery friendly operation, you could display minutes using one single green LED.
 
How do you display "12:00"

When both alternate green hour LED hand and red LED minutes hands are at the "same position", the clock is read a such ... Example 7:35 35 minutes after 7. (hand color = Green/Red/Green) ... with both hands on 12 ---> 12:00 reads green/red/green

For further battery friendly operation, you could display minutes using one single green LED.

This clock was not designed to save power due to the fact that all NeoPixels (white color) on = 2.5 amps! This clock was designed for the worst case and other uses below.

For amateur radio hobbyist, you can use this Teensy-LC driven "360 degree" NeoPixel main board as an alternative for a RF direction finder/snooper scope or display board. I am also using it in my "top secret" drone radar detection system.

And what if one forget the meaning of red/green color code

Its like tying your shoes ... some things you don't forget!

You better use a short (2 Led) line for the hour (being red) so it's more "universal" and easy to read

If my wife can read it easily then anyone can read it! The master program can easily be changed in software;)
 
Last edited:
For those who are entertaining the thought of ever constructing this 360 degree WS2812b/NeoPixel Teensy driven NeoPixel display, here are some pointers...

You will probably need above average soldering/de-soldering and electronic troubleshooting skills to finish this project. There are close to 700 hand soldered connections on this main display board! One mistake and nothing will work due to NeoPixel daisy chaining! Two full days of work will be required plus ~ $70 USD.
Your soldering equipment should be temperature controlled with a sharp solder point.

Keep in mind that using 2 oz. copper and you are "welding" instead of soldering due to track thickness and width!

Special wall clock parts:

1. All plastic 12 inch wall clock (Churchill collection - China) - Target, Walmart or any discount store. $10 USD
(Clock face shows only hours but not minutes tics!)
2. 6 pin PCB carrier boards for WS2812b/NeoPixel (50x50mm 4 pin). qty 37 + spares - vendor OSH Park.
3. 4 pin 50 mm x 50 mm chip SMT WS2812b for mounting on carrier boards. qty 37 + spares. Ebay.
4. 0.1 uf (104) 0805 SMT chip ceramic bypass capaciators 10v. qty 37 + spares. Digikey, Mouser or other vendors.
5. Custom made 5 inch circular PCB main clock board with "2 oz. copper" from OSH Park or SeeedStudio. (GPSWC 1.0b) Designed by me.
6. A quality 3 amp 5 VDC well regulated wall wart with 2.1 mm power connector and mating female 2.1 mm terminal block connector. (Amazon)
7. Low cost GPS module with 3.3 vdc serial TTL output and antenna. Ublox NEO6MV2 qty 1. (Ebay)
8. Teensy-LC MO+ ARM stamp. (PJRC.com) or Teensy 3.1 <-- you need to modify the main board!
9. Breakaway 0.10" sp. 0.025 sq. headers and mating pins for the Teensy-LC.
10. Ping pong ball, cut in half, for center diffused lens cover for the WS2812b/NeoPixel status LED.


I created the PCB main clock board file on OSH Park (shared projects) - the name is "GPSWC Rev 1.0b". Ask this vendor for, an exception, for a white soldermask and 2 oz. cooper. (required!).

I also created this same PCB at SeeedStudio. They provided me 2 oz. copper with a white soldermask.
This vendor is hard headed, lazy or greedy due to the fact that my PCB is round and they are charged me for a square PCB which is more sq. inches. They could not compute the difference between a square and round PCB?

At OSH Park, they carry the 6 pin dip WS2812b/NeoPixel carrier board. ("W2812b" by Serisman).
It has the bypass capacitor (SMT 0805) on the bottom for easy soldering and compact "clean" display design.
You will need to order 37 + spares of the 6 pin dip carrier boards and also 37 + spares 4 pin WS2812b/NeoPixels from ebay. Also, you needed 37 + spares of SMT 0805 ceramic bypass caps for the carrier dip boards.


Construction suggestions and tips ...

Get the 12 inch wall clock and gut the clock quartz drive electronics.

Obtain 37 + WS2812b 6 pin carrier boards from OSH Park.

First, install only the bypass caps (required!) on the WS2812b carrier boards bottom and measure for proper capacitance.

Then install SMT WS2812b chips on the carrier boards and test every WS2812b carrier PCB on a breadboard. This includes the DI and DO from the WS2812b/NeoPixel. You will pay a heavy price if you skip this testing!

Obtain my custom designed 5 inch main clock board from OSH Park or white 2 oz. PCB from SeeedStudio.

Start at one o'clock and install 3 carrier boards on the GPSWC main clock board and test using Adafruit NeoPixel software.
Note: With supply power-on only (no drive signal) all WS2812b/NeoPixel should/might/will turn to the color blue.

Continue on installing rows of carrier boards from 1 o'clock clockwise to 12 o'clock, with 22 guage solid bus wire, on the main clock PCB. (hemostats are very handy!)

Be sure to only test one clock hand or spoke at a time using the NeoPixel library from Adafruit for easy troubleshooting and repair.

Install 33 male pins on the Teensy-LC and install mating female headers on the main clock board on the back or bottom PCB.

Install GPS module with Tx going to RX pin 9 (Serial2) on the Teensy-LC.

Re-test all clock hands/spokes with the NeoPixel library.

Then, for fun, create your own custom clock software. It's very simple and most of the work is already done in the "time" library.
Enjoy ...

GPS wall clock WS2812b/Neopixel mapping "daisy chain" on the main clock PCB:
O'clock Mins NeoPixel#
1:00 5 0,1,2 <----- Teensy-LC special drive output DO pin 17 for #0 WS2812b/NeoPixel DI input (daisy-chained)
2:00 10 3,4,5
3:00 15 6,7,8
4:00 20 9,10,11
5:00 25 12,13,14
6:00 30 15,16,17
7:00 35 18,19,20
8:00 40 21,22,23
9:00 45 24,25,26
10:00 50 27,28,29
11:00 55 30,31,32
12:00 0 33,34,35
Center of clock #36 <------ AM/PM/GPS Status.

Wall clock Teensy-LC connections: (No schematic necessary)
GPS Tx - Teensy-LC pin 9 Rx2
GPS 3.3V/5V supply - Teensy-LC Vin or 3.3V reg. output.
GPS Gnd - Teensy-LC Gnd

+5V reg/ 3A supply - Teensy-LC Vin
Supply Gnd - Teensy-LC Gnd

NeoPixel clock input - Teensy-LC special pin 17 driver out for NeoPixels.

Power supply study:
All WS2812b/NeoPixels on (color white) 37 x 0.060 ma. = 2.22 amps. (Use a 3 amp power supply)
Note: 60 mil. pwr./ gnd. track width used on main clock PCB with 2 oz. copper. <---- required!


Application software compile stats: (Teensy-LC):
Compile RAM usage: ~4,600 K of 8,192 RAM
Compile Flash usage: ~24,872 K of 63,488 Flash

Arduino/Teensy libraries used for GPS wall clock / display:
#include <TinyGPS.h> (rev 13) // http://arduiniana.org/libraries/TinyGPS/
#include <Time.h> (v 1.3) // https://github.com/PaulStoffregen/Time
#include <Adafruit_NeoPixel.h> // Adafruit NeoPixel

Project things to do ...
Add strontium based phosphorescent paint to the clock face for hours lettering for "cool" night viewing.
Add light photoresistor for varying the WS2812b light intensity for different ambient light viewing.
Add a precision DS3231 RTC for GPS loss of signal backup. (not necessary for my dwelling/home)
Note: The Teensy's "software clock" library will depend on the microcontroller crystal for time keeping until a good GPS signal is acquired.
Add infrared remote control receiver for more special effects and date readout.

Major project design problems:

Software: Displaying NeoPixels on Teensy-LC kills/destroys/corrupts GPS parsing of data stream from GPS on serial1.
Solution- Switched GPS from serial1 to serial2

Link: https://forum.pjrc.com/threads/28084-Migrating-from-Teensy-3-1-to-Teensy-LC

Hardware: Noise on WS2812b/NeoPixel homemade clock board causes erratic brightness and flashing.
Solution- Re-designed a 5 inch clock display board and installed the new Teensy-LC with special NeoPixel driver/buffer on pin 17.
 
I am also using it in my "top secret" drone radar detection system.

Alternate use for the WS2812b/NeoPixel 360 degree GPS wall clock display ...

Using my circular NeoPixel LED display with the 40 m Lidar Lite mounted on a servo I was able to detect low flying drones in the area.
A 12 ga. shotgun should be able to take them down at 40 yards!
:cool:
 
Alternate use for the WS2812b/NeoPixel 360 degree GPS wall clock display ...

Using my circular NeoPixel LED display with the 40 m Lidar Lite mounted on a servo I was able to detect low flying drones in the area.
A 12 ga. shotgun should be able to take them down at 40 yards!
:cool:

haha, bird shot, buck shot or slugs?
 
Slugs are good for 100 yards and probably would do the most destruction. :cool:
There won't be that many "certified drones" flying for about 2 years until new laws are made by the government.
In the meantime, its open season on any drone passing over my airspace!
 
haha, bird shot, buck shot or slugs?

@duff

I am very surprised your statement coming from the only state in the union that takes the first day of deer hunting season off as a holiday. You forgot crossbows and bows and arrows! They will also take down a drone. ;)
 
Yes indeed, I will always be indebted to Pennsylvania for bountiful venison and a free holiday. Though i wonder if our hunters will start to use drones to help tag a buck? and for the curious "Buck Fever" really does exist.
 
The biggest drawback IMHO is that's not battery powered and needs a cord to an external power supply.
 
The biggest drawback IMHO is that's not battery powered

That's just like saying "that a halogen bulb can be battery powered" It can be but the batteries won't last long!

NeoPixels aka WS2812b are not known to conserve power but by reducing the color intensity from 255 down to 5 will allow the wall clock to be battery powered. Just get yourself a large battery! ;)
 
Last edited:
Update ...

Our GPS wall clocks have be running for months and the center "blue" status NeoPixel has never come on in either wall clock. This would indicate loss of GPS signal for more than 30 seconds.

Having a loss of GPS signal, the wall clock would fall back to the Teensy-LC software clock (time library) which is controlled by the micro controller crystal. Time errors of greater than 5 seconds per day would occur if the GPS source module were to not re-sync with the wall clock.

Keeping with the original design specs of no human intervention (no setup switches, jumpers or buttons), auto DST, no batteries, low cost reliable components, and no mechanical parts to wear out, we chose to link to the internet for precise alternative backup of the time/date.

The Particle I/O (Spark Core) low cost, Photon ARM with Wifi fits our design. We used the serial port from the Photon to send the internet time/date to the Teensy-LC for reliable backup.
Note: We chose not to use the ESP8266 due to firmware issues and ease of use!

Now we have 3 sources of time/date and two of which includes sources of precision time/date.
:cool:
 
Status
Not open for further replies.
Back
Top