+++ date = "2017-05-15T13:16:02+02:00" title = "spdbt" summary = "A fast indoor mousebot" +++ 2017-05-15 ## Overview A fast indoor mousebot for playing with rover control and navigation. ## Background Context that led to this project. ## Requirements What the project must fufill. ## Implementation spdbt is made from parts I already have which are: * Raspberry Pi Zero W * Picon Zero I/O board * C270 USB camera * FIT0441 12 V 159 RPM motor * HC-450 3S LiPo (~30x55x18) with XT connectors (similar to [this](https://hobbyking.com/en_us/turnigy-500mah-3s-20c-lipo-pack.html)) * Pololu 5V regulator D24V22F5 * ST7735 1.8" 160x128 LCD ## Deliverables The deliverables are: * OpenSCAD models for the mechanicals * Ansible rules for configuring the rover * Firmware for the rover * If needed, updated firmware for the Picon Zero * Photos showing the assembly ## Milestones Chunky steps along the way Milestone | Week | Result --------- | ---- | ------ M1 | W1 | All foos have bars barred M2 | W3 | All bazs are frobbed ## Risks and mitigations What are the risks, likelyhood, impact, and ways of handling them? ## Alternatives considered Do nothing... ## Appendix ### FIT0411 pinout * Blue (left most): PWM. Take to GND for full speed. * Black: GND / Supply negative * Yellow: Direction * Green: encoder output. ~680 Hz at full speed * Red (right most): 12V ### Picon Zero pinout Source: https://github.com/4tronix/PiconZero Protocol: http://heeed.net/a-few-notes-on-i2c/ TODO(michaelh): uses software PWM using a `delay()`. Check the accuracy especially during transfers. Pins are {6, 7, 8, 11}, {9, 10, 2, 3, 4, 5}. Good news with software PWM is any pin can do any function. On the Arduino, 3, 5, 6, 9, 10, and 11 can be hardware PWM. So 3, 5, 9, and 10 are available on the servo headers. 4, 5 are T0 and T1 to the counter unit so keep these free. ### D24V22F5 pinout Corner of board: * PG (power good) * EN (enable, enabled by default) * VIN * GND * VOUT