Hexapod robot software, work-in-progress.
- Put some inverse kinematics theory into practice
- Have fun building a challenging robot platform
- Play with ideas for intelligent autonomy with modern platforms
3D-printed frame directly from design at https://makerworld.com/en/models/1973965-hexapod-spider-robot-with-servo-arduino. See assembly video from there, using the same servos and mounting hardware as recommended.
See also additional self-made 3D-printed platforms created to account for differences in electronic hardware and make it easier to mount inside the body.
- TODO: Add the STLs for these.
- Servos as recommended by the original design.
- 2x PCA9685 16-channel servo controller
- ESP32-S3-DevKitC-1 N8R2 as the primary microcontroller (good speed, lots of connectivity, cheap)
- 3x 5V 3A UBEC
Servos connections arranged as:
- PCA9685 board at I2C address 0x40 for left legs, board at 0x42 for right legs
- Back leg connections start at base servo channel 0 on the board, middle legs at base channel 4, front legs at base channel 8.
- Each leg has 3 servos :
- hip connects to base channel + 0
- knee connects to base channel + 1
- ankle connects to base channel + 2
I2C connections from ESP32-S3 GPIO9 (SCL) and GPIO8 (SDA), to the SCL/SDA pins on the first PCA9685 board. Passthrough SCL and SDA pins on the other side of that board, through to the second board. 3v3 pin on ESP32 through to VCC on first PCA9685, GND from ESP32 to PCA9685, then both these pins passed through to the second PCA9685.
Servo power (V+, GND) for each PCA9685 from its own UBEC. 3rd UBEC connected to 5VIN and GND on ESP32.
Everything powered by single 3S LIPO battery, through the UBECs.
Battery voltage sensor via resistor voltage divider (1:10.23 ratio) connected to GPIO4.
Uses CircuitPython v10 on the ESP32-S3 as the main controller.