First Project: Kitchen Timer with Audio Cue [solved]

Hello everyone,

what I am looking for is advice regarding the hardware that enables me to build the project. I can handle code (being a software engineer myself), but I'm a total newbie when it comes to building electrical circuits.

I'm looking to build a bare-bones kitchen timer.

Each time that a button is tapped, the device should bump up an internal countdown by a fixed amount (e.g. +1 minute for each push).

As soon as the timer has run out, I want to play back a beep noise on a small speaker, nothing fancy, just a PWM signal.

My question is - which parts do I need to build such a device?

My guess would be that I'll need an Arduino board, a button, a speaker and probably a handful of resistors, but I don't know which ones to get, nor how to figure it out myself.

  • The timer should be fairly small, so I was wondering if a Nano would be sufficient. If not, what would be the smallest board I could build this project with?
  • What kind of speaker would be applicable, and how do I know which resistors to use, to avoid damage to the board or speaker? (I know how to use PWM to generate a tone signal in code, but I'm scared of overvolting anything by accident)
  • I've browsed the button tutorial, and I noticed the 10kOhm resistor being mentioned there. It seems to be a very specific number, something I would never think of myself. The tutorial mentions that it's used to pull the control voltage to HI or LO, but I don't know how they came up with 10k... I'd guess a lower resistor would keep the signal floating, but the number still seems arbitrary to me.

I'd appreciate any help and input I can get. Cheers!

P.S.: I'm well aware that the usability of the planned device is terrible. It would probably need LEDs (or even a display), etc. to signal the state properly, a reset button, etc.
However, I think it should be a nice and simple project just to get started :slight_smile:

There’s no need for an external resistor for the switch, use the built-in ones, using INPUT_PULLUP for your pinMode.

I have an old Velleman kit kitchen timer my kids gave me - I can’t remember which controller it uses (suspect PIC) but has just a single button, buzzer, and sixteen charlieplexed LEDs.

It allows per-minute setting 1-10 minutes, then 15, 20, 25, 30, 45, 60.

my Kitchen timer with Clock project

with photos

simpler version without the clock

version with display controlled by shift register

Pull up resistors explained. 10K is a good starting point for a pull up or pull down resistor. You may go with a lesser value (stronger) if noise is a problem or higher value to conserve current.

What power supply are you using?

The Arduino IDE comes with a bunch of examples and each one has an online tutorial:

This tutorial shows how to wire an 8 Ohm speaker:

(Spoiler: Use a 100 Ohm resistor in series with your speaker.)

Awesome, thanks so much for the tips!

groundFungus:
Pull up resistors explained. 10K is a good starting point for a pull up or pull down resistor. You may go with a lesser value (stronger) if noise is a problem or higher value to conserve current.

What power supply are you using?

I don't know yet, since I don't actually know which Arduino to use. I guess I'll use a 9V battery, which seems to be the standard.

johnwasser:
The Arduino IDE comes with a bunch of examples and each one has an online tutorial:
https://www.arduino.cc/en/Tutorial/BuiltInExamples

This tutorial shows how to wire an 8 Ohm speaker:
https://www.arduino.cc/en/Tutorial/BuiltInExamples/toneKeyboard
(Spoiler: Use a 100 Ohm resistor in series with your speaker.)

Thanks! I actually browsed the tutorial page earlier, not really knowing what I should look for specifically.

TheMemberFormerlyKnownAsAWOL:
There's no need for an external resistor for the switch, use the built-in ones, using INPUT_PULLUP for your pinMode.

I have an old Velleman kit kitchen timer my kids gave me - I can't remember which controller it uses (suspect PIC) but has just a single button, buzzer, and sixteen charlieplexed LEDs.

It allows per-minute setting 1-10 minutes, then 15, 20, 25, 30, 45, 60.

Thanks for the tip. I was already wondering how to dial in longer times properly :slight_smile: It's either your method, or a rotary knob, I guess :slight_smile:

my Kitchen timer with Clock project
GitHub - jandrassy/KitchenTimerClock: A kitchen timer with clock.
with photos

simpler version without the clock
lab/KitchenTimerTM1637.ino at master · jandrassy/lab · GitHub

version with display controlled by shift register
lab/KitchenTimer.ino at master · jandrassy/lab · GitHub

Wow, I will totally use your github for future questions I might have^^. I definitely do want to experiment myself, though. The display seems like a nice upgrade to what I was originally planning. Do you have any pointers for where to shop for these (or similar) parts? Is Amazon a good choice for purchasing such things?

bitcrushdragon:
Do you have any pointers for where to shop for these (or similar) parts? Is Amazon a good choice for purchasing such things?

I prefer e-shops specialized for electronics and Arduino. Local e-shops or in Europe shops like Kiwi Electronics or electronics components supplier Distrelec.

Juraj:
I prefer e-shops specialized for electronics and Arduino. Local e-shops or in Europe shops like Kiwi Electronics or electronics components supplier Distrelec.

Thank you, I'll check out these stores for the parts I need :slight_smile:
All of my questions have been answered, so I feel ready to go! Thanks for your help, everyone!