Build ~3 min read
at the endEvery clearance in the head as a number, and the fitcheck that proves it.
Measurements¶
Every clearance in the head is a number checked against the official STEP files. The fitcheck_*.py scripts in hardware/cad/ run the servo (STS3215_03a.step), the Nicla (ABX00051) and the SO-101 leader parts through the CAD; the tests in tests/ pin their results.
SO-101 leader, the parts we touch¶
| part | bbox x y z (mm) | fate |
|---|---|---|
Wrist_Roll_SO101 |
65.2 × 52.0 × 42.85 | stays, houses servo 5 |
Trigger_SO101 |
42 × 61 × 32 | removed, its horn flange is the template |
Handle_SO101 |
88.1 × 25 × 60.6 | removed, about 85 g off the tip |
STS3215 horn¶
- 4 × Ø3.2 through holes on a 9.9 mm square, PCD 14.0, Ø5.2 counterbores 3.5 to 6.0 deep, Ø5.2 centre boss
- flange 3.5 mm (trigger), 3.0 mm (wrist roll); thread 2.5 mm deep behind it, so M2.5 × 5 and no longer
- body 24.7 × 45.2 × 35.0 to the horn face, horn boss about Ø22.5 (Feetech drawing)
Arduino Nicla Vision¶
PCB centre is the origin, PCB top is z 0, USB edge is −Y.
| feature | value |
|---|---|
| PCB | 22.86 × 22.86 × 0.946 |
| camera lens centre | (−2.55, +7.84), module top +5.08, barrel Ø5.3 |
| ToF VL53L1X | (−3.20, +3.17), 4.9 × 2.5, needs a window |
| mic port | (−7.63, +8.03) |
| RGB LED | (−9.89, +9.89) |
| reset button | (+2.40, +8.67) |
| micro-USB | x −8.81 to −0.01, z −3.70 to −0.75, 1.31 proud of −Y |
| battery connector | x 1.3 to 8.3, 2.95 below the PCB |
| clearance below the board | 3.4 or more |
| antenna | u.FL socket on the top side; exits over the open +Z face (no slot cut, see Decisions) |
| mounting holes | none usable, so a pocket and a snap lid |
Mass about 2 g. Power 5 V on VIN or a 3.7 V LiPo on the JST, never both.
The head, as built¶
| body pocket | 22.86 + 2 × 0.50, 3.6 below the board, 5.7 above, two 1.7 mm lips, +Z face open |
| body depth | 11.85 mm |
| horn 6 screws | two M2.5 × 5 at (0, ±7) on the 14 mm circle |
| servo 6 bore | Ø22.0, four M2 × 4 tabs |
| lens to tilt axis | 5.88 mm: tilt swings the lens on that arc as well as aiming it (fitcheck_view.py) |
| pan obstacle | the Wrist_Roll_SO101 ledge at z 9 to 11, Ø26.5 |
| tilt clearance | head to yoke 9.74 mm through ±90°; servo in yoke 0.00 mm³ intersection |
| USB | 0.31 mm proud of the open face so the plug seats |
| print rules | features 0.84 mm or wider, depth 0.6 or more, any face over 30 mm² in the air gets supports |
Power¶
The leader bus runs at 5 V (PSU 5 V 2 A) and the Nicla takes USB from the arm, cable along the servo bus. The follower bus is 12 V: never plug the Nicla there.
Results per part: Print it. How the numbers become a shape: hardware/cad/yoke.py, hardware/cad/nicla_head.py.