TimeGlow--Arduino LED Pomodoro Light

by Cris Jiang in Design > 3D Design

36 Views, 2 Favorites, 0 Comments

TimeGlow--Arduino LED Pomodoro Light

5f0b50e279efd42fe71f906d1321844e.png

When people work or study, they often rely on their phones to check time, which easily leads to distraction and procrastination. A physical timer without screen can help maintain focus by visualizing time’s passing without interruptions.

TimeGlow is a small desktop Pomodoro timer that visualizes time through a strip of LEDs.

Each LED represents a segment of time — as minutes pass, the LEDs gradually turn off one by one, creating a calm and intuitive sense of progress.

Supplies

1a53cec19ec1ce9f30a816831e10c351.jpg
09ccfbae32fcf7bf25b59acbe1685b6c.jpg
42ea64912ec8aafef82ff27aff85d819.jpg

To complete the whole project, I used both digital tools and hands-on prototyping tools. These tools helped me design the form, build the model, and assemble the electronics.


1.Rhino 7--I used these programs to design the shape of the timer and prepare the 3D files.

2.Cura--I used it to slice my model and set the printing details, such as layer height and supports.

3.3D Printer--Used to print all of the parts of the timer.

4.Hot glue gun--Used to fix the LED strip and some wires inside the case and glue all the parts together.

5.Sandpaper--Used to smooth the printed parts after printing.

6.Wire stripper--Used to remove the insulation from wires.

7.Wire cutters--Used to cut wires to the right length.

8.Soldering iron and solder--Used to connect the wires, LED lights, and breadboard.

9.Arduino IDE--Used to write and upload the code for the timer.

10.Arduino Nano ESP32--The main board that controls the code and LED lights

11.Digikey Solderful Breadboard--Used for connecting wires and testing the circuit during prototyping.

12.A simple four-prong push button switch--To control the product work or not.

13.6 simple double-legged LED lights in different colors--To make the product glow.

Inspiration

17fb256efd2ac96a44879cd8324a364e.jpg
394b41203a051721b491d7abb7ed9c5f.jpg
42776fd111cf29d1dbfa2fcc10308574.jpg

Firstly, I used sora to help me create some videos about the idea and that’s it.

https://sora.chatgpt.com/p/s_691dda7835888191b50b4d9d83f99da5?psh=HXVzZXItMEFZbkRyWTBSYlM1eHhkeFhXR1JjaXRt.Ov32lyaSDs9P


Then I searched online to find some similar product to help me shape my product.

Modeling

5f0b50e279efd42fe71f906d1321844e.png

I used Rhinoceros to make a model of my product.

My model looks a bit like a tomato, but also a little like a small pumpkin—I combined the two forms.

Then I sliced it horizontally through the middle, dividing it into an upper half and a lower half.

Coding

At first, I tried Neopixels and wished to realized the light effect that the step1's video shows, but there some problem in my wire connection or else. The leds didn't work finally. So I choose to use 6 simple double-legged LED lights and next is my design for lighting effects and the code.


Lighting Effect Requirements:

1.Fade in one by one - Each LED slowly brightens over 2 minutes

2.All on blinking - After all LEDs are on, blink for 10 seconds

3.Fade out one by one - Each LED slowly dims over 1 minute

4.All off blinking - After all LEDs are off, blink for 10 seconds

5.Loop - Repeat from step 1

Button Control:

Press once - Start from beginning

Press during running - Stop immediately, all LEDs off

Press again - Restart from beginning


The code is placed in a txt file.

Downloads

3D Printing

425e4fae17cd5d6388af515dda4dc2d6.png
a35ed172ec1a784816914371f54e9410.png
c1cb3eea075297435ceff11fb9467d56.png
fcfcf25ca9b4544d5edf216fd45e761a.jpg
4db3ba56cdf16ff077372f5a4d085b37.jpg
aa363291612e026577900ecf829b5ecc.jpg

Convert the model to an STL file.

Then find a 3D printer to print my model. You can print it yourself or find a 3D printing company to help you (I contacted a friend and borrowed his 3D printer to print it myself, which was cheaper).

Note that if the parts need to be separated, be sure to print them separately and then assemble them later. I printed three parts: stem and leaves, upper half, and lower half.


Soldering

baaafeb352eca7923a66282abaef2a74.jpg
1a53cec19ec1ce9f30a816831e10c351.jpg

While 3D printing, I didn't waste time; I did the soldering simultaneously.


First, I soldered the Nano ESP32 to the Digikey breadboard.


Then, I soldered the GND to the breadboard and soldered the negative pin of the LED there. Since there were many GND holes needed, I connected it to the side where there were more holes for cascading.


Next, I determined the LED pin assignments in the code. I used six pins (D4, D6, D9, D11, D12, A7) to solder the positive pin of the LED there.


Finally, I soldered the switch. I soldered the diagonal pins of the switch to pin D2 and GND respectively.


Note: Initially, I used pin A0 for one of the LEDs. After soldering, I found that this LED remained constantly on. I checked all the circuits and code but couldn't find the problem. I was completely baffled. Finally, I consulted Claude, who told me that "A0 may not support PWM (analogWrite)" and suggested I replace it with pin A7. Then my problem was solved.

Testing

Connect the power supply and observe whether the entire process meets expectations.

Assemble Parts Together

19cc939506495698aca66e36f5d4342a.jpg
37b25c7b3160c90cd7c1c2f0e75163dc.jpg

The various parts are joined together with hot melt adhesive to make them look like a complete product.

Coloring

487e7b719194477ae63c2cdbd77b015.jpg
487e7b719194477ae63c2cdbd77b015.jpg
a13d9309ee084412f04ba58423b9630.jpg

I used acrylic paint for the surface layer; green for the stems and leaves; and a tomato-red for the body.

Taking a Video

This video simply includes some of my production process and the final product's effect.