Continuing from my last post, I'm trying to narrow down which actuators to use for the spider bot and I've narrowed it down to the Steadywin GIM6010-8 and the Xiaomi CyberGear.
Here's how they compare:
CyberGear | GIM6010-8 | |
Size | 80.5mm x 36.5mm | 80mm x 40mm |
Weight | 317g | 388g |
Max RPM | 296RPM | 420RPM |
Gear reduction | 7.75 : 1 | 8 : 1 |
Nominal Torque | 4Nm | 5Nm |
Max Torque | 12Nm | 11Nm |
Torque constant | 0.87Nm/A | 0.47Nm/A |
Cost | $91 | $50 - $85 |
Driver | Proprietary with minimal documentation | ODrive 3.6 compatible clone. Lots of documentation + community. |
Driving the motor
The first problem I ran into was driving the CyberGear motor. It has a proprietary CAN bus communication scheme and very minimal documentation. They do have a desktop software program to connect and configure the motor, but it only runs on Windows with a very specific USB CAN adapter (not included with the motor). I'm on a Mac and wasn't able to get it working.
My solution was to build a desktop motor control app from scratch in Python that should work on all platforms.

On the other hand, the GIM6010-8 motor uses an ODrive-compatible driver. This means there's plenty of documentation on how to drive it and a community of people to answer questions.
Stall torque testing
While reading about Aaed Musa's Impulse project, he mentions that the measured stall torque of the GI6010-8 was only 3Nm, vs the advertised 11Nm. That would be way too little for my project if that's true.
Let's put the two motors to the test.
I 3D printed a matching test stand for each motor with a 200mm arm that would press down against a basic kitchen scale to test this.
My scale tops out at 11lbs, and both motors were able to push it to the limit.
To break down what that means in Nm:
- 1 lb = 4.44822N
- 11 lbs = 11 × 4.44822 = 48.93042N
- 200 mm = 0.2 m
- Torque = 48.93042 N × 0.2 m = 10.676 Nm
For each motor, I wasn't even driving them at 100%. So, I assume they can meet the torque listed on their product sheets.
I'm not sure why Aaed Musa got different results. Perhaps the GIM6010-8 has improved since he tested it. Alternatively, he used an ODrive micro instead of the stock driver in his tests. This driver is listed to have a max power output of 7A, while the motor's max consumption is listed at 25A. Perhaps the ODrive micro was limiting the torque to keep the current within the limits.
Stall torque current
Next, I wanted to see how the current consumption compared. For this test, I had both motors press down with the same amount of force on the scale and measured the current.
With both motors pressing at around 7lbs, 11oz, the GIM6010 pulled 2.29A and the CyberGear 1.99A. So, the CyberGear has about 13% more stall torque per amp.
Sound
Motor sound might seem like an odd thing to consider, but it's important since my robot will have 24 of them. When the CyberGear motor is enabled, it makes a very noticeable noise, like an airplane taking off. This is common with FOC controllers as they send current to the coils to maintain the state. The GIM6010 motor also has a sound, but it's about half the volume.
Usually, this can be fixed with calibration and tuning. On the CyberGear, adjusting the Kp and Kd values can make the noise quieter or louder. However, I haven't found a combination of tuning values that brings the noise level down to the GIM6010, and the motor's documentation doesn't help here.
Second encoder expansion
My robot needs to know where each actuator is at any given time. The onboard encoders in each actuator are placed before the planetary gearbox and used for motor commutation. This means we can't use them to get the absolute position of the motor output.
Some motor controllers have pins for a second encoder and use it to zero the relative position of the motor on startup. Then, even if the motor is moved when the power is off, it'll know exactly where it's positioned when it powers back up.
CyberGear does not support a second encoder, but it looks like the GIM6010-8 does! However, the GIM6010-8 only supports i2c and UART encoder interfaces, which are less common (odrive prefers SPI and RS485).
Alternatively, for $50, I can buy the GIM6010-8 motor without the controller board and attach a $89 ODrive micro, which has more modern support for a second encoder.
Conclusion
By the numbers, the motors are very similar.
The CyberGear is a little lighter and has more torque per amp. However, the onboard controller is poorly documented and has no room for expansion. Additionally, there's no community for support when running into issues.
On the other hand, even though the GIM6010-8 is a little heavier and current thirsty, the driver is based on an older version of a well-known driver (ODrive) with an active community.
I plan to buy the bare GIM6010-8, without the driver board or shell ($49.90), and use an ODrive micro ($89) to drive it. This should give me the latest ODrive offers with an active community for questions.
Addendum: MJBot Moteus Controller
The MJBots Moteus controllers have also been on my radar. The great thing about them is that they are fully open-source and significantly cheaper than the ODrive controllers. During the process of comparing motors, I tried out their development kit. I like the form factor and power output, but I had some problems.
First, the getting started documentation leaves a lot to be desired. It should get you from zero to moving the motor. Instead, it describes the control algorithm at a high level and directs you to the API documentation. This left a bad taste in my mouth that I would have limited support if I ran into issues.
The second and more significant issue is that the motor was about as loud as the CyberGear motor/driver when the Moteus controller was enabled. They have a blog post describing how to tune the controller to be quieter, but I couldn't improve it by much.
That said, I'm still keeping the controller on my radar. I'm concerned that the 7A max current on the ODrive micro might not be enough for more dynamic movements, like jumping. If that becomes an issue in some of my upcoming isolated tests, I'll explore the MJBots moteus line of controllers more.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.