Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Corndog

License: CC BY 4.0 GitHub Stars GitHub Issues Python Platform

An open-source quadruped robot designed to make robotics accessible — one walking robot at a time.

Corndog Walking

Corndog started as a workaround to a college rule (no drones on campus → build a walking robot instead) and turned into a nearly two-year deep dive into robotics, kinematics, and control systems. Based on the open-source MicroSpot design and inspired by Boston Dynamics' Spot, it's a small quadruped with 3 degrees of freedom per leg, a full inverse kinematics stack, IMU feedback, and a growing set of behaviors.

As featured on American Ninja Warrior Season 17


Current Status

Feature Status
Static walking gaits (forward/backward) ✅ Working
Turn left / turn right ✅ Working
Standing & balancing ✅ Working
Inverse kinematics (IK) ✅ Working
IMU feedback (BNO08X) ✅ Working
Custom animations (dance, wave, handstand, etc.) ✅ Working
Companion mode (shoulder perch) ✅ Working
Steam Deck wireless control + video stream ✅ Working
Dynamic gaits 🔧 In progress
ML-Agents gait learning 🔧 In progress (environment skeleton done)
Custom power PCB 🔧 In progress
Kit available for purchase 🔜 Coming soon
Assembly guide 🔜 In progress

Build at a Glance

Spec Value
Size ~15 inches
Legs 4 (quadruped)
Degrees of freedom 12 total (3 per leg)
Brain Raspberry Pi 5
Servo driver Adafruit PCA9685
Actuation range 0–270° per servo
Power LiPo battery + buck converter (custom PCB coming)
Construction 3D printed (PLA)
Control Tkinter GUI on-device, or Steam Deck over TCP

Estimated Cost

Corndog is open-source — you can print and source everything yourself. If you'd rather skip the work, a kit is coming soon through OpenLonehollow.

Tier What You Get Estimated Price
Printed Parts Only All 3D printed structural components ~$60–80
Unassembled Kit Printed parts + all electronics ~$450–500
Assembled & Calibrated Fully built, programmed, and ready to go ~$800

Want to build it yourself from scratch? Everything you need is in this repo and the assembly guide.


Hardware

Component Notes Example Link
Raspberry Pi 5 Raspbian 64-bit Amazon
Adafruit PCA9685 PWM Driver I²C address 0x40 Adafruit
Servo Motors × 12 0–270°, pulse 500–2500 µs Amazon
Adafruit BNO08X IMU I²C address 0x4B
LiPo Battery + Power Module Custom PCB solution coming Amazon
I²C LCD Display For status readout
Wires, headers, standoffs Standard hobby hardware

A full Bill of Materials with exact quantities and sources is in progress and will be linked here.


3D Printed Parts

Most structural parts come from KDY0523's Thingiverse design, with reinforced legs from mike4192's SpotMicro fork.

Modifications and custom parts (like the shoulder harness for companion mode) are included in the /3DModels folder.

  • All parts currently printed in PLA
  • Experimented with ASA for joints (more strength) but it snapped under stress and PLA is easier to work with
  • Thanks to BTULab (where I work now) @ CU Boulder for printing assistance

Installation

Everything installs itself. On a fresh Raspberry Pi (Raspberry Pi OS Bookworm 64-bit with desktop), open a terminal on the Pi and run:

curl -sSL https://raw.githubusercontent.com/Obsideaock/Corndog/main/installer/install.sh | bash
sudo reboot

That single line handles the apt packages, I2C, the Python environment, the IK library, the corndog command, and the boot supervisor. To install somewhere other than ~/Corndog:

curl -sSL https://raw.githubusercontent.com/Obsideaock/Corndog/main/installer/install.sh | CORNDOG_DIR=/path/you/want bash

Full details in Docs/USER_GUIDE.md.


Key Scripts

Script What it does
main.py Core control: IK, all movements, Tkinter GUI
SteamDeckCommunication.py Joystick control over TCP + MJPEG video stream
MoveLib.py Movement library (aliased by SteamDeck script)
gait_engine_app.py Gait engine module
StartupLCD.py Boot supervisor + LCD display
tools/align.py Assembly Part A: hold servos at the horn pose
tools/calibrate.py Assembly Part B: trim joints + save calibration
Flipper2.py / FlipperTed.py Flipper Zero integration

Setup & Calibration

Calibration is built in — no more editing angles by hand. During assembly:

corndog align       # Part A: before horns go on — holds every servo at
                    # the reference pose so you attach horns correctly
corndog calibrate   # Part B: after assembly, robot ON ITS BACK — nudge
                    # each joint to perfect, press s to save

The calibration lives in ~/.config/corndog/calibration.json and survives every software update. Details in Docs/USER_GUIDE.md.

Run

corndog gui                 # GUI control (on-device)
corndog deck                # Steam Deck / remote control + video stream
# Stream available at http://<pi-ip>:8000/stream.mjpg
# Control on TCP port 65432

Roadmap

  • Static walking gaits
  • Turn left / right
  • Inverse kinematics
  • IMU integration
  • Companion mode
  • Steam Deck control
  • Assembly guide (in progress)
  • Full BOM
  • Custom power PCB
  • Dynamic gaits
  • ML-Agents gait training
  • Web dashboard
  • Kit launch

Contributing

Issues and PRs are welcome — please use GitHub Issues and follow existing code style. The project is licensed CC BY 4.0, so use and adapt freely with credit.


Acknowledgements


Built by Leo Heuring (Obsideaock) · openlonehollow.com

About

Microspot Pet Project

Resources

Stars

9 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages