GET STARTED3. Step-by-Step Assembly
🚫

TARS-AI is in the early stages of development. You may expect rapid changes to the platform.

⚠️

May be out of date or incomplete. Always confirm on our Discord for the most up-to-date information.

Assembly Guide

Before assembly, check both the Bill of Materials and 3D printing guide to make sure you have all of the parts.

Show parts list
Required:
5.0” Screen(optional):
3.5” Screen (optional):
Bill of Materials:
⚠️

Be sure not to strip 3D printed parts when installing screws.


Prepare Components

  • Remove all supports and prepare components for assembly.
Component preparation

Assemble the chassis

  • Connect the chassis upper and chassis lower by securing the connector support mount with M3 20mm screws.
Step 1

Assemble the motion dividers (do for the left and right side)

  • Insert the 608 bearing(printed or metal) into the Arm Spring divider
  • Secure the arm spring divider to the arm Suspension mount
Step 2

Assemble the Chassis Structure

  • Secure the motion divider assembly to the upper chassis with 8 screws
Step 3

Assemble the Arm Suspension Components

  • Remove the left Arm Spring Divider
  • Insert one spring into each upper chassis mount spring spot
  • Attach the Upper Strut Mount to the spring
  • Insert the secondary_axle into both slots through the upper strut mount and into the slots of the divider
Step 4

Assemble the Arm Suspension Mounts with Spring Dividers

  • Re-attach the left Spring divider
  • Ensure all parts are seated fully as this will create binding issues later. Use caution not to break 3d printed parts.
Step 5

Secure Servo controller & Buck Convertor

  • Secure the 16ch PWM servo controller to the lower chassis (hand tightened)
  • Secure the 12v to 5v/6v buck converter to the lower chassis with m3 * 10mm screws
Step 6

Insert USB Mic and RPI

  • Insert USB Mic into the RPI
  • Secure the RPI to chassis lower with m2*4mm screws. carefull not to over tighten
Step 7

Install 25T metal servo arm and connecting rod

  • Secure the metal servo 25T arm to the center servo.
  • Attach upper connecting rod arm with m3*12mm screw.
Step 8

Center Servos and calibrate

⚠️

This step is very important and can result in broken parts if not calibrated correctly!

  1. Connect Servos to the Servo Controller:
  • Attach the center servo to the first set of pins on the servo controller (Pin 0)
  • Connect the robot’s left (port) arm to the next set of pins (Pin 1)
  • Connect the robot’s right (starboard) arm to the following set of pins (Pin 2)
  1. Connect the PWM Servo Controller to the Raspberry Pi:
  • Use the servotester.py script to determine the minimum and maximum PWM values the servo can operate within
  • Calculate the dead center value (midpoint) between the minimum and maximum PWM values
  • Manually attach the arms at the midpoint position to ensure proper alignment
  1. Update the Configuration File:
  • Add the determined center PWM value as neutral to the config.ini file. Add 50 to neutral for up and subtract 50 for down limits
  1. Center the Arms Mechanically:
  • Using the servo test tool, set each arm’s servo channel to a midpoint value, such as 350 (between the typical range of 100-600)
  • Detach the arms, reposition them to align mechanically with the center position, and then reattach them
  • This ensures the arms are mechanically centered at the specified midpoint value (e.g., 350). For example if you set 350 they should be vertical and perfectly straight
  1. Calibrate the Center Servo:
  • Set the center servo to its lowest position (e.g., 88) using the servo test tool
  • Reposition and reattach the center servo to align with the lowest point
  • Define this position (e.g., 88) as UPHEIGHT in the config.ini file

Install 608 bearing to Left / Right arm mount

  • Install 608 bearing to Left / Right arm mount
Step 9

Secure Arm upper servo horn

  • Connect servo to RPI first, the PORT and STARBOARD servos should go in pin 1 and 2 (the first pin is 0).
  • Secure the arm upper servo horm to the servo
Step 10

Attach the Upper Arm mount to the servo

  • Rotate the servo horn as needed to align the bolts
  • Insert m3*14mm screws from the servo side into the arm mount
Step 11

Attach secondary axle lifting rod

  • Insert the secondary axle main lifting rod into the center servo connection
Step 12

Slide arms into place with upper rod

  • Insert upper lifting rod into the left arm mount
  • Thread the upper liffting rod thorugh the spring assembly into the right arm mount
  • Secure the lifting rod with 4 screws into the top of the left and right arm mounts
Step 13

Rotate assembly and insert center servo

  • Rotate the left and right mount arms vertically
  • Insert the center servo lifting rod into the 608 arm bearings
Step 14

Insert sus mounts

  • Slide the Sus mounts onto the center lifting rod ends
  • Ensure the beveled / lip of the sus mount faces into the chassis
Step 15

Rotate assembly into place and secure

  • Rotate the assembly into the chassis
  • Ensure the center servo slides into its mount point
  • Secure the sus mounts with m4*10mm screws
Step 16

Secure Center Servo

  • Secure the center servo wit the servo bracket
Step 17

Install / Assemble fingers

  • Install lazy legs / simplifed legs / or leg assembly as pictured
  • This section is still very much a wip.
Step 18

This completes the main assembly of TARS. Ensure all connections are secure, and all screws are tightened. Now move onto wiring him up.

Wiring Guide

This section provides detailed instructions on how to wire an LCD display and an I2S amplifier to a Raspberry Pi, along with steps to connect a 16CH PWM servo controller. It assumes you are using an SPI-based LCD screen and an I2S amplifier for audio output

ℹ️

Ensure your Raspberry Pi is powered off before making any connections to avoid damage to the hardware.

Component preparation

LCD Wiring

To wire the LCD display to your Raspberry Pi, use the following pinout configuration:

LCD PinRaspberry Pi GPIO PinDescription
1, 173.3V (Pin 1 or 17)3.3V power supply
2, 45V (Pin 2 or 4)5V power supply for the backlight (if required)
6, 9, 14, 20, 25GND (Pin 6, 9, etc.)Ground connections
11GPIO17 (Pin 11)Touch IRQ (optional, for touch input)
18GPIO24 (Pin 18)LCD Register Select (DC/RS)
19GPIO10 (Pin 19, SPI MOSI)SPI MOSI (data sent to the LCD)
21GPIO9 (Pin 21, SPI MISO)SPI MISO (data received from touchscreen)
22GPIO25 (Pin 22)LCD Reset pin
23GPIO11 (Pin 23, SPI SCLK)SPI Clock for LCD and touchscreen
24GPIO8 (Pin 24, SPI CE0)SPI Chip Select for LCD
26GPIO7 (Pin 26, SPI CE1)SPI Chip Select for touchscreen
Component preparation

Connecting the I2S Amplifier

For audio output, connect an I2S amplifier to the Raspberry Pi’s I2S (PCM) pins as follows:

Raspberry Pi PinGPIO PinFunctionConnect to Amplifier
Pin 12GPIO18I2S Bit Clock (BCLK)BCLK
Pin 35GPIO19I2S Left/Right Clock (LRCLK)LRCLK
Pin 40GPIO21I2S Data Out (DOUT)DIN (Audio Data Input to Amplifier)
Pin 6GNDGroundGND (Amplifier Ground)
Pin 2 or 45VPower SupplyVIN (Amplifier Power Input)

Connecting the 16CH PWM Servo Controller

To connect a 16CH PWM servo controller to your Raspberry Pi via I2C, use the following pinout configuration:

Controller PinRaspberry Pi GPIO PinDescription
GNDGND (Pin 6, etc.)Ground connection
SCLSCL (Pin 5)Serial Clock Line for I2C communication
SDASDA (Pin 3)Serial Data Line for I2C communication
VCC3.3V (Pin 1 or 17)Power for the I2C logic

Next Steps

Once assembly is complete, move to software setup.

👉

Documentation Contributors: @alexander-wang03, @pyrater