(Currently a work in progress! But almost done as of 3/2016)
This project as with many, began with a cup of tea, an over brewed one. To start my day I always brew a cup of tea, usually a green tea but always a tea that is sensitive to how long it is brewed. Normally I would just time it with my Pebble, or the tea timer I wrote for my phone(Tea Pal!), but I go to the kitchen to make the tea before I even pick those things up. So I wanted a nice timer for the kitchen. I had analog ones that I liked the look of, but they were just to imprecise for tea timing. Some of my favorite teas only brew for 30-90 seconds. Instead of buying a new one, I decided this would make a great project, so I decided on a few “needs” for this timer.
- Analog Display: While a digital display would be more straight forward, I wanted the aesthetic and feel of something more analog. My morning tea is a time to meditate and prepare for the day, I don’t usually look at my phone or computer until the second cup.
- Multi Use: I wanted to be able to use this for cooking, and games as well.
- Portable: I wanted to be able to have it on the game table, in the kitchen or where ever.
- Stand alone: Unlike a phone, I wanted it to be able to stand on it’s own where I left it for others to see, be readable and not falling asleep when I am not there.
- Easy to read at a glance: I should be able to tell the time remaining in less then a second. I also should be able to get a feel to how much time has passed.
- Easy and fun to set: I wanted it to be very quick and easy to set. Many high tech timers are down right annoying to set. For example a phone timer. You have to unlock the phone, launch the app, go through a touch interface, etc. With this I wanted to be able to set the timer in less then 3 steps and find it fun.
- 3-D printable: I wanted the over all size to be able to be printed on a makerbot.
- Look great: I wanted it to compliment my kitchen, and be an item to enjoy looking at.
After much more thinking and discussing with friends then a simple timer should ever need, I started to have an idea of what I wanted in my head. The best way to convey the time was still eluding me. My friend Steve had a really fun idea, why not use speedometer stepper motors? They are super cheap, and work great with Arduino. So that’s what I ended up doing, using one for minutes and another for seconds.
To show the progress, I decided to use LED’s like a level indicator, when “finished” it would light a top LED that would blink to indicate it is done. It also will ring a bell when finished. For inputs and setting, I wanted a very analog feel as well, so I went with two rotary encoders, that each have a push buttons. I picked ones that have no detents(clicks), so it would feel continuous. Then to make setting even easier, I added “pre-sets” buttons like a car radio might have. To set the time for 3:30 sec, just hit button one, for 5 min, hit button 4.
For power I designed a simple AAA battery box that can take ether rechargeable or regular ones. I also wanted the USB port available for long term outlet use, and easy program updates.
I went with an extra Arduino I was not using (UNO) and a proto board I had picked up at radio shack on the cheap. The steppers are x27 168 originally used in GM cars and very cheap. They are small, fast, and have 600+ steps in there 315 degree sweep. They also are very low power and 5v, making them ideal for an Arduino.
I will try to include a full parts list, many parts I used or designed around because that is what I had already laying around.
– (1) Arduino (uno is what I used)
– (1) Proto board for Arduino
– (2) x27 168 stepper motors or switec X25 (older version)
– (9) LEDs
– (2) Bourns PEC11R Digital rotary encoders with push buttons.
– (1) MCP23S17 I/O expander //I went with the SPI version vs the I2C because of it’s higher refresh rate. I wanted to rotary encoders to “feel” as smooth as posable. The MCP23017 would probably be just as good, and use two less digital pins, but I wanted to be sure.
– (10) 300 ohm resistors
– (8) 10k ohm resistors
– (4) .1uF capacitors (104)
– (5) push buttons, micro switches
– (2) switches, on for power and another for sound
– (1) Pololu 5V Step-Up/Step-Down Voltage Regulator S7V8F5 //used for efficient battery power
– (1) Mini 5v Solenoid from Sparkfun
– (1) Diode //any will do, just to prevent solenoid kick back voltage.
– (1) Mosfet transistor, N-CH 30V 90A IPS040N03L //Cheap and very efficient!
– (1) RJ9 Jack, 4P4C Molex made in USA //aka phone headset jack, this is for the I2C expansion port
The code is for the most part fairly strait forward. I found some really great libraries that took out most of the grunt work.
– MCP23S17 library
– UP/Down Timer library
– SPI library
– Switec X25 library (His site has a TON of great info about these, including wiring and such!)
With the case I really wanted to make it more interesting then a simple box. I happen to love art deco designs and thought this would be an ideal fit for that style. I came up with a number of designs and drawings that I really like, and honestly would kind of like to make a few other timers. I used Tinkercad for all of the design from scratch. I know some others criticize Tinkercad for its simplicity, but it works great and is free!
Although I tried to keep 3D printability in mind while it worked on the design, I did not let it dictate the design ether. This leads to it requiring support material on many printers unfortunately, but thats ok with me. I tried to follow the golden ratio when ever I could in its elements as well so it should be pleasing to the eye.
You can view the case top, bottom and battery box at the following links.
Top: TinkerCad or Thingiverse
Bottom: TinkerCad or Thingiverse
Battery Box: Thingiverse
Face and dial details
Coming soon I hope! 🙂
Other Links and info
Gaugette Blog again //great info
X27 on board with diode protection. //$19 each tho