Introduction: Watch Winder


In times of quarantine for the Covid-19 pandemic, staying home forces everyone to find ways to use time. Among the many possible choices, also to have fun with Arduino, combining business with pleasure ...

I recovered an old "Watch winder", no longer functional (motor and electronic circuit out of order) and I thought of revitalizing it using an Arduino Nano and a small stepper motor.

The motor I used measures 35 mm. X 35 mm. x 20 mm., with two coils of 25.5 Ohm, 5 Volt, 0.9 ° step angle (

I used the attached sketch and made the first experiments with the L298N control module.

With the first tests I immediately realized that the module L298N warmed a lot (warmed the module and also warmed a lot the engine and - even more "strange" - the current consumption, even during the moments of pause, in which the engine did not turn , remained unchanged around 450 mA!).

Because of these anomalies, I looked for a different solution and so I "discovered" the A4988 module (, which has given excellent results, since it does not heat up and, more importantly, it allows you to disable the current consumption of the motor during periods of pause (using two lines of code).

The sketch, that use the AccelStepper.h library, was divided into three cycles, of different duration, (33 turns in total, in 10 minutes and 15 seconds), in which the engine runs clockwise and counterclockwise, with pauses of different duration. The three cycles are repeated four times, and at the end, there is a final pause of 19 minutes. In this way, the engine makes 132 revolutions in an exact hour. At the end of the 19-minute break, everything starts again from the beginning, and so on until the power is removed.

With the times chosen in the sketch (times that can be modified, of course, at will), based on the characteristics of the watches you want to keep in charge, it will be sufficient to experimentally determine how many hours a day it must work. For this reason, I connected the power supply to a WiFi socket, connected to Alexa, with which I can easily determine how many hours a day the carousel must be powered.

In order to be able to easily identify which phase of the various cycles the Carousel is in, I added a circuit that controls three LEDs, of different colors, which light up individually and / or together, depending on the phase in which the program is located (specifically, I used Green, White and Red LEDs, which when all are lit, form the Italian flag).

This is the simple scheme, using three NPN transistors and three resistors, connecting the Emitters to the common GND, the Bases, respectively to Pin 11, 10 and 3 of the Arduino Nano and the Collectors, with the 200 Ohm resistors in series, to the three LEDs and to the +.

Step 1: