Frames of the MRV jumping robot from one jump, rising from a crouch to the top of its leap

Decoupling robot progress from atoms

Software that makes a $200 robot arm go where it is told. First release: so101-doctor, a free servo check and simulated twin for the SO-101 arm.

Get so101-doctor

MRV jumping robot, built by hand. Frames from one jump.

Your command: a 60° move. Pick how fast.

  1. A stock servo hits its speed limit, lags behind and lands on backlash.
  2. Calibration measures those limits on your arm, so software can plan around them.
Speed limit
299°/s
Backlash
±0.5°
Peak lag
28.2°
Shoulder lift, STS3215 Simulated

CommandServoPeak lag

Simulated from datasheet limits; 10 ms delay assumed. Not a measurement.

Where it stands

1. Check the servos

so101-doctor reads the settings of your six servos and warns about the ones that are off. It cannot move the arm or change a setting.

Released Install and run it. Free, Apache-2.0.

2. Simulate the real servo

A MuJoCo twin (a simulated copy) of the SO-101 with the servo’s real control loop. It rests about twice as close to the real arm as the stock model.

Distance from the simulated gripper tip to the real one, at rest. Lower is better.
Arm set toTwinStock model
P 166.4 mm15.2 mm
P 323.7 mm7.7 mm
One arm, nothing in the gripper, from the joint encoders. 180 holds on 8 Nov 2026 (P 16), 164 on 10 Nov 2026 (P 32). Stock model: MuJoCo Menagerie. The twin and its limits.

Released Not yet replicated It comes with so101-doctor.

3. Calibrate each arm

A twin of your own arm, fitted from a short recording session, used to make the real arm more precise.

Early result, our arm
MeasureResult
Tip error with 200 g at the jaw5.1× lower
Measured by camera at a tag on the gripper. One arm, one session, 9 Nov 2026.

In progress Not yet replicated Not released. Request early access

4. Payload and force

Payload and contact force from the servos’ own load readings, with no added sensor.

In progress Early access, by request. Request early access

Work

Projects
ItemProjectAreaYearPicture
1so101-doctorServo check, MuJoCo twin2026The SO-101 twin rendered in MuJoCo
2Rocky Robotics, 1st placeQuarry autonomy2026
33D room change detectionPerception2026Point cloud of a bedroom with moved, added and removed objects boxed and labelled
4Phone-to-robot learningImitation learning2026
5Reaction-wheel pendulumControl, LQR vs PPO2026Plot of body angle and arm speed recovering from a 7.45 degree lean
6MRV jumping robotHardware, dissertation2026The MRV one-legged jumping robot with its two stabilising arms
7Cannulation trainerMedical deviceBEng

Built by hand first

Before software, hardware: the last robot here was designed, printed, wired and cast from scratch, and it jumps 41 cm.

Jump test: 41 cm mean at 360 g
Close-up of the MRV ratchet gears and compliant conrods
Ratchet release, fifth revision
MRV control board layout in EasyEDA, top layer red, bottom layer blue
Control board layout
MRV wiring schematic: Teensy 4.0, two TB6612 motor drivers, four encoder motors, IMU, servo, battery and step-down regulator
Wiring schematic: Teensy 4.0, two motor drivers, four encoder motors, IMU and servo
Arm test on the stand, run from the laptop control panel

Why this lab

I’m Vato. I studied mechanical engineering at Warwick and start an MEng at Berkeley in Fall 2027. Until then, I’m building this.

Cheap robot arms are good enough to do real work. What holds them back is that their servos are rarely modelled, so the arm doesn’t go where the policy tells it to.

The goal: a $200 arm makes my breakfast every morning, learned from a video of my own hands. That needs an arm that goes exactly where it is told, so that is where I’m starting.

Every result here comes with its trial count, its failures and its cost. If it breaks, you’ll see it break.

Vato Inasaridze

Founder, Vato Labs. inasaridzevato@gmail.com

Log

Lab log, newest first
EntryDate
so101-doctor released: a read-only servo check for the SO-101 and a MuJoCo twin for arms at P 16 or P 32
Twin checked on the arm at P 32: tip 3.7 mm from the real one, 7.7 mm for the stock model (164 holds, not yet replicated)
First per-arm calibration result: tip error with 200 g at the jaw 5.1× lower, by camera (one session, not yet replicated)
Twin checked on the arm at P 16: tip 6.4 mm from the real one, 15.2 mm for the stock model (180 holds, not yet replicated)
Bench servo: BAM’s servo model with the firmware’s acceleration profile, simulation error 18.1 to 7.1 mrad (method and credits)
Calibration motions tested in sim: twins agree within 0.2°, so real servo data is the next lever
Servo twin fitted on public 12 V logs: 0.8° error on unseen moves, vs 8.3° with ready-made params
Lab set up: printer calibrated, servo fit gauges printed, robot station configured
1st place of 60 builders, Physical AI Hack London
Top 8 of about 180, Accel AI Innovate London