Instructables

Arduino Kitchen Timer

Picture of Arduino Kitchen Timer
This instructable will guide you through creating your own Arduino based Kitchen Timer. This is a quite simple project, requiring little or no programming or electronics knowledge, just the willingness to learn and fiddle - an ability most useful for modern man.

This kitchen timer is simple enough, press and hold a button and it will count up it multiples of five minutes, until you release the button. Upon doing so the timer will flash, and begin counting down. This timer includes an alarm and a display, with a piercing piezo buzzer to get your attention.

The arduino, laptop, protoshield, and USB Cable excluded; I took every electrical component from an old or broken device. Try to recycle things, its easy to get hold of broken electronics for free so make the most of it! See any jumpers on this design? No, paper clips are much better - cheap as chips and more sturdy too! :)

If you have any successes, or failures, modifications, or suggestions, please post them in the comments section below! I would love to see photos of your finished project!
 
Remove these adsRemove these ads by Signing Up

Step 1: Components

Picture of Components
For this instructable you will need:

An Arduino - I used the duemillanove, but you could always make one instead
Jumper Wires - I ran out of wire so used paperclips for this, but you could alway make your own
A momentary push button - I assume that you could use the one built into the protoshield!
A 10 Bar LED Bar Graph - you could just use 10 LED's for this, I found mine in a broken CD player
A Piezo-Electric Buzzer - I just desoldered this from an old Kitchen Timer with a broken chip in it, which was why I wanted to make myself an Arduino one in the first place!!
A resistor - to use any button with an Arduino a resistor is used; which gives a base voltage when the switch is open, and is bypassed when the switch is closed. I used a 10k resistor which I desoldered from a seed sowing machine.

Optional:

An Arduino Shield - I have used this, since I like experimenting with my Arduino so don't want to have to keep building my kitchen timer whenever I need to use it.
A shield mounted breadboard - this just makes the whole thing a little neater.
More Resistors - for your components so as not to blow pins on your Arduino. Although I know that this is a good idea, I don't own enough resistors and don't know how to use the pull-up ones within the Arduino, so I have done without them for the moment. This is something to bear in mind, it's not my fault if you write off your Arduino!
This is a very practical and fun ible to do! I've just done this and it works like a charm!
I have noticed a problem tho, when I reboot the arduino or (Kitchuino ;)) at least 4 of the bar graphs turn on any ideas?
anonymouse197 (author)  Dominion-Network3 years ago
Haha, thanks! :) maybe you should double check the wiring, or the script I posted to instructables may be a little corrupt so you might just want to proof read it. I have made another from this instructable and it works well, so I'm not too sure what may be going on. I did notice that when powered with a 9v battery the LED bar graph was too power hungry, and ended up leaving the arduino without power after more than 4 had been lit up, maybe this is your problem?
I hope you can get it to work, if not just give me another comment and I will see what I can manage, I may re-upload the code and try publishing it to my arduino again!! :)
I'm not using any other power other than the USB from my PC, but something weird is happening, when I had it all wired up (Followed the ible to the letter) and I turned it on, without touching anything the bar graph started turning on itself and sometimes it'd either turn all the lights on, or up to 5 lights then start counting down.
anonymouse197 (author)  Dominion-Network3 years ago
Hmm... that does sound pretty complicated. For the counting problem try and turn the switch around. The switch used uses four pins to make two connections, so turning the device by 90 degrees and replacing it in the breadboard may solve the problem. I'm afraid that I'm still not able to access my computer, so I won't be able to check the code until the weekend, when I will try to get back to you. i might have made a mistake in the code, but until I am on my own computer I won't be able to access it so if we have any Arduino coders here I would be glad for the help!
Sorry that I can't be more useful, I hope you can get it working!
anonymouse197 (author)  anonymouse1973 years ago
Ok, I have double checked the code on MediaFire and it is all fine, so that isn't your problem. Try the switch change that I suggested. Please could you send me [or post] an image of your setup so that I can help you troubleshoot? I am also going to post a video of the encoding and use of the Kitchen Timer in the next 30 mins if that is of any use. Thanks!!
A
kilofeenix1 year ago
Instead of the bar graph can you put on a 14 or 7 segment display? there was another instructable with a display but no buzzer and im picky and want both!

http://www.instructables.com/id/Arduino-7-segment-countdown-timer/#step1
anonymouse197 (author)  kilofeenix1 year ago
Sorry for the late reply. I have a 14 segment display so in the following weeks I will try and combine the two. :-)
rasyoung1 year ago
The various download links are broken, can you repost? esp. improved versions?
anonymouse197 (author)  rasyoung1 year ago
Yep, certainly, it would be a pleasure. I'm just sitting final exams at the moment, so I will start working on it again in 3 days and I should have it finished within five. In the meantime feel free to have a play with it before I get to look over it again, it would be a pleasure to include anything handy that you discover in the instructable!
mischka3 years ago
Nice arduino project. You should add a current limiting resistor between GND and the bar graph. See "Why do I need a resistor with an LED?"
anonymouse197 (author)  mischka3 years ago
Thanks!
I was aware of this, but I haven't got enough resistors and don't know how to use the pull-up ones built into the Arduino. I quote (myself):

"More Resistors - for your components so as not to blow pins on your Arduino. Although I know that this is a good idea, I don't own enough resistors and don't know how to use the pull-up ones within the Arduino, so I have done without them for the moment. This is something to bear in mind, it's not my fault if you write off your Arduino!"

I will learn how to use the pull-up ones, add it to my code, and recommend that people use them!
Thanks for the advice, and the link was very informative!!
Nice Instructable. Anyonw know if this would work on an Arduino with ATMega 8;
anonymouse197 (author)  Lord_Vek2 years ago
Thank You.

Thats not really my area I'm afraid, I assume that it would be similar with maybe a little changing of pins. It's quite a large sketch for the 8 (but definitely not enormous).

Give it a go, and tell me how it goes!
I have had a go at rewriting the code for the kitchen timer as it was very long. The code i have written does the same thing but is just a fraction of the size of the original. Hope you don't mind. Here is a link to it http://www.arduino-mega.com/2011/11/27/kitchen-timer-v2/
anonymouse197 (author)  arduino-mega2 years ago
Thank you very much, that is absolutely fantastic! I will add it to the instructable if you don't mind, it works like a dream!
No Problems at all. Thanks for looking at it.
pkasavan2 years ago
Hi anonymouse197,

Thanks for your instructable. Unfortunately, I can't seem to download the Arduino sketch. It says Kitchen_Timer.pde on here, but when I download it, it is converted to .tmp with a garbage filename. Do you know of a way to convert back to .pde or do you have an alternate way which I could download the sketch? Mediafire is saying that the file is no longer available.

Thanks!
anonymouse197 (author)  pkasavan2 years ago
Your welcome :)

I thought that Instructables did something strange to .pde files! To change the file type just right click the file (it should look something like A94NDIWJD12NVLQ.tmp) and select rename. Then remove the .tmp from the end and add .pde. If you do this in one move rather than pressing enter in between you will be able to change the file type. Then just double click the file, and it will open in the Arduino application. It may also say that it requires the sketch to be in its own folder, but this is fine.

I hope this helps,
anonymouse197
Thanks for your response!

I tried your method for changing the file type, and unfortunately it didn't work. That method has worked in other instances, though, so I never know when it will work and when it won't.

What I ended up doing was opening the .tmp file in Microsoft Word. The formatting looked a little strange, but when I copied it into the Arduino app, everything was in order.

The sketch seems to work pretty well! My only complaint is that sometimes a light other than the first one will light up when setting the timer, leaving the first few off. This restricts the full amount of time which can be set, because it will only add time until the last light is lit. A simple reset fixes this, though.

Thanks again!
anonymouse197 (author)  pkasavan2 years ago
Thanks for your comment!

It seemed to work well when I tried, so goodness knows why that didn't work for you, but it doesn't seem to have been a problem. To try and work out what might be happening with the odd LED issue I converted the .tmp file to microsoft word, then copied it into arduino and had a similar issue!

To try and combat this I have re-uploaded the .pde file to a file hosting site so that you can download it straight away and try and get rid of your LED problem. So here is the file for downloading, and I hope you can get it to work effectively.

Thanks,
anonymouse197
Thanks for going to all that trouble!

The download worked fine, but I still found that the first light to go on was not always the first light in the display. I made some modifications to your code here, and they seem to work. Feel free to post the modified version on here if you like the changes I've made. Anything of yours that I changed, I simply commented out, and I also made comments explaining what I had done. Let me know if you have any questions about my changes.

Also, I changed the time increment to 3 seconds rather than 5 minutes for testing purposes. I hope this isn't too much of an inconvenience!

Thanks for giving me a good place to start with your code!

- pkasavan
anonymouse197 (author)  pkasavan2 years ago
Thanks for your response!

I'm glad the download worked for you, and thank you so much for posting your edit! I have run it myself and it works like a charm! If you don't mind I will replace the link on the instructable with the one you provided, as in my opinion it seems to be the better of the two.

I'm glad that this instructable has worked and turned out successful, and thank you so much for getting involved!

An absolute pleasure!
anonymouse197
SurfKauai432 years ago
I'm a newbie to Arduino and have a breadboard. How would I build the circuit on a breadboard (e.g., where should I place the resistor)? Thanks much.
anonymouse197 (author)  SurfKauai432 years ago
I'm only just starting out myself really, you will find me on forums all over the place trying to work out what was wrong with earlier versions of the code! :P

You should be able to follow the image on step 2 for guidance. On chrome the yellow selectable boxes are all in the wrong place, but apart from that it works well. For example, looking at that image I can tell that the resistor goes between the ground and one leg of the pushbutton, the other leg of which goes to pin 2.

If you don't have an Arduino you could always buy one, or make one if you are feeling adventurous, but I wouldn't know how to code the chip on its own.

Did any of that help?
Thanks for the response. I actually have the Arduino Starter Kit
http://www.adafruit.com/products/68 but I wasn't able to figure out to attach the protoshield, so I bought a breadboard to do the prototyping.
anonymouse197 (author)  SurfKauai432 years ago
Ah ok, that makes sense.

I myself am only using a protoshield here for simplicity, the image in step 2 actually just shows a small breadboard mounted straight onto the top of an Arduino, so all the wires in the sketch are simply jumpers. To cut a long story short, you can just forget that there is a protoshield at all, and wire it up as shown in the picture, and it will all work anyway!

If, however, you have a breadboard that is slightly too large to put on top of the arduino, you could place the breadboard to the side and make all the connections slightly longer. This wouldn't be a very practical way to do it, as there would be wires all over the place, but it would still work. It is not a pretty solution, but I have attached an image of one way of building it with a larger breadboard.

This would make the timer almost impossible to actually use in the kitchen, with wires all over the place, but it would do for the time being until you could get hold of a protoshield. (If you are struggling to assemble the protoshield I will draw you attention to this document which contains detailed assembly instructions.)

So, I hope some of this has helped, and you have lots of jumper cables (or paper clips) to hand!

Screen Shot 2011-10-24 at 13.15.48.png
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!