← Current 38-step animated assembly guide · Hardware BOM · Purchased BOM · Wiring
As-built notes
The assembly guide shows the CAD meshes for the custom printed parts and simple stand-in shapes for selected purchased parts.
Current changes reflected in the viewer
- Upper bearing: the RR308 plain-686 cap threads over the bearing, and the 1 mm upper datum shim (a thin printed spacer that sets the bearing's reference height) sits below the bearing. The cap uses an M18 × 1.5 outer thread and 11.7 mm roof opening. The two bearings are plain 686ZZ: 6 mm bore, 13 mm OD, 5 mm wide.
- Fixed floor: the printed bed-filleted P03 file matches the guide mesh. Legacy connector-mounting ribs remain part of that floor; no connector blocks are used.
- Motor mount: two M3×8 socket-head screws and ten 0.5 mm M3 washers, five under each motor ear. This raises the motor, shaft and pinion group 2.5 mm.
- Button: Omron B3F-5050; the revised plunger has 3 mm captured play (1.5 mm each direction), bottoms on the switch, and the button works. The bezel is screwed to two existing base inserts, with no glue between bezel and base.
- Power and wiring: button wires are soldered to the switch pins and routed to GPIO17 and GND, the driver supply is on the breakout 5 V/GND buses, and a single Hall sensor is powered at 3.3 V. The GPIO map is in wiring.html and matches the 358 baseline and the 359 candidate firmware.
- Not used: there is one home Hall sensor, not two; the earlier Hall nuts are replaced by heat-set inserts.
Startup behavior in the firmware 359 candidate
RewardRocket358 is the accepted baseline. The RewardRocket359 candidate is built to stay still at boot: a clean saved pickup restores Locked/Idle and does not dispense until the ordinary activation and a fresh button press. A pending authorization does not arm or start motion on restart. Interrupted or conflicting position state enters Recovery and waits for the operator. An active Hall sensor can set zero without stepping when the saved state is clean. The 359 host regression checks, ESP32-S3 compile and package checks passed.
Build notes
- The motor pinion didn't seat completely before shimming; the 2.5 mm lift and M3×8 screws fixed that.
- Earlier rounds hit incomplete print features, rough support finish, heat-set distortion, awkward button wiring and an unclear plunger/bezel glue order. This package uses the corrected part versions.
- I dropped the older S10 insertion route from the instructions; there is plenty of room, so it's a manual step.
- Arrange the ESP32 breakout with its connectors facing outward.
Assembly revision and assets
Current sequence: ASSEMBLY304_SEQUENCE_R8_FIN341_BEARING308_BUTTON313_MOTOR_SHIM, 38 steps. The viewer has 95 mesh assets, including the upper bearing cap and shim.