Redesigning a Classic

DIY Jameco Clock Kit

By Ryan Winters - Product Manager

Previously, we asked our readers their insights on to how to rebuild a Jameco classic that had become obsolete over time in the article Redesigning and Resurrecting the Classic Jameco Clock Kit. I was excited to revive this kit — it had been a Jameco favorite before some of its parts became antiquated, but I didn't realize the unexpected challenges that I would face in the meantime.

Here's a quick video of the build.

I had the clock kit running on a breadboard while I figured out what other parts were needed. As I was designing the PCB something strange started to happen. The clock had been keeping great time but somehow the time and date randomly changed to 15 years into the future. Surely I hadn't accidentally created a time machine... or had I? I looked out the window just to be sure that there weren't any flying cars.

I realized that I was bringing an obsolete clock into present time, but I hadn't planned on bringing it into future time. I cycled through the different modes and noticed that it was still keeping time, just not real time. I hit the reset button and like new, the clock restored itself to the correct time and date.

I was a little stumped because the clock had been programmed to display current hours, minutes and seconds and I had no idea how it progressed to future time. I figured it must have been a glitch and went on designing. Before I knew it, the clock and I were back to the future, future time at least. While I had left it alone, it had jumped forward in time once again.

This time I ran the serial monitor to print time as often as it possibly could. Each second was printed at least 30 times before incrementing. I let it auto scroll until the time hop happened again. It didn't take long to capture the quantum leap. After printing the correct time 20 times, hours, minutes and seconds began to advance.

I thought perhaps the real time clock chip was too sensitive, but after testing the circuit with the DS3231 and having the same time jump happen, I started to lose hope for the project. Thinking there were some electrical gremlins in my breadboard, or the mess of jumper wires was causing some kind of interference, I decided to press on and finish the PCB. After all, no good project should live on a breadboard forever.

I quickly assembled the PCB. Oops, no programming header. I had deliberately added prototyping space to allow the clock to be hackable, so I used a small space to add a header and capacitor for the FTDI/USB adapter. I uploaded the time and final clock sketch and it all lit up, except some of the digits were in the wrong place. I could easily fix the digits by rearranging the print order in the code, but it was really going to bug me if the digits didn't print zero to seven. I needed to add the programming header, so I had one last shot to do any revisions before the final PCB run.

When building your own 8-Digit LED Clock Kit, the majority of the components will be installed on one side and the 7-segment displays and LEDs will be installed on the other. The PCB has two distinct silkscreens, so it's easy to know which side to work on. Finish the component side before completing the display side.

Be sure to use the sockets if in case you need to replace any of the integrated circuits (ICs) in the future. Drill two 1/2" holes for the push buttons and a 5/16" hole for the power jack. Use hook-up wire to attach the power jack to the designated pads on the PCB.

Attach wires for the push button switches to the PCB, but make sure you have the switches installed in the case or feed the wire through the holes before you solder the connections.

Add the lithium coin battery and hook the kit up to your computer with your USB/FTDI adapter. Add the libraries from the "Additional Files" archive to your Arduino Libraries folder. Set the time by simply uploading the SetTime Sketch from the DS1307RTC example library, then upload the main Clock Sketch.

One of the buttons will change through the different modes programmed into the clock. The other button is only used during stopwatch mode. Disconnect the kit from your computer and use the provided power adapter to supply power. I've left the clock running for over a week, and it has kept perfect time with no random jumps. The backup battery keeps the time if power is lost. It's a huge relief to have gotten rid of the glitch, and this should provide encouragement to anyone who may have given up on a breadboard project because of similar issues. If you're confident in your design, take it to the finish line.

Try your hand at reviving this Jameco classic and let us know how it turned out. On the next update, I'll show you how to add a temperature sensor and how to update the code to display ambient temperature.

Have you resurrected a project with obsolete parts? Tell us how it went at [email protected].

Warning! Working with electronics can be dangerous. Always use caution and follow all safety procedures. If you are uncertain of the dangers involved with a particular project be sure to seek assistance. Failure to follow safety procedures may result in injury or death.

Ryan Winters is a Product Manager at Jameco Electronics and a Bay Area, California native. He is mostly self-taught and his hobbies include working on cars and computers, fiddling with electronic gadgets and experimenting with robotics.