๐๏ธ Reachy Mini Architecture Deep Dive
๐ System Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ REACHY MINI ROBOT โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ RASPBERRY PI 4 (Main Computer) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ
โ โ โ โ
โ โ Web Dashboard (Port 8000) โ โ
โ โ โโโ Uvicorn ASGI Server โ โ
โ โ โโโ FastAPI Application โ โ
โ โ โโโ Static HTML/JS Interface โ โ
โ โ โ โ
โ โ Backend Services โ โ
โ โ โโโ reachy-sdk-server (NOT auto-started) โ โ
โ โ โโโ Motor Control Service โ โ
โ โ โโโ Camera Service (optional) โ โ
โ โ โ โ
โ โ Communication Buses โ โ
โ โ โโโ I2C Bus โ Motor Controllers โ โ
โ โ โโโ USB โ Cameras (if connected) โ โ
โ โ โโโ GPIO โ Status LEDs โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โ I2C/Serial โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ DYNAMIXEL MOTOR CONTROLLERS โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ
โ โ โข XL330-M077 Smart Servos (7x) โ โ
โ โ โข Daisy-chained communication โ โ
โ โ โข Position/Speed/Torque control โ โ
โ โ โข 1 Mbps serial communication โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Communication Interfaces
1. Web Server (Port 8000)
- โข Protocol: HTTP/REST API
- โข Access: http://reachy-mini.local:8000
- โข Pre-recorded movements only
- โข Dashboard interface
- โข Limited real-time control
2. gRPC SDK (Port 50055)
- โข Protocol: gRPC
- โข Direct motor control
- โข Real-time feedback
- โข Camera access
- โข Custom movements
3. SSH Access (Port 22)
- โข Full system control
- โข Install custom software
- โข Direct hardware access
- โข User: pollen
- โข Password: root
4. Direct Serial
- โข Dynamixel Protocol 2.0
- โข 1 Mbps TTL Serial
- โข Raw motor packets
- โข /dev/ttyUSB0
- โข Complete control
๐ Control Flow
Web Interface Flow:
Browser โ HTTP โ Web Server โ Backend Check โ Pre-recorded Move โ Motors
SDK Control Flow:
Python โ gRPC โ SDK Server โ Direct Commands โ Dynamixel โ Motors
Direct Hardware Flow:
Your Code โ Serial Port โ Dynamixel Protocol โ Motor Response
โ๏ธ Hardware Components
๐ง Computing
- โข Raspberry Pi 4
- โข 4GB RAM
- โข 32GB SD Card
- โข Raspbian OS
- โข WiFi/Ethernet
๐ฆพ Motors
- โข 7x Dynamixel XL330
- โข Smart servos
- โข Position feedback
- โข Temperature monitoring
- โข Daisy-chained
๐น Sensors
- โข 2x USB Cameras
- โข Stereo vision
- โข V4L2 interface
- โข Microphone (USB)
- โข Speaker (3.5mm)
๐ก Key Architectural Insights
1. Two-Stage Boot: Web server starts automatically, but motor control backend requires manual activation for safety.
2. Timeout Issue: The backend service (not web server) times out after inactivity. Our keep-alive sends periodic requests to prevent this.
3. Limited Web API: HTTP interface only plays pre-recorded movements. Real robotics requires SDK or direct control.
4. gRPC is Native: The web API is a simplified wrapper. gRPC protocol provides full access to all robot capabilities.
5. Everything is Linux: Full SSH access means you can install anything - custom servers, AI models, computer vision, etc.
๐ Your Control Options
Current: Using web API with keep-alive for basic demos โ
Next Level: Install reachy-sdk for direct Python control ๐ฏ
Advanced: SSH in and deploy custom FastAPI server ๐
Ultimate: Direct Dynamixel protocol for microsecond control ๐ช