Introduction: ClamClock - a Binary Timekeeper
ClamClock is a binary timekeeper specifically designed for learning about soldering, electronics, and binary. It is a DIY kit for beginners learning about electronics or enthusiasts who are looking for an interesting clock. ClamClock is designed in America and made from high quality components giving you the best bang for your buck. For more information about ClamClock you can visit our website at:
From there you’ll be able to learn more about the project, check out our Facebook page, and look at our August Kickstarter campaign.
This Instructables walks you through the basics of assembling the ClamClock from one of our kits.
Step 1: Component List and Required Tools
You'll need the following tools to assemble a ClamClock kit:
- Soldering iron
- Wire Snips
Also ensure that you have all of the components listed in the picture above -- without all of the components you won't be able to complete your clock!
Step 2: Assembling ClamClock
Assembling ClamClock is a great exercise in learning how to solder. With over 200 solder joints the ClamClock PCB is a perfect board to improve your soldering skills! Try and follow the directions below and reference the images above -- we know these directions aren't optimal, but we think they'll help you get the job done.
- Solder all of the ICs onto the PCB. Be extremely careful to put these in the correct direction (pin 1 of the IC by the silkscreened 1 on the board). As viewed from the top with the dimple of the ic facing up, pin 1 is the upper left pin.IC Once you've soldered in an IC in the wrong direction it is almost impossible to remove.
- Mount and solder all of the 220 Ohm resistors. To do this, insert about half of the resistors, bend the leads, and solder them in. Snip all of the excess metal off. Then repeat with the rest of the resistors.
- Mount and solder all of the 10K Ohm resistors similar to the 220 ohm ones.
- Mount and solder all of the 5mm LEDs. Do this similar to the resistors (bending the leads, soldering, and then snipping). We again recommend doing half of the LEDs at a time. Make sure that the short lead is in the square throughhole, which causes the flat edge of the LED to follow the flat edge of the silk screen.
- Mount and solder the 3mm LED -- make sure the short lead goes through the square pad.
- Mount and solder the pushbuttons -- they only press into the notches, don't try to get them too close to the PCB (it's hard, believe us!)
- Solder in the 32 kHz Crystal (there is no polarity -- it doesn't matter which direction its soldered in)
- Flip the board over and add the coin cell battery-clip. To sold on the battery clip, glob the solder onto the small rectangular pads. Now hover the battery-clip over the globs and solder the clips onto the board.
- Insert and solder the 6-pin header so the pins stick out the back of the PCB. It is important that the pins stick out the back because that is the only direction the board can be programmed from.
- Finally solder in the buzzer so it sticks out the back. The short leg is the negative (minus) lead on the buzzer.
After you finish soldering the board make sure that no pads are touching -- use a multimeter conductivity test to ensure that the 5v is not connected to GND. Once you've ensured that the board is clear you can move onto the next step.
Step 3: Programming ClamClock
The ATtiny88 included in a ClamClock kit is the brains of the clock. It is a small and powerful microcontroller similar to the ones found on Arduino UNOs. If you purchased a Limbeck Engineering LLC kit you should already have a preprogrammed ATtiny88 that is also burned with the Arduino boatloader. Before continuing with this section we recommend plugging in your ClamClock and making sure everything works. It should display a time and begin counting up in the "Seconds" column. If not double check that the coin cell is inserted, unplug the clock, and try again. Make sure the software is working correctly by setting both the time and the alarm on the clock following the steps below:
How to use
ClamClock is an alarm clock and, like any other alarm clock, you can set both the time and the alarm.
To set the alarm:
Hold down the rightmost push-button for 1 second (until the yellow Alarm LED starts blinking) then release to enter alarm-set mode. Set the alarm by using the left most push button to set the hours, and so on to the right for minutes and seconds. Once the desired time has been entered, press the rightmost (Alarm) push-button to return to regular time telling mode - notice that the yellow Alarm LED is now on, this means the alarm is set. To cancel setting the alarm, hold down the alarm button for longer than a second.
To set the time:
Hold down the rightmost push-button for 3 second (until the second's column of LEDs fully illuminates) then release to enter time-set mode. Now, the leftmost button will toggle through the hours and the middle-left button will toggle through minutes. The middle-right button will reset the seconds to zero and exit time set mode. This means that you should set the clock to be a minute ahead of the clock that it is being set against; then, when the other clock rolls over, press the middle-right button set the clock to your minute and hour settings and zero out the seconds.
To toggle the alarm on/off:
Press the alarm button (rightmost) once for less than 1 second to switch the alarm between on and off. When the alarm is on the yellow alarm LED will be lit.
To switch to 12hr time:
Hold down the rightmost push-button for 5 seconds (until all the LEDs light up fully) then release to enter 12hr time. 12hr time reads very similarly to 24hr time on the ClamClock. The only change is that the hour column of LEDs now rolls over after 12 hours and the topmost LED in the hour column is off for AM and on for PM.
***Now that you your clock works you can either continue reading to learn how to program the ClamClock on your own or skip to the next step.
To better understand the code running on the ClamClock you should clone our repository from github (http://github.com/limbeckengineering/clamclock).
If you want to be able to program ClamClock on your own you’ll need an ISP programmer. To do this you can either use a spare Arduino to create your very own ISP or purchase an ISP programmer for your laptop computer.
The programming pins on ClamClock are the normal setup for a 6-pin ISP. The header on ClamClock is designed to be programmed from the back of the block with the 6-cable ribbon cable facing down. Check out the pin-header image for the exact pinout and names of the pins used to program ClamClock.
After getting an ISP programmer you’ll need to change the hardware folder in /Documents/Arduino. To do this, add the contents of our hardware folder (from our github page) to your own hardware folder. Restart Arduino and then look under the “Tools” menu (image included). Fill out the options like this image in order to be able to program the ClamClock with the AVR ISP MKII.
Once configuring the hardware library correctly drag and drop the contents of the libraries folder on our Github page to your own /Arduino/libraries folder.
Drag this file into your local Arduino/ folder. Make sure that your “Tools” menu is the same as the picture above and that the Arduino is both plugged into the AVR coprogrammer rrectly and plugged into a 5v power supply (it won’t program at all otherwise!). Upload your code, test, and iterate.
Step 4: ClamClock Cases
A large part of the ClamClock project are the themed cases that go along with the electronic clock. We've created 4 original cases for ClamClock as well as a small portable stand for the ClamClock PCB. We are sharing these files with you hoping you come up with your own fun case designs!
**Note: These case designs are still in the prototype phase and are subject to change as ClamClock develops
All of the designs linked below can be used with a combination of a laser cutter, 3D printer, and bolts. For those that are interested in going further by making modifications to their case we recommend printing it using ABS plastic and then finishing it with acetone and spray paint. This method gives the case a shiny and smooth finish. Check out this Hack-a-Day article describing finishing ABS with acetone vapor:
The current versions of the cases (designed for 3D printer and laser cutting) are A360 files and can be found at the following links:
- Clam Case: A360 link
- Industrial Case: A360 Link
- Wall Case: A360 Link
- Wooden Case: A360 Link
- Stand: A360 Link
We encourage everybody to take our designs and modify them for your own use!
Step 5: Additional Resources
For more information about binary you can watch and read up one some resources we've compiled that help explain binary numbers:
Also you can read up the on data sheets for the components we used:
If you have any questions regarding ClamClock you can reach us at: firstname.lastname@example.org