My Garage under attack from  LEDs.


PHASE II  Electronics.

    Many circuits are available to drive a LED clock.  I have here 3 or 4 varieties of ICs dedicated to just such a task.  Using one of them would have made the project progress quickly, but would have resulted in little learning.  I decided to build a circuit and program a PIC Microcontroller to keep the time and drive the LEDs.

Sidetracking a bit:  PICs & Me, A Brief History:

    In early 2000 I decided to dig into PIC Microcontrollers.  I had read numerous articles about them, and saw that they could do in a chip what often took many chips or was even impossible to do without microcontroller intelligence.  I ordered a tube of 16F84-10 chips from Digikey.  The programmer for these chips is $200.00 which was about $180.00 more than I had left to spend at the moment, so while the chips were on their way here I set out to build a programmer for them.  I looked over a huge number of websites, and found a programmer I liked.

    The programmer and software I settled on is called FlashPIC.  The programmer circuit is straightforward to build, and connects to the printer port of my PC.  The author is a friendly bloke from New Zealand, and even kept his sense of humor when I kicked him around a bit by email!  The software is shareware and the downloaded version is fully operational.  Registering it was $39.00, a bargain compared to buying a $200.00 programmer, so I sent him the money.  Registering removed a 30-second opening nag, and gives Bryan the ability to continue developing wonderful software.  I see he has now reduced the price a bit, removing any excuse for not registering it.

   I had a nice aluminum case here that I'd picked up at a Hamfest, it originally housed a 1970s vintage digital Volt meter.  A new faceplate cut from a chunk of glass-epoxy circuit board, replace it's "guts", add a couple ZIF sockets, and it formed a wonderful PIC programmer.

   A little hunting around the Net gave me oodles of PIC source code examples.  With a bit of soldering and a bit of learning I soon had all sorts of interesting PIC gadgets.



   I decided to use a PIC 16F877 chip to control the clock.  It has more I/O pins than the 16F84, has a built-in serial port, and more RAM.

   The next decision I faced was how to make the clock keep time accurately.  A clock of that size for public viewing obviously needs to always be correct. 


0)    That dumb idea about having 1 fixed time . . .  "Twice a day" is NOT the same as "always.

1)    Create a software loop that takes 1 second to execute, adjust the clock as often as needed for drift.

2)    Power line frequency is a handy source of 60 Hz, but power here is not particularly reliable. 

3)    WWVB broadcasts the time at 60 KHz, but it is prone to interference.

4)    A crystal oscillator at 10 MHz could be zero beat to WWV yielding a local clock frequency that was close to perfect.

5)    GPS always supplies the exact time to the nearest couple of milliseconds.



I decided to spend a few dollars on the project and go with GPS.