Assembly Guide
June 30, 2026 ยท View on GitHub
This guide provides detailed instructions on how to assemble the parts for the Microban robot. Printing the parts and buying the necessary components are prequisites for this guide, so please refer to the Printing Guide and the BOM before starting the assembly process.
At any point during the assembly, you can refer to the Onshape assembly to see how the parts fit together.
The steps to assemble the robot are as follows:
- Motor Setup: Configure the motors using the Dynamixel Wizard software.
- Cable Setup: Prepare all the cables necessary for the assembly.
- Leg Assembly: Assemble the legs of the robot.
- Torso Assembly: Assemble the torso and arms of the robot.
- Electronics: Assemble the top of the trunk, build the battery module, and connect the electronics.
- Final Assembly: Assemble all the parts together to complete the robot.
1. Motor Setup
The first step in the assembly process is to set up the motors. I highly recommend writing the motor IDs directly on them to avoid mixing them up during configuration and assembly. The following table lists the motor names and their corresponding IDs:
| Motor Name | ID |
|---|---|
| Left Hip Yaw | 11 |
| Left Hip Roll | 12 |
| Left Hip Pitch | 13 |
| Left Knee | 14 |
| Left Ankle Pitch | 15 |
| Left Ankle Roll | 16 |
| Right Hip Yaw | 21 |
| Right Hip Roll | 22 |
| Right Hip Pitch | 23 |
| Right Knee | 24 |
| Right Ankle Pitch | 25 |
| Right Ankle Roll | 26 |
| Left Shoulder Pitch | 31 |
| Left Shoulder Roll | 32 |
| Left Elbow | 33 |
| Right Shoulder Pitch | 41 |
| Right Shoulder Roll | 42 |
| Right Elbow | 43 |
| Head | 51 |
To configure all the motors, connect one motor at a time to your PC using the U2D2 kit as presented in the image below.
Then, launch Dynamixel Wizard. If your XL330 motor is not new, perform a factory reset by clicking on the "Recovery" button, selecting the XL-330-288 model and following the instructions.
In the "Option" tab, select "Protocol 2.0", "57600 bps" as the baud rate, and verify that the correct COM port is selected. Then, click on the "Scan" button to detect the motor. Once the motor is detected, you can set the following parameters (and click on the "Save" button to save the settings):
- ID: the ID of the motor as listed in the table above
- Baud Rate: 3 (1Mbps)
- Return Delay Time: 0
- PWM Slope: 255 (no slope)
- Shutdown: 52 (Removing "Bit 0 Input voltage error")
Once the parameters are set, you can disconnect the motor and move on to the next one. If you want to check the motors at the end, you can connect them together as their IDs are set. You will need to change the baud rate of the scan to 1Mbps as it as been changed during the configuration.
2. Cable Setup
The XL330 motors used in the Microban robot are daisy-chained, which means that the motors are connected in series. This allows to limit the number of cables that need to be routed through the robot. The only exception is near the board, where the first cables are split to connect to several links. The following diagram shows how the motors are connected to each other and to the board, and what cable lengths are used for each connection.
2.1 Splitter Cable
To create the 1-to-2 splitter cable, you can cut 2 cables of 180mm to obtain 3 half-cables of approximately 50mm (you don't need more length than that). Then, you can solder 2 of them to the 3rd one. Be careful to solder together the same wires, as an incorrect connection can damage permanently the motors. Do not forget to insulate the soldered connections with heat shrink tubing.
To do the 1-to-3 splitter cable, the process is the same, but one of the 3 outgoing cables should be longer than the other two to allow for the robot opening from the top. So you should cut 2 cables of 180mm into 3 half-cables of approximately 50mm and one half-cable of approximately 120-130mm.
The following images shows how the splitter cable should look like.
2.2 Reducing Cable Length
To reduce the length of the 180mm cables, you can cut them to the desired length and solder the ends back together, but it can lead to a weak connection and communication issues. A better solution is to re-crimp the cables to the desired length. To do this, you will need a crimping tool, JST EH crimp terminals, and optionally a wire stripper. You can check the BOM for references.
First, cut the cable to the desired length. The end cut to the correct length should be stripped to expose the wires on 2mm, not more. While crimping the terminals, the first crimp will be done on the plastic part of the terminal to hold the wire in place, and the second crimp will be done on the metal part of the terminal to make the electrical connection. The details of the crimping process are presented in this video.
Once the 3 end terminals are crimped, you need to retrieve the plastic housing from the second half of the cable. You can do this by rising the plastic stops on the housing with a small screwdriver and pulling the housing out. If you have trouble with this step, here is another video showing how to do it.
Finally, you can insert the 3 crimped terminals into the plastic housing. The order of the wires is important, so make sure to insert them in their corresponding position. Here is a last video showing how to insert the terminals into the housing.
3. Leg Assembly
The objective of this section is to assemble the legs of the robot and fix them to the pelvis.
For the assembly, you should refer to the Onshape assembly to see how the parts fit together. Nevertheless, some parts of the assembly require specific instructions and are detailed in the following sub-sections.
3.1 Double-Motor Blocks
For the double-motor blocks used in the ankle and hip joints of the robot, you should pay attention to the cable routing, as the motors are very close to each other. Specifically, the cable connected to the bus between the two motors should be plugged before sliding the motors into the double-motor block. It concerns the cable relying the two motors, as well as the cable connecting the double-motor block to the next motor in the chain. The following images show you the assembly process on a right ankle double-motor block.
Cable routing before sliding the motors into the double-motor block (do not forget the spacer):
Result after sliding the motors into the double-motor block:
3.2 Cable Routing
For the cable lengths, refers to the Cable Setup section. You should use the cable sockets on the tibia, femur and hip double-motor blocks to route the cables through the robot. For the tibia and femur routing, you can check the first image of the section. For the hip double-motor block, you can check the image below.
3.3 Feet Adhesion
To increase the adhesion of the feet to the ground, you can add an optional layer of rubber on the bottom of the feet. You can use a rubber sheet or cut a piece of an old cycling tire.
4. Torso Assembly
The objective of this section is to assemble the torso of the robot.
For the assembly, you should refer to the Onshape assembly to see how the parts fit together.
Once the torso is assembled, you can fix it to the pelvis and connect the splitter cables to the hip yaw motors, shoulder pitch motors, and the RPI Robot Hat.
5. Electronics
The objective of this section is to assemble the electronics of the robot, including the battery module and the trunk top.
The following schematic shows how the electronics are connected together. The battery module is composed of a 2S 18650 battery holder and a BMS board. It is connected to the trunk top with a xt30 connector. The trunk top contains the USB-C charger and the switch powering on the Raspberry Pi. The routing allows to charge the battery independently of the power state of the robot. The alimentation of the Raspberry Pi is done through one of the 2 JST EHR-4 connectors on the RPI Robot Hat.
5.1 Battery Module
To assemble the battery module, first connect the 4.2V pin of the BMS to the metal contact on the battery holder, located on the side opposite the red (8.4V) and black (0V) wires. To make this easier, you can melt a small hole in the holder using your soldering iron to reach and solder the wire to the contact. Next, solder the positive (+) and negative (-) wires from the BMS to the XT30 connector. Once the wiring is complete, secure the BMS to the back of the battery holder using double-sided tape. Finally, apply hot glue to insulate all the connections and prevent any short circuits. The pictures below show the fully assembled battery module.
5.2 Trunk Top
First, insert the switch into the trunk top. Using pliers, carefully fold its pins down to free up some vertical space.
Next, prepare the JST EHR-4 power cable for the RPI Robot Hat. Cut a Dynamixel cable to a length of approximately 150mm and remove the two unused wires. Refer to the picture below to see which wires to keep.
To wire the components, start by soldering the USB-C charger to the XT30 connector, which will be used to connect the battery module. Next, wire the switch by soldering the charger's BAT pin to one of its terminals, and the VIN wire of the JST EHR-4 cable to the other. Finally, complete the circuit by soldering the GND wire of the JST EHR-4 cable directly to the GND pin of the USB-C charger.
The picture below shows the result of the wiring process.
Important: Because the trunk top is printed in PLA (which is sensitive to heat), make sure to solder the USB-C charger module before mounting it to the plastic part. Also, once the wiring is complete, you should isolate the connections with hot glue to prevent any short circuits.
6. Final Assembly
To finalize the assembly of the robot, you just have to slide the battery module into the trunk, connect its XT30 connector to the trunk top, connect the JST EHR-4 cable to the RPI Robot Hat, and close the trunk with the trunk top.
If you have followed all the steps of this guide, your robot should be fully assembled and ready to be powered on. You can now proceed to the Deployment Guide to deploy the software on the Raspberry Pi and start controlling your Microban robot!