HowTo: Arduino – Build your own arduino timer “time_timy” to visualize a time period

The 3D printed housing of the “pxlDigits” was initially not intended to be “just” a 7-segment display with WiFi.

Originally I used it to build a kind of timer from a two-digit, 7-segment display for a friend of mine. She is a primary school teacher and had the problem that she needed a time display for her students that can also be read by students who are not yet able to read numbers and / or estimate time periods.

In this case, the display of the numbers on the 7-segment display is of course unsuitable. That is why the display was extended by a 1m long LED strip made of WS2812 LEDs and a rotary encoder. The time can then be set using the rotary encoder.

Here the principle can be seen quite well.

As soon as a time is set, it runs down automatically. The LED strip lights up completely at the beginning. As the time elapses, the number of LEDs lit on the LED strip is reduced. In addition, the color of the LED strip changes from green to red.

In principle, this LED strip visually shows the elapsing time. Similar to a loading bar on a computer. In this way, the remaining time for a school task can also be read off by students who still have difficulties with the numbers.

How you can recreate this timer called “time_timy” is described in the following article.

Safety instructions

I know the following hints are always a bit annoying and seem unnecessary. But unfortunately, many people who knew it "better" from carelessness lost their eyes, fingers or other things or hurt themselves. In comparison, a loss of data is almost not worth mentioning, but even these can be really annoying. Therefore, please take five minutes to read the safety instructions. Even the coolest project is worth no injury or other annoyance.

Affiliate links / advertising links

The links to online shops listed here are so-called affiliate links. If you click on such an affiliate link and shop via this link, receives a commission from the online shop or provider concerned. The price doesn't change for you. If you do your purchases via these links, you will support in being able to offer further useful projects in the future. 🙂


For the construction you have to master SMD soldering tasks. The following articles provide tips on how to do this.

Required tools:

Required material:

Collect the parts you need

To build your own time_timy, of course, you first have to collect the parts you need.

You need the following parts for the assembly.

Circuit diagram

In the following you can see the circuit diagram of how the individual components are wired together.

Overview of the entire circuit diagram.

Close-up of the seven-segment display.

Close-up of the Arduino Nano including the connected components.

Close-up of the Arduino Nano including the connected components.

Place threaded inserts in the base

So that the housing can be closed with a cover later, this is now prepared.

Use the M3 thread inserts …

… using a soldering iron …

… into the recess shown in the housing.

Depending on the quality of the thread inserts, it is now worthwhile to “cut free” the threads of the thread insert with a thread cutter.

If you don’t have a thread cutter at hand, you can of course also skip this step.

For the test you can screw the cover to the housing using the M3x6 countersunk screw.

Another view of the screwed lid.

Screw the digits to the base

After you have opened the cover again, you can now screw the seven segment digits to the housing.

Runs the lead to the seven-segment digits through the holes in the housing as shown …

… and screw them with two M3x6 countersunk screws from inside the case.

Make sure that the screws hold by cutting a thread in the plastic of the seven-segment displays. Since this is very thin, you have to be particularly careful here and not overtighten the screws.

As soon as you have screwed both digits together, your structure could look like this.

Prepare the encoder for installation

The time to be displayed can later be set and, if necessary, reset using the rotary encoder. For this to work, the rotary encoder must be connected to the Arduino via a short piece of cable.

In order to prepare the connection of the rotary encoder, you should first connect the wires to it.

To do this, you should strip the ends of the individual lines approx. 5mm and tin them with some solder.

Repeat this for the other end of the lines.

Another view of the stripped and tinned lines.

Now you can also prepare the contacts on the rotary encoder by tinning them with some solder.

Then you can solder the prepared wires to the contacts of the rotary encoder as shown.

Prepare the Arduino Nano for soldering

In this step, a few initial soldering tasks are performed on the Arduino Nano.

To do this, you should first …

… tin the contacts shown on the Arduino Nano with some solder.

So tins the following contacts.

  • +5V
  • GND
  • D2
  • D3
  • D4
  • D5
  • D6

You can now strip the connection cable for connecting the LED strip and tin the ends.

Then you can first connect the connection cable of the rotary encoder to …

… the Arduino Nano.

You should stick to the color coding shown in the picture. (Provided that you have also connected the individual lines to the rotary encoder as shown above.)

You can now summarize the lines for the energy supply of the seven-segment digits …

… and solder them together.

You should extend the connection line for connecting the LED strip by about 10cm. 🙂

Then you can thread the connection line for the LED strip through the hole in the side of the housing.

You have now prepared the connection lines for the rotary encoder and the two seven-segment digits.

Solder the Arduino Nano to the wires

After you have prepared the wires for the components to be connected, you can now connect the Arduino Nano.

To do this, you should now solder the prepared lines as shown.

You can solder the lines according to the following scheme.

FunktionArduino Pin
Digit InputD5
LED-Stripe InputD6
Encoder A pinD3
Encoder B pinD2
Encoder ButtonD4
Digit 5V5V
Encoder GNDGND

View of the soldered rotary encoder.

In order to mechanically stabilize and also to isolate the soldered lines, you can now cover the soldering points with some hot glue.

You can repeat the same for the rotary encoder.

Assemble the housing

After all electrical connections have been made, you can install the individual components in the housing.

You should glue the Arduino Nano as shown …

… so in the recess …

…of the housing that…

… the USB port of the Wemos D1 Mini is accessible from the outside.

You can then use the nut to fasten the rotary encoder in the hole in the cover.

You can then screw the cover to the base using the two M3 countersunk screws.

Another view of the assembled case.

Another view of the assembled case.

Another view of the assembled case.

Last but not least, you can put a knob …

… on the rotary axis of the rotary encoder.

Another view of the attached rotary knob.

Attach alternative LED segment cover

I noticed that the paper front panels used to cover the LEDs in the seven segment digits lose their adhesive strength over time.

An alternative solution for the front panels with the help of 3D printed panels is also described in the article Electronics – Building seven segment numbers “pxlDigit” from WS2812 LEDs.

Optional: Attach a buzzer

If you want to be informed acoustically in addition to the visual notification when the set time of the timer has expired, you can also install a buzzer.

For this you need a 5V sounder / buzzer, two approx. 20 mm long shrink tubes and two cables approx. 10 cm long.

Another view of the required parts.

To install the buzzer, you first have to open the housing again.

Then prepare the lines by stripping the ends approx. 5mm and tinning them with some solder.

Now you can solder the prepared lines…

…with the contacts of the buzzer.

Close-up of the soldered lines.

Close-up of the soldered lines.

With the help of the shrink tubing, you can then secure the contact points against short circuits.

In addition to the rotary encoder, there is also a hole in the cover.

The buzzer will be attached behind this later.

Close up of the hole.

But now it’s time to connect the buzzer first.

To do this, tin the contacts “A1” and “A2” of the Arduino Nano with some solder.

Then you can solder the connection lines of the buzzer to the Arduino Nano as shown.

Your structure should now look something like this.

Now you have to fix the buzzer with a little hot glue over the hole so that the hole in the buzzer is congruent with the hole in the lid.

The glued buzzer should then roughly …

… look like this.

It is important that the hole in the buzzer is congruent with the hole in the lid and that no hot glue is covering the hole in the buzzer.

Only in this way the noises of the buzzer can penetrate the outside.

Another view.

Then you can screw the cover back onto the housing.

Flash the software with the Arduino IDE

The Arduino code for operating the “time_timy” can be found in the following Git repository.

How you can download files from a Git repository is described in the article GitHub – How do I copy files from a Git repository to my computer.

Tips for programming the Arduino code on the Arduino Nano can also be found in the article ArduinoIDE – Tips and Tricks.

Attach the LED strip

Unfortunately, I don’t have any photos of the complete set-up including the LED strip. But you can also get a very good overview of the complete structure in the following video.

You just have to plug the LED strip into the prepared connection. Often these LED strips are delivered including the connector used here. Your LED strip should consist of 90 WS2812 LEDs. If you use more or fewer LEDs, you can adjust this number in the Arduino code using the “NUMPIXELS_BAR” parameter.

Power supply

You can supply the “time_timy” via the USB socket of the Arduino Nano. Make sure that the power supply you are using is secured against overvoltages, overcurrent, short circuits and all other possible errors. I have also linked a power supply unit that you can use in the material list.

The power consumption of the LEDs is reduced with the help of the configuration in the Arduino Sketch. You should not change these values without having adjusted the power supply circuit.

Have fun with the project

I hope everything worked as described. If not or you have any other questions or suggestions, please let me know in the comments. Also, ideas for new projects are always welcome. 🙂

P.S. Many of these projects - especially the hardware projects - cost a lot of time and money. Of course I do this because I enjoy it, but if you appreciate it that I share these information with you, I would be happy about a small donation to the coffee box. 🙂

Buy Me a Coffee at   

Leave a Reply

Your email address will not be published. Required fields are marked *