diff --git a/examples/10_use_so100.md b/examples/10_use_so100.md
index b39a02396..23da1eab6 100644
--- a/examples/10_use_so100.md
+++ b/examples/10_use_so100.md
@@ -4,8 +4,8 @@
- [A. Source the parts](#a-source-the-parts)
- [B. Install LeRobot](#b-install-lerobot)
- - [C. Configure the motors](#c-configure-the-motors)
- - [D. Assemble the arms](#d-assemble-the-arms)
+ - [C. Configure the Motors](#c-configure-the-motors)
+ - [D. Step-by-Step Assembly Instructions](#d-step-by-step-assembly-instructions)
- [E. Calibrate](#e-calibrate)
- [F. Teleoperate](#f-teleoperate)
- [G. Record a dataset](#g-record-a-dataset)
@@ -70,6 +70,7 @@ conda install -y -c conda-forge "opencv>=4.10.0"
```
Great :hugs:! You are now done installing LeRobot and we can begin assembling the SO100 arms :robot:.
Every time you now want to use LeRobot you can go to the `~/lerobot` folder where we installed LeRobot and run one of the commands.
+
## C. Configure the motors
> [!NOTE]
@@ -221,19 +222,13 @@ Redo the process for all your motors until ID 6. Do the same for the 6 motors of
Follow the video for removing gears. You need to remove the gear for the motors of the leader arm. As a result, you will only use the position encoding of the motor and reduce friction to more easily operate the leader arm.
-#### c. Add motor horn to all 12 motors
+## D. Step-by-Step Assembly Instructions
-
-Video adding motor horn
+**Step 1: Clean Parts**
+- Remove all support material from the 3D-printed parts.
+---
-
-
-
-
-Follow the video for adding the motor horn. For SO-100, you need to align the holes on the motor horn to the motor spline to be approximately 1:30, 4:30, 7:30 and 10:30.
-Try to avoid rotating the motor while doing so to keep position 2048 set during configuration. It is especially tricky for the leader motors as it is more sensible without the gears, but it's ok if it's a bit rotated.
-
-## D. Assemble the arms
+### Additional Guidance
Video assembling arms
@@ -242,7 +237,211 @@ Try to avoid rotating the motor while doing so to keep position 2048 set during
-Follow the video for assembling the arms. It is important to insert the cables into the motor that is being assembled before you assemble the motor into the arm! Inserting the cables beforehand is much easier than doing this afterward. The first arm should take a bit more than 1 hour to assemble, but once you get used to it, you can do it under 1 hour for the second arm.
+**Note:**
+This video provides visual guidance for assembling the arms, but it doesn't specify when or how to do the wiring. Inserting the cables beforehand is much easier than doing it afterward. The first arm may take a bit more than 1 hour to assemble, but once you get used to it, you can assemble the second arm in under 1 hour.
+
+---
+
+### First Motor
+
+**Step 2: Insert Wires**
+- Insert two wires into the first motor.
+
+
+
+**Step 3: Install in Base**
+- Place the first motor into the base.
+
+
+
+**Step 4: Secure Motor**
+- Fasten the motor with 4 screws. Two from the bottom and two from top.
+
+**Step 5: Attach Motor Holder**
+- Slide over the first motor holder and fasten it using two screws (one on each side).
+
+
+
+**Step 6: Attach Motor Horns**
+- Install both motor horns, securing the top horn with a screw. Try not to move the motor position when attaching the motor horn, especially for the leader arms, where we removed the gears.
+
+
+
+ Video adding motor horn
+
+
+
+**Step 7: Attach Shoulder Part**
+- Route one wire to the back of the robot and the other to the left or in photo towards you (see photo).
+- Attach the shoulder part.
+
+
+
+**Step 8: Secure Shoulder**
+- Tighten the shoulder part with 4 screws on top and 4 on the bottom
+*(access bottom holes by turning the shoulder).*
+
+---
+
+### Second Motor Assembly
+
+**Step 9: Install Motor 2**
+- Slide the second motor in from the top and link the wire from motor 1 to motor 2.
+
+
+
+**Step 10: Attach Shoulder Holder**
+- Add the shoulder motor holder.
+- Ensure the wire from motor 1 to motor 2 goes behind the holder while the other wire is routed upward (see photo).
+- This part can be tight to assemble, you can use a workbench like the image or a similar setup to push the part around the motor.
+
+
+
+**Step 11: Secure Motor 2**
+- Fasten the second motor with 4 screws.
+
+**Step 12: Attach Motor Horn**
+- Attach both motor horns to motor 2, again use the horn screw.
+
+**Step 13: Attach Base**
+- Install the base attachment using 2 screws.
+
+
+
+**Step 14: Attach Upper Arm**
+- Attach the upper arm with 4 screws on each side.
+
+
+
+---
+
+### Third Motor Assembly
+
+**Step 15: Install Motor 3**
+- Route the motor cable from motor 2 through the cable holder to motor 3, then secure motor 3 with 4 screws.
+
+**Step 16: Attach Motor Horn**
+- Attach both motor horns to motor 3 and secure one again with a horn screw.
+
+
+
+**Step 17: Attach Forearm**
+- Connect the forearm to motor 3 using 4 screws on each side.
+
+
+
+---
+
+### Fourth Motor Assembly
+
+**Step 18: Install Motor 4**
+- Slide in motor 4, attach the cable from motor 3, and secure the cable in its holder with a screw.
+
+
+

+

+
+
+**Step 19: Attach Motor Holder 4**
+- Install the fourth motor holder (a tight fit). Ensure one wire is routed upward and the wire from motor 3 is routed downward (see photo).
+
+
+
+**Step 20: Secure Motor 4 & Attach Horn**
+- Fasten motor 4 with 4 screws and attach its motor horns, use for one a horn screw.
+
+
+
+---
+
+### Wrist Assembly
+
+**Step 21: Install Motor 5**
+- Insert motor 5 into the wrist holder and secure it with 2 front screws.
+
+
+
+**Step 22: Attach Wrist**
+- Connect the wire from motor 4 to motor 5. And already insert the other wire for the gripper.
+- Secure the wrist to motor 4 using 4 screws on both sides.
+
+
+
+**Step 23: Attach Wrist Horn**
+- Install only one motor horn on the wrist motor and secure it with a horn screw.
+
+
+
+---
+
+### Follower Configuration
+
+**Step 24: Attach Gripper**
+- Attach the gripper to motor 5.
+
+
+
+**Step 25: Install Gripper Motor**
+- Insert the gripper motor, connect the motor wire from motor 5 to motor 6, and secure it with 3 screws on each side.
+
+
+
+**Step 26: Attach Gripper Horn & Claw**
+- Attach the motor horns and again use a horn screw.
+- Install the gripper claw and secure it with 4 screws on both sides.
+
+
+
+**Step 27: Mount Controller**
+- Attach the motor controller on the back.
+
+
+

+

+
+
+*Assembly complete – proceed to Leader arm assembly.*
+
+---
+
+### Leader Configuration
+
+For the leader configuration, perform **Steps 1–23**. Make sure that you removed the motor gears from the motors.
+
+**Step 24: Attach Leader Holder**
+- Mount the leader holder onto the wrist and secure it with a screw.
+
+
+
+**Step 25: Attach Handle**
+- Attach the handle to motor 5 using 4 screws.
+
+
+
+**Step 26: Install Gripper Motor**
+- Insert the gripper motor, secure it with 3 screws on each side, attach a motor horn using a horn screw, and connect the motor wire.
+
+
+
+**Step 27: Attach Trigger**
+- Attach the follower trigger with 4 screws.
+
+
+
+**Step 28: Mount Controller**
+- Attach the motor controller on the back.
+
+
+

+

+
+
+*Assembly complete – proceed to calibration.*
+
## E. Calibrate
diff --git a/media/tutorial/img1.jpg b/media/tutorial/img1.jpg
new file mode 100644
index 000000000..c16fbf5e9
Binary files /dev/null and b/media/tutorial/img1.jpg differ
diff --git a/media/tutorial/img10.jpg b/media/tutorial/img10.jpg
new file mode 100644
index 000000000..925ed9182
Binary files /dev/null and b/media/tutorial/img10.jpg differ
diff --git a/media/tutorial/img11.jpg b/media/tutorial/img11.jpg
new file mode 100644
index 000000000..ac0403123
Binary files /dev/null and b/media/tutorial/img11.jpg differ
diff --git a/media/tutorial/img12.jpg b/media/tutorial/img12.jpg
new file mode 100644
index 000000000..dd500afba
Binary files /dev/null and b/media/tutorial/img12.jpg differ
diff --git a/media/tutorial/img13.jpg b/media/tutorial/img13.jpg
new file mode 100644
index 000000000..99c6836f7
Binary files /dev/null and b/media/tutorial/img13.jpg differ
diff --git a/media/tutorial/img14.jpg b/media/tutorial/img14.jpg
new file mode 100644
index 000000000..8b544e247
Binary files /dev/null and b/media/tutorial/img14.jpg differ
diff --git a/media/tutorial/img15.jpg b/media/tutorial/img15.jpg
new file mode 100644
index 000000000..76cee5521
Binary files /dev/null and b/media/tutorial/img15.jpg differ
diff --git a/media/tutorial/img16.jpg b/media/tutorial/img16.jpg
new file mode 100644
index 000000000..363b729da
Binary files /dev/null and b/media/tutorial/img16.jpg differ
diff --git a/media/tutorial/img17.jpg b/media/tutorial/img17.jpg
new file mode 100644
index 000000000..dc211bc63
Binary files /dev/null and b/media/tutorial/img17.jpg differ
diff --git a/media/tutorial/img18.jpg b/media/tutorial/img18.jpg
new file mode 100644
index 000000000..c9732b65c
Binary files /dev/null and b/media/tutorial/img18.jpg differ
diff --git a/media/tutorial/img19.jpg b/media/tutorial/img19.jpg
new file mode 100644
index 000000000..25c5f0e38
Binary files /dev/null and b/media/tutorial/img19.jpg differ
diff --git a/media/tutorial/img2.jpg b/media/tutorial/img2.jpg
new file mode 100644
index 000000000..47d3671c9
Binary files /dev/null and b/media/tutorial/img2.jpg differ
diff --git a/media/tutorial/img20.jpg b/media/tutorial/img20.jpg
new file mode 100644
index 000000000..effe9c96d
Binary files /dev/null and b/media/tutorial/img20.jpg differ
diff --git a/media/tutorial/img21.jpg b/media/tutorial/img21.jpg
new file mode 100644
index 000000000..0acc51945
Binary files /dev/null and b/media/tutorial/img21.jpg differ
diff --git a/media/tutorial/img22.jpg b/media/tutorial/img22.jpg
new file mode 100644
index 000000000..3f223a8b3
Binary files /dev/null and b/media/tutorial/img22.jpg differ
diff --git a/media/tutorial/img23.jpg b/media/tutorial/img23.jpg
new file mode 100644
index 000000000..b9c411f4a
Binary files /dev/null and b/media/tutorial/img23.jpg differ
diff --git a/media/tutorial/img24.jpg b/media/tutorial/img24.jpg
new file mode 100644
index 000000000..4011d190d
Binary files /dev/null and b/media/tutorial/img24.jpg differ
diff --git a/media/tutorial/img25.jpg b/media/tutorial/img25.jpg
new file mode 100644
index 000000000..727dbadf2
Binary files /dev/null and b/media/tutorial/img25.jpg differ
diff --git a/media/tutorial/img26.jpg b/media/tutorial/img26.jpg
new file mode 100644
index 000000000..ae38e9802
Binary files /dev/null and b/media/tutorial/img26.jpg differ
diff --git a/media/tutorial/img27.jpg b/media/tutorial/img27.jpg
new file mode 100644
index 000000000..628b8a84b
Binary files /dev/null and b/media/tutorial/img27.jpg differ
diff --git a/media/tutorial/img28.jpg b/media/tutorial/img28.jpg
new file mode 100644
index 000000000..e9a7fb5de
Binary files /dev/null and b/media/tutorial/img28.jpg differ
diff --git a/media/tutorial/img29.jpg b/media/tutorial/img29.jpg
new file mode 100644
index 000000000..78210b295
Binary files /dev/null and b/media/tutorial/img29.jpg differ
diff --git a/media/tutorial/img3.jpg b/media/tutorial/img3.jpg
new file mode 100644
index 000000000..bf9b7bca8
Binary files /dev/null and b/media/tutorial/img3.jpg differ
diff --git a/media/tutorial/img30.jpg b/media/tutorial/img30.jpg
new file mode 100644
index 000000000..0fa59bba1
Binary files /dev/null and b/media/tutorial/img30.jpg differ
diff --git a/media/tutorial/img31.jpg b/media/tutorial/img31.jpg
new file mode 100644
index 000000000..1409d2f01
Binary files /dev/null and b/media/tutorial/img31.jpg differ
diff --git a/media/tutorial/img32.jpg b/media/tutorial/img32.jpg
new file mode 100644
index 000000000..74dbee5fd
Binary files /dev/null and b/media/tutorial/img32.jpg differ
diff --git a/media/tutorial/img4.jpg b/media/tutorial/img4.jpg
new file mode 100644
index 000000000..9d155c165
Binary files /dev/null and b/media/tutorial/img4.jpg differ
diff --git a/media/tutorial/img5.jpg b/media/tutorial/img5.jpg
new file mode 100644
index 000000000..afd3c4284
Binary files /dev/null and b/media/tutorial/img5.jpg differ
diff --git a/media/tutorial/img6.jpg b/media/tutorial/img6.jpg
new file mode 100644
index 000000000..c669d37d9
Binary files /dev/null and b/media/tutorial/img6.jpg differ
diff --git a/media/tutorial/img7.jpg b/media/tutorial/img7.jpg
new file mode 100644
index 000000000..3f6c3501b
Binary files /dev/null and b/media/tutorial/img7.jpg differ
diff --git a/media/tutorial/img8.jpg b/media/tutorial/img8.jpg
new file mode 100644
index 000000000..009102cb4
Binary files /dev/null and b/media/tutorial/img8.jpg differ
diff --git a/media/tutorial/img9.jpg b/media/tutorial/img9.jpg
new file mode 100644
index 000000000..06a4f58eb
Binary files /dev/null and b/media/tutorial/img9.jpg differ