Epic Arduino Tea Steeper
After seeing a couple Automatic tea steepers (tea makers) on Instructables, I decided to have a go at my own.
- The goals of the project were to
- Complete my first Instructable
- Make an automatic tea steeper better than any others I have seen before
- Win the automation contest (please vote)
For the design of my tea steeper I wanted to include the following features to my design.
- LED status lights
- An aesthetically pleasing design
- On/Off button
- Push button start
- Adjustable tea strength
- USB/Wall powered
- Audio alarm
- Reprogrammable
Gather Materials
Parts List
- Microcontroller PCB or Perfboard
- 7 x 320Ω resistors
- 6 x 1KΩ resistors
- 1x 10KΩ resister
- 1 x momentary push button
- 1 x STSP toggle switch
- 10KΩ potentiometer
- Potentiometer knob
- 6 x 2N222 NPN transistors (or equivalent)
- 3 x red 5mm LED
- 2 x yellow 5mm LED
- 1 x green 5mm LED
- 1 x grean 3mm LED
- Micro Servo
- 2.5 mm female power plug
- 5 volt power supply
- Wirco to DIP adapter
- JST connectors
- Header pins (male and female)
- Project Housing
- Voice recording module
Tools/Materials
- Soldering Iron
- Solder Flux
- Wire cutters
- Heat shrink tube
- Hot glue gun
- Hot glue Hole saw
- Power drill
- Drill bits
- Nibbler tool
- Needle nose pliers
- Plastic/chrome spoon
Parts Discussion
One does not need to follow my parts list exactly in order to create one’s own tea maker. Most parts are interchangeable and I urge people to customize anyway they want.
- Microcontroller Arduino http://arduino.cc/en/Main/Products ($13)
- I used Arduino mini for my final board. I initially prototyped the tea maker with Arduino Uno. One can use any board of their choice, although the code may need to be edited.
- PCB or Perfboard Photo resist kit http://arduino.cc/en/Main/Products ($47)
- The kit I purchased came
- with 2 single sided pre-sensitized circuit boards
- Positive developer
- Etch solution
- All of these parts can be purchased separately. Also, if you are handy with a perfboard you can just solder components on that
- I also used transparencies with the photo resist kit http://arduino.cc/en/Main/Products ($12)
- The kit I purchased came
- Micro Servo http://arduino.cc/en/Main/Products ($4)
- Power adapter ($5) Any 5 volt power source with a connector of choice
- Mirco to DIP adapter http://arduino.cc/en/Main/Products ($1)
- I wanted to use my normal micro usb phone charger so I used this to make a micro usb to 2.5mm DC adapter
- Project Housing
- I wanted to use a tea container. You can use whatever you would like. I purchased mine from amazon. http://arduino.cc/en/Main/Products ($8)
- Voice recorder module http://www.amazon.com/gp/product/B008B4A2QO/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1
- You can get these much cheaper from Ebay.
Design the Circuit
I used Fritzing to design my circuit. I have included the Fritzing file for both the schematic and etching diagram. You can also find my Arduino code attached at the bottom of this Instructable. Fritzing is free and can be downloaded here.
Etch the Circuit
In order to etch the circuit I first printed out the circuit on a transparency. If you are not going to use the etching method you can solder the components to a perfboard manually.
I used positive developing system to etch my board. There are many Instructables on this. Here is one example https://www.instructables.com/id/Making-PCBs-with-an-easy-UV-methode/ . You can use the toner transfer method or any other that works for you.
Add Headers to Arduino Mini
I wanted to make a circuit that I could just plug in the Arduino Mini. So, I added male header pins the Mini so that it could plug into the corresponding female pins on the circuit board. I keeped access to the VCC, Negative, Reset, TX, and RX pins so that I could upload new code to the Mini with my Ardiuno UNO. You can find a good instructable on how to do this here https://www.instructables.com/id/Uploading-sketch-to-Arduino-Pro-Mini-using-Arduino/
Solder Components to Board
Solder components on your board. Here is a picture of most of the components I used soldered onto the board. Other components were added by hooking to header pins seen in the picture. I wanted the LEDs to be mounted to the tea maker housing so I used JST headers to connect the LEDs by wire. When working with Arduino it is important to remember that the total milliamp output is low. I used NPN transistors to turn my components on and off so that they wouldn't draw too much power from the Arduino.
Solder an Array of LEDs for the Indicator Lights.
I used an old perforated pcb board and soldered the LEDs along with the appropriate resistors and leads to plug the LEDs in. This array will be installed onto the tea maker housing later.
Install Array to Lid
Use the LED array to mark where to drill holes in the lid of the tea maker housing. TIP: drill into the tin while it is sitting on a board of wood. This will help you to drill a cleaner hole.
After drilling the holes, hot glue the array into the lid.
Install On/off Switch Hole
Dill the appropriate sized hole for the on/off toggle switch you chose. After drilling the hole, install the toggle switch.
Install Servo
First mark the tin with the size of the servo. Then, drill a pilot hole.
In order to make a good rectangular hole, I used a nibbler tool I picked up on Amazon.
After creating the rectangular hole, I mounted the servo.
Here is a link to the tool I bought. http://www.amazon.com/Parts-Express-Nickel-Plated-Nibbling/dp/B0002KRACO/ref=sr_1_1?ie=UTF8&qid=1429531947&sr=8-1&keywords=nibbler
Install Push Start Button
Drill the appropriate sized hole for the momentary push button of your choosing. Install the push button. I used the following coding to let the Arduino only run the program when the button is pushed. The code reads the state of the buttonPin (which is set to LOW or 0) in your setup statement. Then, in the "void (loop)" step when the state of the button changes, it runs the block of code included within the brackets.
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
"insert program here"
{
There is great documentation on "buttonState" on the Arduino website found here:
Install Led On/off Light
Drill hole and install on/off LED light.
Install Speaker
I used a speaker from an old cordless telephone base I had. After drilling the hole with a hole saw, I used a file to smooth out the edges. The speaker is connected to the voice recording device that will playback a recording when the Arduino code signals it to play.
Add Power Plug.
Because the plug was metal and the tea maker housing was also metal, I used a piece of old pcb board to install the 2.5 mm female power plug. I hot glued the pcb with the plug to the inside of the housing. In hindsight I wish I would have used a plastic female plug.
Install Tea Strength Potentiometer
Drill the appropriate sized hole for the 10k potentiometer you will used to adjust the strength of the tea. Install potentiometer and add knob.
I used the map function in the Arduino code to translate the potentiometer value into a delay value.
val = map(analogRead(potPin),0,1023, 60000,10000) ; // read the value from the sensor
delay(val);
The map function will translate the "0, 1023" into any two other values, in this case "60000, 10000" (aka 60 seconds, 10 seconds)
The map function can be learned about more here: http://www.arduino.cc/en/Reference/Map
When doing this, I was able to create a "tea strength" knob that can keep the spoon down in the water anywhere from 10 to 60 seconds on each steep. The "val" is read every cycle, or time the spoon moves down. This way, one can tweak the strength of the tea at any time during the steeping process.
Mount Arm to Servo and Add Teabag Hanger
For the arm, it was suggested by my sister to use a spoon. I picked up a plastic/chrome spoon at party city. I wanted to use plastic so that I could easily drill into it and to keep the weight down.
I superglued an old bolt to the back of the spoon for the teabag hanger. Just simply wind the teabag around the bolt a couple of times to get it to hang at the appropriate height for your tea/coffee mug.
Wire Power Supply
For the power supply I used an old 5v motorola phone charger. It has at least 500ma of power. I soldered a male 2.5 mm plug to the end of it. In hindsight, I would suggest using a more powerful power supply (keeping within the voltage of your components)
Record Audio File
Using the audio recorded I god from Amazon, I recorded a file from the internet telling me my tea is ready.
The audio board has a positive, negative, speaker terminals, record pins, and two play pins. I used the play pins on the board that only needed a signal "HIGH" from the Arduino to start the audio file.
Connect the Parts
- Wire the following items to the header pins and JST plugs of your circuit board
- Wire it all upservo indicator LEDs (6)
- ground wire from indicator lights
- on/off indicator led
- potentiometer
- on/off switch
- momentary push button switch
- speaker to sound board
- 2.5 mm power plug
- Don't forget to connect the sound board to the main circuit board.
Final Thoughts
This is my first Instructable and welcome feedback.
I suggest using a higher voltage higher amp power supply with a voltage limiter. My circuit was quite amateur so some of the LEDs dimmed a little
I wish I would have used a rubber/plastic female power plug. This would have looked better mounted.
This project was extremely fulfilling and very difficult. I have much more respect for those who do Instructables because it is much harder to document and create an Instructable than it is just to do a project.