Building IllyClock – Arduino-based alarm clock in a coffee can using arduino
Updated Aug 4, 2011
A streamlined version is now described here.
Beside the enclosure, the original feature of IllyClock is showing the time in colors: 3 hours before wake-up time, color changes from green to orange; 1 hour before wake-up, the time is shown in red. One can estimate how much sleep is left just by squinting at the clock.
Parts you will need:
– Illy coffee can (250g); chosen because it is easy to find, has a screw-in lid (for ease of access to internals) and it can nicely accommodate two medium size LED matrices on top of each other;
– Wiseduino kit (buy here): this is an Arduino clone with a real time clock chip (DS1307) and an EEPROM (24LC256) on board;
– dual bi-color LED matrix shield kit (buy here).
These are the five major steps in building this project:
1. assembling Wiseduino;
2. assembling the LED matrix shield;
3. programming Wiseduino with the provided software (open source, downloadable);
4. preparing the coffee can as an enclosure (cutting the display opening in the coffee can, drilling the lid for the rotary encoder);
5. install the electronics.
Step 1: Assembling Wiseduino
Wiseduino can be purchased as kit here. The kit contains the following components:
– PCB (in black);
– ATmega328P micro controller with the Arduino bootloader;
– 28-pin socket for ATmega328P;
– resonator 16MHz;
– DS1307 real time clock chip;
– 24LC256 EEPROM chip;
– crystal 32768Hz;
– CR1220 coin battery;
– coin battery holder;
– 2N2222 transistor;
– 10K resistor (4 pieces);
– 100nF capacitor (4 pieces);
– 40-pin female header;
– 10-pin female header;
– 6-pin male angled header;
– SPDT micro switch;
– 2-pin JST angled power connector;
– power cables: one with 9V battery snap connector, the other with 2-pin JST jack.
To assemble Wiseduino follow these sub-steps.
a. Start with soldering the IC sockets. Make sure their notches match those on the silkscreen, so the correct orientation of the chips will be easy to identify later, when the chips are inserted.
b. Solder the battery holder. (photo 2)
c. Solder the power connector, then the 6-pin angled male header (used as FTDI connector).
d. Place the micro switch on the pads and solder the middle terminal, so that the switch’s lever sticks 1mm out of the board. After the micro switch is positioned properly, solder the other 2 terminals. (photo 3)
e. Solder the 4 resistors, placed vertically. They all have the same value (10K), so there is no possibility for error.
f. Solder the 4 capacitors. As well, they all have the same value (100nF).
g. Next solder the 16MHz resonator. Its orientation is not important.
h. Insert the small cylindrical crystal (32768Hz, used by real time clock chip). Bend its terminals so that the crystal is parallel and close to the board, then solder it. (photo 4)
i. Break the 40-pin female header into four pieces: two 8-pin headers and two 6-pin headers. This should be done by removing one pin between each two pieces, then cut (more like crush) with a wire cutter along the empty space.
j. Position the headers into their right places along the sides of the board. Turn the board over and let it sit on the headers, making sure they are perpendicular to the board. Now solder all four headers. (photo 5)
k. Solder the transistor, placing it to match its shape on the silkscreen.
l. Insert the 3 chips into their respective sockets, paying attention to their orientation. Their notches must match those in the sockets (whose notches should match those on the silkscreen).
m. Insert the coin battery in its holder.
At this point Wiseduino is assembled and ready to be used/tested. It should look like in photo 1.
Step 2: Assembling the Dual bi-color LED matrix shield
The display itself is an Arduino shield, which can be also bought here as a kit.
This “Dual bi-color LED matrix shield” kit contains the following components (photo 8):
– 2 medium size (47mm x 47mm) red-green LED matrices;
– 4 shift registers (74HC595);
– transistor array ULN2803;
– 4 16-pin IC sockets for the shift registers;
– 32 resistors (100 ohm);
– 4 decoupling capacitors (100nF);
– 4 12-pin machined female headers (used as sockets for the LED matrices);
– 40-pin male header;
– rotary encoder with push button and knob.
Here are the mini-steps required to assemble the “Dual bi-color LED matrix shield”:
a. insert and solder the IC sockets, making sure their orientation is correct (their notches match those on the silkscreen) (photo 2);
b. cut four pieces out of the 40-pin male header: two 6-pin and two 8-pin; plug them into the Wiseduino extension headers, then insert the shield on top and solder these male headers to the shield (photo 3);
c. solder the four 12-pin female headers, making sure they are perpendicular to the board (photo 4); LED the matrices will be plugged into these later;
d. solder the 32 resistors (photo 5);
e. solder the 4 decoupling capacitors (photo 6);
f. insert and solder the transistor array chip (ULN2803); pay attention to its orientation, so that its notch matches the one on silkscreen;
g. insert the shift register chips (74HC595) into their sockets, again paying attention to their orientation (photo 7);
h. lastly, insert the LED matrices into their connectors; their pin numbers are hand-written on the back, so make sure these pin numbers match those on the silkscreen.
In the end, the assembled LED matrix shield should look similar to that in photo 1.
This Post / Project can also be found using search terms:
- arduino how to program a COFFEE alarm clock