It's not Raspberry Pi, but I had a hankering to make something of my own design and Arduino just seemed simpler.
This project is a learning countdown timer. In its simplest form it just has two buttons and a buzzer. For Extra bling, though, I have added a "flowing water light" (a board with eight LEDs and a multipack resistor) to show what's going on inside. Although the system will work fine without the LEDs it is much prettier with them!
Making an interval timer is often complicated by problems of calibration and complex input and output just to set the time. So I wondered if I could solve both those problems by entering the interval in its native format - as a duration. This approach works on any microcontroller which runs at a reasonably steady clock speed, regardless of what that clock speed is. I'm hoping it will also be workable with a minimal AVR circuit (such as a shrimp) or maybe even one without the crystal, if I can work out how to program it.
Use is simple. To teach it a duration press the LEARN button once to start and again to stop. During learning the LEDs will show a "walking dot". Once you have taught it a time, press green to count down to that time, then beep.
Code at https://github.com/efficacy/learning-timer.
The whole thing took me a couple of hours to design and build.