A recreation of the TARS robot from Interstellar, featuring AI capabilities and servo-driven movement.
Everything here is under development and is subject to change. The buck converter and USB power modules are the most important power components and there are many options depending on your build choices. If you have any questions ping us in the discord electrical channel.
Category | Component | Description | Link |
---|---|---|---|
Printing | Bambu Labs Printer | Compatible models: P1S, A1, X1C | - |
TPU Filament (Bambu) | For all "Flexor" parts | Buy | |
TPU Filament (Alternative) | Overture TPU filament | Buy | |
PETG Filament | For all non-Flexor parts | Buy | |
PLA Filament | Optional - for rapid prototyping | - | |
Core Components | Raspberry Pi 5 | Main computing unit | Buy |
3.5" LCD Display | Interface display | Buy | |
16-Channel PWM Servo Driver | I2C Interface | Buy | |
Power Components | Buck Converter | Power management | Buy |
USB power | 2x for Pi and display. Must have 5A minimum to drive a Raspberry Pi 5. | Buy | |
Single LiPo Battery | 11.1v 3S 2200mAh | Buy | |
Wire Connectors | PCT-214 (optionally clips into v9 lower lid) | Buy | |
Servo Motors | diymore MG996R | Digital servo motors (2x 90g servos per leg) | Buy |
MG996R 55g (Alternative to above) | Digital 55g high torque (2x per leg) | Buy | |
Micro servos (hands) | Digital servo motors (2x S51/9g micro servos per arm/hand) | Buy | |
Drive Train | Bearings | Motion support | Buy |
Springs | Motion dampening | Buy | |
Metal Rods (Option 1) | Structural support | Buy | |
Metal Rods (Option 2) | Alternative structural support | Buy | |
Linkage | Motion transfer | Buy | |
Servo Extension Wires | Connection cables | Buy | |
Audio System | Raspberry Pi Microphone | Audio input | Buy |
Audio Amplifier | Sound processing | Buy | |
Speaker | Audio output | Buy | |
Camera System | Camera Module | Visual input | Buy |
Camera Ribbon Cable | Camera connection | Buy | |
Fasteners | M3 20mm Screws | Mounting (6x needed) | Buy |
M3 14mm Screws | Mounting (40x needed) | Buy | |
M3 10mm Screws | Mounting (76x needed) | Buy | |
M3 Asstd Grub Screws | Mounting (6-8 needed) | Buy | |
M2.x self tapping | Pi and servo controller mounts (8 needed) | Buy |
This section provides detailed instructions on how to wire an LCD display and an I2S amplifier to a Raspberry Pi, along with steps to calibrate the touchscreen and fine-tune the display. It assumes you are using an SPI-based LCD screen and an I2S amplifier for audio output.
To wire the LCD display to your Raspberry Pi, use the following pinout configuration:
LCD Pin | Raspberry Pi GPIO Pin | Description |
---|---|---|
1, 17 | 3.3V (Pin 1 or 17) | 3.3V power supply. |
2, 4 | 5V (Pin 2 or 4) | 5V power supply for the backlight (if required). |
6, 9, 14, 20, 25 | GND (Pin 6, 9, etc.) | Ground connections. |
11 | GPIO17 (Pin 11) | Touch IRQ (optional, for touch input). |
18 | GPIO24 (Pin 18) | LCD Register Select (DC/RS). |
19 | GPIO10 (Pin 19, SPI MOSI) | SPI MOSI (data sent to the LCD). |
21 | GPIO9 (Pin 21, SPI MISO) | SPI MISO (data received from touchscreen). |
22 | GPIO25 (Pin 22) | LCD Reset pin. |
23 | GPIO11 (Pin 23, SPI SCLK) | SPI Clock for LCD and touchscreen. |
24 | GPIO8 (Pin 24, SPI CE0) | SPI Chip Select for LCD. |
26 | GPIO7 (Pin 26, SPI CE1) | SPI Chip Select for touchscreen. |
For audio output, connect an I2S amplifier to the Raspberry Pi’s I2S (PCM) pins as follows:
Raspberry Pi Pin | GPIO Pin | Function | Connect to Amplifier |
---|---|---|---|
Pin 12 | GPIO18 | I2S Bit Clock (BCLK) | BCLK |
Pin 35 | GPIO19 | I2S Left/Right Clock (LRCLK) | LRCLK |
Pin 40 | GPIO21 | I2S Data Out (DOUT) | DIN (Audio Data Input to Amplifier) |
Pin 6 | GND | Ground | GND (Amplifier Ground) |
Pin 2 or 4 | 5V | Power Supply | VIN (Amplifier Power Input) |
Note: Enable the I2S interface on the Raspberry Pi by following the instructions in the Adafruit MAX98357 guide.
To calibrate the touchscreen, follow these steps:
sudo apt-get update sudo apt-get install xinput-calibrator
xinput_calibrator Touch the targets as instructed. The tool will generate calibration offsets.
Save the output data to a configuration file:
sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf Paste the calibration data and save the file.
sudo reboot
Interact with the desktop to ensure accurate touch. If needed, rerun the calibration tool or manually adjust the values in 99-calibration.conf.
Additional Notes
- Enable SPI and I2S interfaces via sudo raspi-config under Interfacing Options.
- Refer to the Adafruit MAX98357 guide for detailed amplifier setup.
- Test the audio and touchscreen thoroughly after setup.
See ENVSETUP.md
for instructions on setting up the software environment.
- LLM: Choice of:
- OpenAI (Recommended)
- Oobabooga
- Tabby (tabbyAPI)
- Ollama (Soon)
- Text-to-Speech: Choice of:
- Azure TTS
- Local (E-speak)
- Local (Piper TTS with custom Voice model) (Recommended)
- XTTSv2 with voice cloning (xtts-api-server)
- Speech-to-Text:
- Vosk
- Whisper
- Vision Handling:
- Saleforce Blip
- Tool Utilization:
- Custom Module Engine
- Modified chassis bottom to accommodate SD card installation (See: "Chassis Bottom (Mod SD CARD).stl")
See CONTRIBUTING.md
for instructions on contributing to this project.
Inspirations + Credits to:
As we continue to build and expand upon the TARS project, below are the guidelines for attribution and best practices when sharing or publishing work related to the TARS project:
- Clearly state that this project is based on the character TARS from the film Interstellar.
- When referencing or sharing the CAD designs:
- Include a statement like: “Based on the mechanical puppet designs by Christopher Nolan, Nathan Crowley, and the production team who originally brought TARS to life—miniaturized CAD by Charlie Diaz, with additional modifications by the TARS-AI Community.”
- The original CAD files and scripts are provided by Charlie Diaz. If you modify or extend these, ensure to:
- Credit Charlie Diaz as the original creator of the CAD files.
- Clearly specify your contributions or modifications.
- “This project includes AI-generated elements inspired by Bill Irwin’s portrayal of TARS in the film Interstellar.”
- When publishing content (e.g., YouTube videos, blog posts, or repository updates):
- Attribute the original film’s production team and Charlie Diaz where applicable.
- Include a disclaimer noting that this project is a fan-made initiative.
- Monetization is strictly prohibited.
- Encourage contributors to follow these attribution guidelines when making modifications or additions to the project.
- Foster an open and respectful community by maintaining transparency in crediting the work of all contributors.
These guidelines ensure that the TARS project respects the intellectual property of the original creators while fostering a collaborative and innovative community. Let’s work together to keep this project thriving and inspiring!