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.