November 2020 Update

A project log for mjbots quad

An open-source, affordable, dynamic quadruped robot

Josh PieperJosh Pieper 11/09/2020 at 16:120 Comments

First, the video:

Second, you can purchase copies of many of the things mentioned at

This is basically a summary of everything that I've posted on hackaday,, instagram, and youtube for the last year.  Highlights:


This year the r4.3 moteus controller was released for the first time.  It lets you turn off the shelf hobby brushless motors into high performance servo actuators.  The r4 series was a major revamp over the r3 used in the quad A0.  It has CAN-FD, an STM32G4, and a higher input voltage of 34V.

It is still completely open source hardware and software on github:

I made a programming and test fixture for the controllers that runs a bunch of board validation steps, including calibrating a motor to make sure all the hardware works properly:

And I made a dynamometer with two controllers back to back and a physical torque transducer:

This let me both validate the firmware in an automated manner, but also resolve some defects that caused poor low torque performance.

You can now spin continuously in the primary position control mode, and the measured position can get arbitrarily far away from 0 as long as you only care about velocity and not the actual position.

There is a new control mode that lets you command upper and or lower bounds, within which only feedforward torque is applied.

And there is now optional compensation for magnetic saturation, which lets the controller report and use torque accurately even when the motor is nearing its peak torque.

Finally, the newest version is the r4.5, which is basically the same as the r4.3, but has manfuacturability improvements and supports input voltages up to 44V.


Next up is the qdd100 quasi direct drive actuator.  I spent a lot of time educating myself at least a little about CNC machining, enough to design and manufacture a prototype all aluminum actuator.  The first version was just a functional validation, then I did it again with a version optimized for weight and performance.

First is the one I made for functional verification (with an r3 moteus controller):

And here's the one that was optimized for weight and performance:

I then went and made a bunch of them:


I designed and released 3 different accessory boards in the past year.  First is the fdcanusb:

Gotta love the PETG 3d printed case!

Next I did the power_dist board, which has a pre-charge function and 6x XT30 output connectors:

Finally, I did the pi3hat, which is a daughterboard for a Raspberry Pi 3 or 4.  It has 4x CAN-FD buses, 1x low speed CAN bus, an IMU, and a voltage converter to power the Raspberry Pi from up to 34V.


I got to do some cool demos of individual components.  First was measuring the ground truth torque of the qdd100 servo using a 1m long pole and a digital scale:

I also made a quick and dirty telepresence demonstration, where two qdd100s were linked together with a 2kHz rate control loop through a pi3hat. You could in software change the effective gear ratio, or even magnify torque without changing the rate of motion.

quad A1 hardware

I've spent a lot of time iterating on the quad A1 lower foot and leg.  I started out by switching the foot from a rubber end cap to a squash ball with foam cast inside:

And then worked through ~6 different iterations of material selection and lower leg and foot geometry as each one failed in some way.  Can you spot the differences? ;)

The chassis was completely redesigned so that it assembles in multiple pieces, and that all the important bits are kept nicely inside instead of strapped on to the top.

And I iterated on the cabling between the upper and lower leg, finally settling on some continuous motion plastic conduit, which I tested for 100,000 cycles.

quad A1 software

The software changes aren't as amenable to summarization.  If you're interested, watch the video, and check out all the links at:

The culmination of all the software work was some new speed records, you can check those out in this video:

New videos

If you made it this far, you deserve to see some so-far-unlisted youtube videos. ;)