Hardware Specifications
Computing Platform
Raspberry Pi 4B
| Processor | Broadcom BCM2711, Quad-core Cortex-A72 @ 1.5GHz |
| RAM | 4GB LPDDR4-3200 SDRAM |
| Storage | 32GB MicroSD Card (Class 10) |
| Connectivity | WiFi 802.11ac, Bluetooth 5.0, Gigabit Ethernet |
| USB | 2x USB 3.0, 2x USB 2.0 |
| GPIO | 40-pin header |
| Power | 5V @ 3A via USB-C |
Operating System
| OS | Raspbian GNU/Linux 11 (Bullseye) |
| Kernel | Linux 5.15.x |
| Python | 3.9.2 |
| ROS | ROS 2 Humble (optional) |
| Services | systemd managed |
| Network | Avahi mDNS, NetworkManager |
| Access | SSH (port 22) |
Motor System
Dynamixel XL330-M077 Smart Servos (7 units)
Performance
- • Stall Torque: 0.42 Nm @ 5V
- • Speed: 103 RPM @ 5V
- • Resolution: 0.088° (4096 positions)
- • Operating Angle: 0° ~ 360°
- • Weight: 18g
Communication
- • Protocol: Dynamixel 2.0
- • Baud Rate: 1 Mbps (default)
- • Connection: 3-pin TTL
- • Daisy-chain capable
- • ID Range: 0-252
Feedback
- • Position sensing
- • Temperature monitoring
- • Load/torque sensing
- • Voltage monitoring
- • Error reporting
Motor Configuration
| Motor | ID | Function | Range | Default |
|---|---|---|---|---|
| neck_yaw | 10 | Head rotation (left/right) | ±90° | 0° |
| neck_pitch | 11 | Head tilt (up/down) | ±45° | 0° |
| neck_roll | 12 | Head lean (side tilt) | ±45° | 0° |
| left_antenna | 13 | Left antenna movement | ±30° | 0° |
| right_antenna | 14 | Right antenna movement | ±30° | 0° |
| reserved_1 | 15 | Future expansion | N/A | N/A |
| reserved_2 | 16 | Future expansion | N/A | N/A |
Sensors & I/O
Cameras
- • 2x USB 2.0 cameras
- • Resolution: 720p (1280x720)
- • Frame rate: 30 FPS
- • Interface: V4L2
- • Format: MJPEG/YUYV
- • FOV: ~60° horizontal
Audio
- • Microphone: USB/3.5mm
- • Speaker: 3.5mm jack
- • Audio: ALSA/PulseAudio
- • TTS: espeak/pyttsx3
- • Sample rate: 44.1kHz
- • Channels: Mono/Stereo
Expansion
- • I2C bus available
- • SPI interface
- • UART serial ports
- • GPIO pins (unused)
- • USB ports for sensors
- • PWM outputs
Physical Specifications
Dimensions
| Height | ~35 cm (with antennas) |
| Width | ~20 cm (at base) |
| Depth | ~15 cm |
| Weight | ~1.2 kg |
| Base | Stable tripod design |
| Materials | ABS plastic, aluminum joints |
Power & Environment
| Input | 12V DC @ 2.5A |
| Consumption | ~15-20W typical |
| Peak | ~30W (all motors active) |
| Temperature | 10°C to 40°C operating |
| Humidity | 20% to 80% non-condensing |
| Indoor use | Yes (required) |
Communication Protocols
HTTP/REST
- • Port: 8000
- • FastAPI server
- • JSON responses
- • Pre-recorded moves
gRPC
- • Port: 50055
- • Protocol Buffers
- • Real-time control
- • Full SDK access
SSH
- • Port: 22
- • OpenSSH server
- • User: pollen
- • Full system access
Serial
- • /dev/ttyUSB0
- • 1 Mbps TTL
- • Dynamixel 2.0
- • Direct control
Performance Metrics
Response Times:
- • Web API: 50-100ms
- • SDK/gRPC: 20-50ms
- • Direct serial: 1-5ms
- • Motor update: 10ms
Movement Speed:
- • Max rotation: 103 RPM
- • 0-90° turn: ~0.5s
- • Full scan: ~2s
- • Emotion: 1-3s
Operational Limits:
- • Continuous: 2-3 hours
- • Motor temp: < 55°C
- • CPU temp: < 80°C
- • Network: 100Mbps