The RS00 in brief
- Good value. A full actuator with gearbox, encoders and driver costs $119–165 in the US.
- Easy to drive. It runs from a 48 V supply and talks over a single CAN bus at 1 Mbit/s. A Teensy 4.1 and a small transceiver board are enough.
- Accurate when holding. Measured static torque followed the listed torque constant, less a fixed friction loss of about 0.35 N·m.
- Slow torque at the factory setting. The motors tested shipped with a current-loop gain that takes 11–15 ms to build torque. Raising one parameter cut that to 3–5 ms.
- Runs hot without metal. The 5 N·m rating assumes an aluminum heat sink. On a printed mount in still air, the measured continuous torque is closer to 2.2 N·m.
Specifications
All figures below come from RobStride's own documents. The October 2026 series specification also lists a newer version with higher torque, and sellers do not say which version they ship.
| Spec | RS00 |
|---|---|
| Peak torque | 14 N·m (newer version 17 N·m) |
| Rated torque | 5 N·m at 100 rpm, with a 90 × 85 mm aluminum heat sink (newer version 6 N·m) |
| No-load speed | 315 rpm at 48 V |
| Gear | 10:1 planetary, machined steel |
| Torque constant | 1.48 N·m per A rms at the output |
| Mass | 310 g (newer version 330 g) |
| Size | 57 mm diameter × 51 mm |
| Supply | 48 V rated, 24–60 V |
| Feedback | Two 14-bit magnetic encoders, absolute across turns |
| Interface | CAN 2.0 at 1 Mbit/s (a CAN FD version also exists), XT30(2+2) power and CAN connector |
| Motor | 28-pole brushless motor with a built-in FOC driver |
| Output inertia (listed) | 0.001 kg·m² |
| Thermal cutoff | 145 °C |
| List price | $84 (¥598) |
The RS00 is the smallest full-power motor in RobStride's line. It shares its protocol, connectors and driver features with the larger RS02, so the two can share one bus. The Robot Dog Actuators guide compares it with actuators from other makers, and the Servo Guide has its full entry.
Control modes
The RS00 has several ways to be commanded, chosen with a run-mode setting.
- Operation mode is RobStride's name for MIT-style control, after the MIT Mini Cheetah's motor protocol. Each command carries a target position, target speed, stiffness (Kp), damping (Kd) and a feed-forward torque. The driver computes the torque itself, τ = Kp (pset − p) + Kd (vset − v) + τff. Learned walking controllers and jump controllers use this mode.
- Position mode (CSP) moves to a target angle at a set speed and current limit. It is the simplest way to make a joint move.
- Speed mode holds a set speed with an acceleration limit.
- Current mode sets the motor current, and with it the torque, directly.
The motor speaks three protocols. RobStride's private protocol uses 29-bit CAN IDs and gives access to every parameter. The other two are a CANopen protocol and an 11-bit MIT protocol, and a command switches between them after a power cycle. The motors tested here used the private protocol.
Parameters such as gains and limits can be written while the motor runs. These writes last only until power-off. A separate save command makes them permanent.
A CAN timeout protects against a crashed controller. If no command arrives within the set time, the motor drops its drive. In tests the drive stopped 41–50 ms after the last frame with a 50 ms timeout.
Wiring and bench setup
The tests on this page used a Teensy 4.1 microcontroller with a Waveshare SN65HVD230 CAN transceiver board, a 48 V bench supply and a Mac over USB. The board's own 120 Ω resistor terminated one end of the bus. Several motors share the bus in parallel, each with its own ID from 1 to 127. A new motor answers at ID 127.
Two parts caused trouble early on.
- Cheap transceiver boards. A three-pack of unbranded SN65HVD230 boards could not drive the bus at all, and all three failed the same way. A genuine Waveshare board worked first time.
- The RobStride USB-to-CAN adapter. It never got a reply from a motor in the first test. The same motor answered at once on the Teensy, so the adapter or its settings were at fault.
The firmware on both RS00s was version 0.0.3.22. At full speed with no load, the motor held 314–316 rpm, its listed 315 rpm.
Control lessons
Each of these rules came from a failed test that at first looked like a broken leg or a dead motor.
- Leave 20 ms between setup commands. Sent back to back, the mode, limit, timeout and enable commands can leave the motor switched off. Gearbox friction then makes the joint look like it is holding.
- Enable all motors together, then stream commands. With a 100 ms CAN timeout, a motor that waits for the others times out and goes limp. Its status bits still report it as running, so the controller has to track this itself.
- Switch modes only where gravity is about zero. The motor is off for about 0.1 s during a mode change, and "off" does not brake. A leg holding about 0.55 N·m fell 0.2 rad before the motor came back.
- Watch the foot in position mode. A straight line in joint angles is a curve at the foot. Between two standing poses the foot dips below both, so a position move with something under the foot can jam.
- Read the torque reading with care. While the motor speeds up or slows down, its torque reading drops to about half the command and can even flip sign. It seems to report the load on the output, the torque left after the motor accelerates its own rotor and gears (unconfirmed). Holding still, it matches the real torque.
In operation mode, a stiffness of 40 N·m/rad with damping 0.8 held a printed leg steadily. At 20 N·m/rad the foot sank about 0.05 rad under a 20 N press.
Current-loop gain
Inside the driver, a current loop adjusts the voltage on the windings until the current, and so the torque, matches the command. Its gain sets how fast that happens.
The motors tested delivered far less torque than commanded in fast moves. In a 10 ms pulse, the knee motor gave about 0.9 N·m of a 4 N·m command. Static holds and slow moves were accurate, so earlier tests had not shown the problem. With the output held still against a stop, the current rose like a slow first-order lag with a time constant of 11–15 ms.
The supply voltage stayed flat at 47.5–47.9 V. The current filter setting changed only the noise in the reading. The cause was the current-loop gain, cur_kp (parameter 0x7010). The motors carried 0.125, the value from Xiaomi's older CyberGear motor. RobStride's RS00 manual lists 0.17 in one table and 0.025 in another.
| cur_kp | Time constant | Overshoot |
|---|---|---|
| 0.125 (factory) | 11–15 ms | up to 10% |
| 0.17 | 8–12 ms | up to 11% |
| 0.25 | 6–10 ms | up to 14% |
| 0.35 | 5–8 ms | up to 15% |
| 0.5 | 3–5 ms | up to 16% |
At 0.5, the hip motor delivered the full 4 N·m command within a 20 ms pulse, up from about half. The knee delivered about twice as much as before in 10 ms pulses. The current settled in one hump with no ringing, and the steady noise stayed the same. In repeated hops on a test leg, the delay between command and motion fell from 10–14 ms to 2–4 ms.
Some limits apply.
- The gain was set with a temporary write at each start, so a power cycle restores the factory value. It was never saved to the motor.
- In position mode, 0.5 made the motor buzz loudly with about eight times the torque noise and no better tracking. It suits operation mode only.
- Values above 0.5 were not tried.
- RobStride was asked on November 1, 2026 whether 0.5 is safe for long-term use and has not answered yet.
Torque accuracy
An RS00 in a printed stand pulled a luggage scale through a 200 mm lever. From 2 to 5 N·m, the measured torque followed real = 0.98 × command − 0.36 N·m. The slope shows the torque constant is right. The fixed 0.36 N·m loss comes from gearbox static friction and the scale's own drag. A separate gravity hold on a printed leg read 0.93 of the torque its model predicted.
Heat tests
RobStride's 5 N·m rating assumes the motor is bolted to an aluminum plate. A robot dog's knee motor usually sits in a printed plastic housing. To measure the difference, an RS00 in a printed PETG stand pulled a spring through a lever. Each run held a steady torque plus a small ripple until the temperature levelled off or reached a 100 °C cutoff.
| Run | Torque | Mount | Result |
|---|---|---|---|
| H1 | 4.2 N·m (85% of rated) | Bare motor, printed stand | 17 °C to the 100 °C cutoff in 9.2 minutes, still climbing |
| H0 | 2.4 N·m | Bare motor, printed stand | Peaked at 89 °C after 45–50 minutes, levelling near 93 °C |
| HH | 1.5 N·m | Inside a printed knee housing | Levelled at 41 °C after 47 minutes |
The supply readings explained why H0 ran hotter than a copper-loss model predicted. Holding still, a motor does no work, so all the power it draws becomes heat. At 2.4 N·m it drew 9.3 W, about twice what the windings alone explain. Even near zero torque it drew about 3 W. In H1 the draw rose from 22 W to 28 W at the same torque, since copper's resistance rises as it heats.
A thermal model fitted to all three runs gives the continuous torque that a printed mount allows in still 25 °C air.
| Mount | To stay under 100 °C | To stay under 145 °C |
|---|---|---|
| Bare motor, printed stand | 2.4 N·m | 2.8 N·m |
| Inside a printed housing | 2.2 N·m | 2.6 N·m |
That is about half the rated 5 N·m. The housing added only 0–20% to the thermal resistance in still air. Walking or a fan would move more air and allow more torque, but that was not measured. Short bursts are a different story. During 20 chained hops on a test leg, the knee reached 6.5 N·m and 65 W, and both motors stayed under 27 °C.
Friction and inertia
Simulators such as MuJoCo need a motor's friction and its reflected inertia, the rotor and gears' resistance to speeding up as felt at the output. RobStride lists no friction, and these tests disagree with its listed inertia.
| Quantity | Measured | How |
|---|---|---|
| Running friction | 0.10 N·m + 0.0065 N·m per rad/s | Speed sweep, free output |
| Running friction | 0.12–0.15 N·m | Hip fall and knee swing tests on a leg |
| Static friction | 0.15–0.35 N·m, varies with position | Breakaway and torque tests |
| Inertia, hip motor | about 0.003 kg·m² | Fit to a leg falling from rest |
| Inertia, knee motor | about 0.0066 kg·m² | Torque pushes and coast-downs |
| Inertia, RobStride listing | 0.001 kg·m² | Spec sheet |
Both measured inertias are well above RobStride's figure, and the two motors disagree with each other by about two times. The hip value came from a short fall with large friction, so it is the less certain of the two. An earlier result of 0.022 kg·m² was ruled out by both later tests. A matching push test on the hip motor should settle the difference.
Open questions
- Whether cur_kp 0.5 is safe for long-term use, which is waiting on RobStride's answer.
- The hip motor's inertia, measured the same way as the knee's.
- Temperatures inside a closed printed thigh during walking, with real airflow.
- Whether newly shipped motors are the 17 N·m version, and whether they carry the same factory gain.
This page will be updated as those results come in.
Buying
In early November 2026, Seeed Studio listed the RS00 at $125 from its China warehouse, or $119 each for ten or more. Its US warehouse was out of stock. AIFIT Lab listed it at $125, or $117 each for five or more, also shipped from China. Amazon listed it at $165. The motors tested here cost $165 on Amazon, $138.99 from Seeed's US warehouse and about $128 each, shipping included, in a bulk order from AIFIT Lab. Order the version with the classic CAN 2.0 interface unless the controller supports CAN FD.
Sources
- RobStride product information and RS00 user manual (GitHub), including the October 2026 series specification
- RobStride 00 product page
- Seeed Studio RobStride control library wiki
- Bench tests on two RS00s, October 22 to November 2, 2026, logged on the LocksleyFox page
