TARS

TARS

2025

2025

Timeline

February 2025 - Present

Tools

Python, Linux, Raspberry Pi

Overview

TARS (or TARS-AI) is an open-source initiative devoted to building a fully autonomous, interactive robot inspired by TARS from Interstellar. Our goal is to integrate all necessary technologies onto a single Raspberry Pi and run it entirely offline. Although current technological limitations mean we’re not there yet, we’re confident that progress over time will bring us closer to realizing this vision. Check out the repo!

How I Made It

I had no experience with electronics when I started this project, and building anything hardware-related in my 12 m² college housing in Hong Kong was already a challenge. My college restricts 3D printing to their own filament, so I could not freely iterate on parts. I was lucky that one of the repository’s active contributors, Pyrater, generously provided 3D-printed components to help me get started.

By the time the parts arrived, I already owned a Raspberry Pi, M2 and M3 screws, a screwdriver, a servo controller, servos, and micro-servos that I bought from Taobao and Sham Shui Po. Coming from a developing country, this project forced me to confront something I had not fully realized before: robotics is a luxury. Even when sourcing from the cheapest places available, the costs added up quickly. I worked part-time and put around 15 to 20 percent of my income into this project, and it still was not enough.

My first build was TARS V1, based on the original design by Charlie Diaz. V1 did not have functional arms, only mock versions, and even then the robot already experienced significant drag when stepping forward.

By the time I finished V1, TARS V2 had already been released. I decided to move on to V2, mainly because it introduced a power door that allowed me to plug in the charger and properly turn TARS on and off.

Failures and Setbacks

Early on, I accidentally supplied V+ to a 3.3 V GPIO pin and completely fried my Raspberry Pi. That moment was devastating. I ran around applying for grants and got ghosted repeatedly. I genuinely asked myself whether I should give up. Eventually, the Sawa Grant came through and allowed me to replace the Pi and continue. That support gave me the confidence to keep going, mostly because I had already come too far to stop.

V2 introduced a new set of problems. My MG90S servos kept breaking due to poor quality, and my MG996R servos also turned out to be low quality, even though I bought them locally from Sham Shui Po for more than Taobao prices. On top of that, I experienced constant throttling issues that took an extremely long time to diagnose.

In the end, the throttling problem had nothing to do with software. I was not using 18 AWG wires. The wires I had were too thin to handle the approximately 40 cm distance between the buck converter and the Raspberry Pi. I also did not realize that power wires should be tinned copper, which have silver-colored strands. Mine were regular copper with a yellowish tint, which caused additional voltage drop and instability.

Fixing this required disassembling almost everything. By that time, TARS V3 had already been released.

V3 solved many of the mechanical issues, but it came with its own set of failures. While working on the audio system, I partially shorted my USB sound card by forcefully trying to pull the PCB out of its plastic casing, which was glued in place. Later on, one of my ground wires came loose and ended up burning one of my soldered Dupont connectors. Thankfully, none of the other components were damaged.

I also ran into an unexpected networking issue. My dorm WiFi does not allow SSH connections, which made remote development nearly impossible at first. To work around this, I had to set up Tailscale just to regain basic access to the system.

Each of these mistakes cost time, money, and motivation, but they also forced me to understand the system at a much deeper level than I would have otherwise.

Lessons Learned

The hardest part of this project was starting from absolute zero. I did not know how to use a multimeter and did not understand AWG ratings or power delivery. I learned through a mix of the TARS-AI Discord community, YouTube, Raspberry Pi forums, Google Gemini, and a lot of trial and error. At one point, I spent 16 hours attaching and detaching servos that would not behave correctly until atomikspace walked me through the problem step by step on Discord. During that process, he joked that I had some of the weirdest issues he had ever seen, which honestly made me laugh and helped keep my sanity intact.

That experience changed everything. Since then, I have been able to help other beginners in the community who are facing the same issues I once struggled with. Also, if you're still in college or school, go find some grants! When you're young, people will help you (mostly until you're 25 or something), so please make use of that age advantage.

Future Improvements

So, what’s next? I’m making TARS my final year project, with the goal of turning it into a proactive robot. I plan to implement AEC (Acoustic Echo Cancellation) and make it responsive with an end-to-end latency of 800 ms. Beyond that, I hope the TARS project continues to grow as a large, supportive open-source community.