this is my team's project for scrapyard columbus
we are making a gymbal that is controlled by a phone app that tracks faces; comunication is done over iroh
webserial
and the gymbal is controlled by the hackclub blot
control board jerry rigged to an orpheus pico. you can see a demo of the app at https://www.youtube.com/watch?v=buTqpQQnUd0
Pico Pin | Blot Pin | Description |
---|---|---|
GP11 |
D10 |
Step signal for Motor 1 |
GP10 |
D9 |
Direction control for Motor 1 |
GP9 |
D2 |
Enable/disable control for both motors |
GP8 |
D8 |
Step signal for Motor 2 |
GP7 |
D7 |
Direction control for Motor 2 |
GP9 |
D1 |
Enable/disable control for both motors |
GND |
GND |
Ground |
3V3 |
3V3 |
Power |
The firmware is written in circuitpython and is in the firmware
directory.
The firmware sends complete rotations based on serial input in two formats:
[1 or 2] [number]
-> rotate to a position in complete rotations[1 or 2] zero
-> set current position as zero
The control is absolute - you specify the rotation count you want to go to rather than relative movement.
Important notes:
- Using 200 steps/rotation * 16 microsteps (very precise control)
- Motors must be enabled by setting enable pin LOW
- Movement speed controlled by delay between steps (currently 0.0001s)
- Supports two motors controlled independently
- Coordinates maintained in number of steps from zero
- Direction controlled automatically based on target vs current position
- Movement is blocking - the pico will not respond to serial commands while moving
The web interface is a pwa that is served from cloudflare pages. It uses the web serial api to communicate with the pico. The web interface is hosted at myrus.dunkirk.sh.
The cad was done in onshape around midnight of the 15th
and can be found and exported from here: cad.onshape.com/documents/8d200c472...
© 2025-present Kieran Klukas, Payton Curry, and Elizabeth Klukas