gyroscopic watch winder

mechanical watches have no battery! the power source inside these watches is called a mainspring that you manually wind. an automatic watch is a type of mechanical watch that contains a weighted rotor inside. when you wear the watch, the rotor spins and winds the spring.

the unfortunate thing is that automatic watch needs wrist motion to stay wound. if you don’t wear it for a couple days, the mainspring runs down and the watch loses power, which is annoying since you’ll have to then reset the time/date again. here are some notes/things i did to make my own watch winder!

3d prints & mechanical parts

  • first, i downloaded some 3d prints for the device
  • one issue i ran into was that the inner ring of the gyroscope kept coming out stringy around the cavities where the nuts/bolts ultimately screw into. i tried playing around with retraction speed/distance, temperature, and z-hop, but found little success. also tried printing in different orientations but that caused other issues.
  • after many failed prints, i was quite demoralized & ready to just accept that the final product would have a bit of a cute blemish
  • the actual issue was that i wasn’t using supports so when the printer tries to fill the hex nut holder, the filament falls. adding supports fixed everything.

motor and driver

  • connected my stepper motor to my stepper driver. the motor rotates the watch mount which is what rotates/moves the watch
  • i did not know what a stepper motor was before this project. the way they work is quite cool!
  • the read gear is the rotor, which is a permanent magnet that spins. then, there are electromagnetic coils that sit around the rotor. when the stepper driver pushes current through one of these coils, the whole wedge becomes a magnet. so, the whole rotation comes from pushing current through wedges in a particular sequence
  • stepper motor was very hot even when it wasn't turning. something something current is flowing but the magnets aren't making the motor move? shouldn't be an issue in prod tho bc this only happens since we are powering the arduino via the microusb port but later will power the whole system via the barrel, so when the button is off, the whole system will not have power.

wiring & connectors

  • only had M to F cables so i am making my own F cables since my microcontroller only has pins. so i attempted to make my own dupont connections. the way they work is that you snip the casing of your cable to expose the wires and put the wires into this casing and use this crimper tool to secure it in place.
  • was not satisfied with the result so gave up & used wago connectors instead.
  • building physical things is very tactically satisfying. being a software person means i have not practiced my fine grained motor control. i shake but it’s fun.

sodering

micro controller

  • turns out i got a knockoff arduino

button

  • am allergic to reading documentation apparently so i used a multimeter to figure out what the 5 different colored cables on my button do
    • 3 out of the 5 wires control the on/off state
    • green is ground
    • yellow is on
    • white is off
    • 2 out of the 5 wires control the LED
    • black is negative
    • red is postive
  • for the longest time, i could not get the button to work. i double-tripple checked my wiring was correct with a multimeter and checked that the code was right
  • i used arduino IDE’s serial monitor and a multimeter on continuity mode to print out which pins were reading LOW. so i expected that when i touched GND to D2,

power

  • the power supply i ordered comes with a knob where you can adjust between 3V-12V. my arduino expects 5V and anything more would probbaly fry. i thought about taping down the dial at 5V but figured a more user-friendly option was to use a buck converter to force the voltage to be 5V

firmware

  • there was firmware that came with the 3d print. it was so awesome bc it was all in french
  • arduino IDE’s serial monitor was incredibly useful to debug