Why I'm building it
It started because I wanted to buy a robot dog. Many years ago I fell in love with the idea of buying a Sony Aibo, but after learning how slow it moves I lost interest to a certain degree. But after seeing dogs that can do things like flips and climb stairs I discovered a new infatuation.
The robot dogs that do dynamic tricks either cost a lot or lock down low-level control, and the open ones are mostly small servo kits. The exception is ones that have good hardware and programmability, but those can easily exceed $10k. So I decided to build my own, one step at a time, instead of committing to a full build up front.
Also, it's hard to budget several thousand dollars for an expensive toy (like a Go2 Air) that I get tired of in a few weeks. By building it myself, I will be able to get better use of my time since I will be learning as I go, and get more satisfaction along the way. I can easily see this project taking a half a year, or longer.
It's a fox instead of a dog because there aren't many robot foxes out there. The plan is ears, a tail and a fox-like look on top of a fairly standard quadruped layout. But since I am focusing on the functional and mechanical aspects first, I haven't done the fox styling.
I'll be upfront from the beginning: I am using Claude for much of the design, building, and testing process. While I do have a formal education in Computer and Electrical Engineering (and a bit of robotics), I lack strong knowledge of things on the mechanical side like torque, materials, analyzing the strength of structures, etc. Despite the flaws of Claude (and other LLM-based tools), if you learn to work around the quirks you can achieve amazing jumps in productivity. I am not just following blindly what Claude suggests, but rather asking many questions and pushing through design iterations to get something better than whatever Claude randomly started with (for example when doing the leg design).
For the time being, the point of this page is to capture the process of designing, building, and testing the robot. Hence I won't be providing exact, finalized plans to build it. However, once I get it working well enough I am considering sharing the full designs so others can build the robot.
Actuators
The legs use RobStride RS00 brushless actuators driven over CAN at 1 Mbps. I also tested the stronger RS02 on the bench, and a speed run on the RS00 held 315 rpm at 48 V.
Leg designs
I've gone through five leg layouts in simulation:
- 1.0: both motors at the hip, with a push rod down the thigh driving the knee (like the rods on a steam train). Light lower leg, but 21 parts per leg.
- 1.0b: knee motor (RS02) moved down to the knee.
- 1.0c: RS00 motors at both hip and knee, the knee motor turning the shank directly. 10 parts per leg, no linkage.
- 1.0d: 1.0c plus a soft ankle at the foot.
- 1.0e: a leaner 1.0d with a printed shank, vents for the knee motor and TPU foot pads. This is the one I've printed first.
In simulation with a realistic body (about 7.2 kg), 1.0c tops out around 1.4 m/s and 1.0d around 1.6 m/s, and 1.0d gets from standing to 1 m/s in about a third of a second. Both still walk carrying an extra kilogram. The limit so far is heat in the knee motor, which is what the next bench test will measure.
How each design is checked
- CAD written in Python, checked for part clashes and joint range
- Walking, jumping and flips trained with reinforcement learning in MuJoCo, using the motors' real torque and speed limits and a heat model
- Stress checks on the printed parts, modeled with the actual wall count and infill, not solid plastic
- Motor tests on the bench before anything goes on the robot
I wrote up the whole process here: Quadruped Design Validation
Electronics
A Teensy 4.1 talks to the motors through a Waveshare SN65HVD230 CAN board. A Raspberry Pi or Jetson will run the higher-level control later.
Printing
Parts are printed on a QIDI Plus 5. PLA for fit checks so far, and TPU for the foot pads.
Jeff Wisgo


















