Introduction: The Pomodoro Tomato

As I was getting into the back to school mood this year, I was researching effective study habits and came across a technique called the Pomodoro Technique that caught my attention. The way it works is you work for 25 minutes straight, then take a 5 minute break. Then you set the timer for another 25 minutes and the process repeats. Each cycle of 25 minute work and 5 minute break is called a "pomodoro", and after 4 pomodoros you take a longer, 15-30 minute break (see diagrams in Step 1 for a visual representation).

The purpose of the Pomodoro Technique is to prevent you from burning out, and I can confirm that it works effectively. However, when I was first trying the technique it was a hassle to switch between 25 and 5 minute timers on my iPhone. This is why I designed the Pomdoro Tomato: a 3D printed tomato shaped clock that, with the push of a button, automatically triggers the sequence of timers so you don't have to worry about it. There are two buzzers as well that beep when the 25-min and 5-min timers are up. By pushing the button again, the screen goes back to the clock.

The Pomodoro Technique doesn't apply to just students, however. Anyone can use it to take periodic breaks and avoid burning out.

Supplies

The materials needed for this project include:

1. 3D Printer

2. Red and Green 3D printer filament

3. Arduino Nano

4. Active Buzzer (x2)

5. Real Time Clock Module

6. 4 pin Button

7. 4-digit 7-segment display

8. 220 Ohm Resistor (x2)

9. 1K Ohm Resistor (x2)

10. Mini Breadboard

11. Male to Female jumper wires

12. 3mm diameter 1mm height magnets

13. Solder Kit

14. Gorilla Super Glue Gel

Step 1: The Pomodoro Technique

Here are some visual representations of the Pomodoro Technique to make sure you understand how it works.

Step 2: Market Research

There are currently websites and apps that people can use to start the Pomodoro timers. However, these apps require a phone, which can be a distraction if you are trying to use the time to stay focused and work efficiently. Additionally, they are used solely for the purpose of the Pomodoro technique. This is where the Pomodoro Tomato stands out, since it is a physical object (so you can put your phone away distraction-free), and it can be used as a clock as well.

Step 3: Target Audience

The primary audience for the Pomdoro Tomato is students. It also includes adults who want to improve their efficiency and hobbyists who like to 3D print and build things. This audience is extremely large and can easily make some profit.

Step 4: Details

Here are some details that make the Pomdoro Tomato special.

Image 1: Perfectly sized holes for electronics to fit in professionally

Image 2: Platform for breadboard to sit on

Image 3: Hole in back to plug in conveniently

Image 4: Perfectly sized hole for magnets

Image 5: Bucket for magnets to fit in easily

Image 6: Realistic looking leaves with stem to take off lid

Image 7: Small dimple on bottom like real tomato

Step 5: Files

Here are the attached files for the tomato container, lid, and leaves. There are .stl files for all of them, but I also included the .f3d file for the whole tomato in case you want to make any edits to the design before printing them.

Step 6: Assembly (Part 1)

1. Snap the leaves into place in the tomato lid (Image 1)

2. Using the Gorilla Glue, glue the magnets into the holes in the tomato and lid. Make sure the magnets in the lid are facing the right way so they attract to the corresponding magnets in the container (Images 2 and 3)

3. Once the magnets have dried, place the lid onto the container and make sure it fits right (Image 4)

Step 7: Assembly (Part 2)

1. Use the schematic (Image 1) to wire all the components together. I have also included a visual representation of the circuit (Image 2), but it is difficult to see the specific connections so definitely use the schematic

NOTE: The D4 and GND pins of the button must be on opposite sides, exactly as shown in the diagram, or else it will not work

2. Once the wiring is complete it should look like Image 3

3. Get the code from my Github https://github.com/prusteen/PomodoroTomato by downloading the folder "Pomodoro Tomato Code". Then go to "mains_code" then "mains_code.ino" to find the code

4. In the code, scroll down to rtc.setTime in the void setup and set the time to wherever you are located. The notation is (x, y, 0) with x being the hour and y being the minute. It is automatically set to (5, 6, 0) which is 05:06

5. Upload the code and ensure it works properly. That is, it shows the clock and when you push the button it goes to the timer

Step 8: Assembly (Part 3)

1. Once you have checked that the code uploads properly, peel the sticky part off the bottom of the breadboard place it onto the platform in the tomato. Make sure that the connector in the back is aligned with the hole in the back (Image 1)

2. One by one, push the components into their respective holes. You may need to use some Gorilla Glue to keep it in place. The order that I found best was the button*, buzzers, and then display, but feel free to do it in whatever order you prefer. Last, tuck the remaining wires in and tuck the RTC module on top (Images 2 and 3)

3. Place the lid onto the tomato and make sure it snaps into place correctly (Images 4 and 5)

4. Plug in the tomato and make sure the code still works fine (Images 5 and 6)

*NOTE: For the button, you need to take off the cap and push it into place then put the cap on afterwards, or else it will not fit into the hole

Step 9: Completed Tomato

Here is a video of the completed tomato working.

Step 10: Final Thoughts

Overall, I am extremely impressed with the way the tomato turned out. When I initially thought of the idea, I did not expect the final design to turn out this clean and professional. I am satisfied with the code, but I am also looking for ways to improve it and make it include more features. If you have ideas, please let me know below :)

Thank you to Jake and Serena for being such great help along this design journey. Also thanks to Muhammad for helping me with the code.

If you have any questions or comments, please let me know below. Thanks!