
TNY-360 Quadruped Robot
A compact, open-source robot dog designed to Understand, Interact, and Learn.
π Website β’ πΈ Instagram β’ π¬ Discord β’ π Documentation
π How to Build Your Own TNY-360
Everything you need to build this robot is 100% free and open-source. Instead of getting lost in the folders, we highly recommend following our official, step-by-step wiki:
π START HERE: The Official Step-by-Step Guide π
From ordering the first screw to the assembing the last part, this guide covers it all.
ποΈ Quick Links (For Advanced Makers)
If you know what you are doing and just want the raw files, here is your toolkit:
- π Bill of Materials (BOM) - What to buy, tools needed, and where to find them.
- π CAD & 3D Files - Grab the
.STLand.3MFfiles for your 3D printer. - β‘ PCB Designs (Gerbers) - Files to order the custom PCBs used in the robot.
- π§ ESP32 Firmware - The ESP-IDF C++ firmware & drivers powering the robot.
- π οΈ Servo Modding Tutorial - Learn the Op-Amp trick to get position-feedback on MG996R servos.
β¨ Features
- 𧬠Dual-Core Architecture:
A segregated system using the ESP32-S3. Core 0 ("Reflex") runs a strict 200Hz kinematics/control loop, while Core 1 ("Brain") handles WebSockets, UI, and orchestration. - π Closed-Loop at 200Hz:
We ditched blind PWM. The TNY-360 uses digital MG996R servos modified with a custom Op-Amp buffer PCB for noise-free, high-speed position feedback. - β‘ Zero Cable Spaghetti:
A fully modular hardware ecosystem. Dedicated PCBs (Control, Sensor, Brain, Power, etc.) communicate cleanly via standardized JST-PH cables. - π οΈ Smart Auto-Calibration:
Features mechanical endstops for assembly validation and runtime algorithms that compensate for backlash and actuator latency. - π§© STEM & Expansion Ready:
Program the robot using TNY-Coder (our block-based web app) or build custom hardware modules using the dorsal I2C/Power expansion port. - π Industrial Power:
A custom 3S 18650 battery pack capable of 15A continuous discharge, featuring an integrated BMS and Fuse, for 1h+ of runtime.
π§ The Engineering: Beyond a Budget Robot
Most budget quadrupeds suffer from analog noise and jitter when hacking servos for feedback. Simply soldering a wire to a servo's internal potentiometer creates an antenna for EMI and draws current that destabilizes the servo's internal control loop.
The TNY-360 Solution: We designed a custom micro-PCB that fits inside the servo, featuring an Operational Amplifier (Op-Amp) in a voltage follower (buffer) configuration. This provides near-infinite input impedance (zero interference with the motor) and low output impedance to send a clean analog signal over the robot's wiring harness. Coupled with a software low-pass filter, the ESP32 can cleanly poll all 12 legs at 200Hz.
βοΈ Hardware Specs
π§ Core & Power
- MCU: ESP32-S3 N16R8 Module
- Power: 3S LiPo Battery (6x Samsung INR18650-25R)
- Monitoring: INA219 (Voltage/Current sensor)
𦡠Actuators
- Legs: 12x MG996R Servos (Must be modified for analog feedback)
- Head: 2x SG-90 Micro Servos (Ears)
- Driver: PCA9685 (16-Channel PWM)
π‘ Sensors & I/O
- Vision: OV2640 Camera Module
- Distance: VL53L0X Time-of-Flight (Lidar)
- Orientation: MPU6050 6-axis IMU
- Display: SH1106 OLED (128x64)
- Audio: I2S MEMS Microphone + Speaker
π Repository Structure
BOM/β Bill of Materials. Detailed lists of all components, PCBs, screws, and cables, with links.CAD/β Hardware Source. FreeCAD project files and ready-to-print STLs.Electronics/PCBs/β PCB Designs. Gerber files, BOMs, and Pick'n'Place for all PCBs.Firmware/β Codebase. PlatformIO project (C++/ESP-IDF).Firmware/components/β Drivers. Custom libraries for sensors/actuators.
π€ Contributing
We love contributions!
- Code: Please follow the ESP-IDF coding style.
- Hardware: Submit PRs with updated FreeCAD files or improvements.
- Found a bug? Open an Issue.
π License & Authors
TNY-360 is maintained by the TNY Robotics Team.
Licensed under CC BY-NC-SA 4.0.
You are free to share and adapt this material for non-commercial purposes, as long as you provide attribution and share alike.
