IMG_4565-2.mp4
No 3D printing here - brass tubes, 1mm brass laser-cut hands, acrylic laser-cut mounting and off-the-shelf cogs. The protrusion in front of the clock face is about 10mm.
- 1 x Raspberry Pi
- 1 x rear plate cut from 6mm acrylic (with the big holes)
- 1 x front plate cut from 6mm acrylic
- 1 x set of clock hands laser cut from 1mm brass
- 4 x 65mm standoffs with M4 internal thread at both ends example
- 16 x M4x12mm countersunk machine screws
- 8 x M4 nuts
- 4 x 8mm OD 5mm ID plastic flanged bush
- 1 x 8mm OD 6mm ID plastic flanged bush
- 4 x 28BYJ-48 stepper motors
- 4 x flexible shaft coupling, approx 25mm long, 5mm bore, example
- 1 x 19mm OD, 6mm ID bearing eg 626ZZ
- 1 x stepper motor driver, eg 4tronix PiStep2
- 3 x 28 Teeth, 22.4mm pitch, 6mm bore gears (https://uk.rs-online.com/web/p/spur-gears/5217304/)
- 5 x 30 Teeth, 24mm pitch, 5mm bore gears (https://uk.rs-online.com/web/p/spur-gears/5217310/)
- 2 x 3mm ID, 6mm OD bush 9mm long (https://uk.rs-online.com/web/p/plain-bushes/5217720/)
- 1 x 4mm ID, 6mm OD bush 9mm long (https://uk.rs-online.com/web/p/plain-bushes/5217736/)
- 1 x 97mm 3mm OD brass tube
- 1 x 58mm 4mm OD/3.5mm ID brass tube
- 1 x 44mm 5mm OD/4.5mm ID brass tube
- 1 x 30mm 6mm OD/5.5mm ID brass tube
- 4 x 67mm 5mm OD/4.5mm ID brass tube (a 350mm length of 5mm tube would cover it)
- Cyanoacrylate glue
- For the face we used 12mm plywood, laser printer, PVA glue and paint.
- When cutting the tubes down to size, deburr and be careful not to compress the ends, they've got to rotate freely.
- You could probably get away with 60mm standoffs, or standoffs with an external thread at one end, or even just long M4 bolts and a few extra nuts if you're really struggling to source. If you shorten the standoffs, take the same length off all of the tubes.
- The lengths of the nested tubes only are based on 12mm ply, remember to adjust them if you change this.
- Lasercutting in the UK? I used http://www.lasermaster.co.uk for the brass and http://https://razorlab.online for the acrylic.
- On the two plastic plates, one of the four holes on both plates is 0.8mm closer to the center. On version 2 of the drawings (uploaded) this is marked with a small hold next to it, but on version 1 it's not - identify and mark this hole on both plates
- Glue 4mm ID and 3mm ID bushs inside two of the 6mm bore gears. We now have one gear each with 3mm/4mm/6mm core, five with 5mm core
- Glue 6mm core gear to 6mm tube, teeth at the end of the tube. One drop should do it.
- Glue 5mm core gear to 5mm tube, teeth at the end of the tube
- Glue 4mm core gear to 4mm tube, teeth at the end of the tube (picture shows it not at the end, but it should be)
- Glue 3mm core gear to 3mm tube, teeth 28mm from the end of the tube
- Glue 3mm ID, 6mm OD bush to end of 3mm tube nearest the gear
- Fit 4 remaining 5mm gears to 67x5mm OD tubes. Glue later once positioned.
- Motors are fitted with couplings and connected to rear plate, as are standoffs (countersink holes a bit) and 6mm ID flanged bush
- 4 brass tubes are nested, and put into rear plate
- Four 5mm brass tubes are fitted to motor couplings. The marked hole meshes with the central 5mm OD tube, the others can mesh in any order.
- Fit the bearing and 4 x 5mm ID bushes into the front plate, countersink the screw holes so they're completely recessed and screw to standoffs.
Less photos here. We cut a round clockface out of 12mm plywood, painted it, drilled an overlarge (10mm or more) hole in the middle, so friction on the tubes is easily avoided. We designed a clock face, flipped it horizontally (important) and printed it out onto a monochrome laser. We then transferred the laser toner to the wood by covering the wood in PVA glue and glueing the paper, face down, and leaving it overnight. The next day we carefully remove the paper by soaking it with water and rubbing it.
The mechanism can be screwed to the back side of this clock face (holes 74mm apart) with the tubes poking through. The clock hands should press fit on, no glue required. If you're going to glue a photo or some way to identify each hand, do it before this step!
Fit the motors to the motor driver board, fit that to the Raspberry Pi, and be sure to power the Pi via the USB port on the motor board, not on the Pi itself. The Motors use a bit of power, and the Pi has a polyfuse on its USB input which can trip when too much power is drawn. Power both boards via the motor board and you won't have this issue.
IMG_3631.mp4
The software in the repository runs on the Pi as root, and reports/listens to an MQTT server for instructions on where to position the hands. How to get those messages to the MQTT server is (mercifully) out of scope for what I wanted to show here. We use https://owntracks.org for this, plus a few bluetooth beacons.
An entirely separate process on a different machine listens for Owntracks reports, identifies if they fall into one of our regions and sends the appropriate MQTT message if they do. However you do it I would strongly advice decoupling the process that drives the hands from the process (or processes) that decides where each person is - you'll be forever tuning that.