The next project I embarked on, was a travel watch winder.
I have a few mechanical watches, and occasionally I like to wear one watch for a week and then swap out to another for the next week. This means that the watches would stop unless I wind them during the week, that is a nuisance as setting a mechanical watch is a bit of a hassle.
Sure there are commercial options, but they tend to be a bit pricy and this seems like a nice project to do. So let's proceed !
Design goals
- Portable enough to take on trips
- Able to work on battery power for at least 24 hrs
- USB-C chargeble
- Programmable on operating hours and turns per day
- Nice looking
Tools used in this project
- Computer for programming and PCB design
- Multimeter for troubleshooting
- Soldering iron
- Wire clamping tool
- Breadboard
- 3D printer
- Sowing thread and needle
Bill of Materials
- Raspberry Pi Pico W2
- TP4056 Charger Module
- Buck Boost Converter
- ULN2003 Darlington Array
- 28BYJ-48 stepper motor
- DS1302 Real Time Clock
- Buzzer
- FDN340P P-channel mosfet
- 2 x BSR802 N-channel mosfet
- BC337 Transistor
- Resistors 3 x 200 kΩ, 2 x100 kΩ, 10 kΩ
- 2 x Diode BAT60A
- Ceramic capacitor 10 nF
- Electrolyte capacitor 220 µF
- 18650 Lithium Ion battery
- Power switch
- JST-XH connectors (5 pole and 2 pole)
- 3 x 2-pin generic connectors
- Lots of black PLA filament
- Brass heated inserts (for assembly)
- M2 and M3 screws
- Black fake leather
Links to resources
- Github repository https://github.com/PSuElectro/Watch-Winder-V1
- Schematics
- PCB Design
I ordered the stepper motor and the real time clock as ready modules from Amazon.
I began by planning the circuitry and the initial concepts of the program for the device. The very first bits of progamming had me study the web server functionality. Again, I found an excellent library from Gurgleapps website. I built the web interface with basically three features, adjust the number of revolutions per day, the time window during which those revolutions should take place and a calibration function to adjust the winder orientation. The idea with the latter being that I would keep a tally of the steps that the motor takes, and if it starts in a known position, it would end up back in the same position. This is how the interface turned out.
The winder has a battery backed up real time clock module. I decided (for simplicity) to not include a time setting function, but rather every time you press the save settings button on the first screen, the winder is set to the same time as the device (like your phone) controlling it.
While I was working on the code, I also needed to start testing the circuits. For this I assembled the whole circuit on a breadboard. In this project I was still using mainly through hole components, but for the power rail I needed to use two SMD mosfets so I decided to venture into SMD soldering. It wasn't too hard, as long as you didn't need to remove any of those components.
After the circuit was completed, I ordered the PCB from PCBWay and started to design the enclosure. And boy did that take a lot of time. Like I mentioned in the previous project, the printer at the library was slow, and I managed to book only one session a week. So it really was frustrating when the parts did not turn out as expected ! So at the end of the day I ended up buying my own 3D printer, but I'll do another post about that later.
![]() |
| The PCB installed in the electronics sled |
Then it was time to assemble everything. Using the heated inserts and some screws, I put together all the 3D printed parts. To make it look nicer, I glued fake black leather to the outer surface of the winder. For the cap, I purchased 1.5 mm clear plexiglass. That is just about thin enough to cut with scissors. I glued that and it's frame together with Gorilla super glue.
The one part that I am not at all satisfied with, is the cushion on which to actually mount the watch. In the end I settled on a piece that I sew together and filled with foam, but it could look nicer. Also it is held in place by squeezing it into a sort of a fork, and the PLA fork gives way over time. However the design does allow me to come up with a better solution later.
So this is how it finally turned out !
Conclusions
I'd call the project a success, although certain things I could have done differently. One thing that didn't work out quite as expected, was the calibration feature. The stepper motor misses steps for various reasons (the watch is causing too much torque if not aligned well), so even if I calibrate it, it normally ends up in a different position. Another surprise was the terrible accuracy of the RTC circuit, it varies even minutes a day ! There was also a tiny mistake on the PCB that I was however able to fix by cutting a wire. For some reason, the real time clock would stop when going to battery power. The solution was to cut the wire to Pin 1 on the PCB. Also there were certain finishing details that didn't turn out perfect.
During the project, I spent way too much time tweaking the mechanical design. Once I got my own 3D printer, it really helped a lot as I could turn around a part in a few hours instead of weeks. I also managed to fry one Pico while soldering it. I suspect, that the large GND plane on the PCB was the culprit, as it meant I needed to heat the pin for way too long to get the solder to flow correctly. I changed the strategy after that, I now solder header pins to the PCB and then snap the Pico in place after soldering.
My son did ask me to make him one too, but with a different form factor. Instead of making another one just like this, I decided to revise the design to fix the issues I came up with this one. But that is for another post.







No comments:
Post a Comment