Control de Servos en Drone 3DR Solo con Arduino y Firmata
Componentes y Suministros
| Arduino UNO | 1 |
| Drone 3DR Solo | 1 |
| Servo Tower Pro MG996R | 1 |
| Placa Breakout Accesorio Solo | 1 |
Sobre este Proyecto
Introducción
El 3DR Solo tiene buen entorno de desarrollo pero E/S limitado. El puerto accesorio expone CAN, MAVLink serial a Pixhawk, y USB a SoloLink (i.MX6). Usando Arduino + Firmata añadimos sensores personalizados, control de servos, LEDs, o cualquier función Arduino.
Este tutorial guía paso a paso para controlar un servo desde el Solo via Arduino.
Requisitos Software
- Solo firmware ≥ 1.2.0
- Arduino IDE
- FileZilla (SFTP)
- PuTTY u otro cliente SSH
Paso 1: Subir StandardFirmata a Arduino

- Abre Archivo → Ejemplos → Firmata → StandardFirmata.
- Selecciona placa/puerto.
- Subir.
Paso 2: Montaje Hardware


Nota: La breakout no se vende comercialmente. Ver repo 3DR.
Paso 3: Descargar pyMata y Script
Necesitas pyMata (librería Python para Firmata) y el script de ejemplo SoloServoSweep.py.
Paso 4: Transferir Archivos al Solo
- Conecta a la **red WiFi del Solo**.
- Usa FileZilla (SFTP): Host
10.1.1.1, usuarioroot, passTjSDBkAu(por defecto). - Sube
pyMataySoloServoSweep.pya/home/root/.
Paso 5: SSH al Solo

- PuTTY: Host
10.1.1.1, puerto 22, SSH. - Login:
root/TjSDBkAu. - Mantente conectado a WiFi Solo durante toda la sesión.
Paso 6: Instalar pyMata
pip install pyMata

Paso 7: Ejecutar Ejemplo
python SoloServoSweep.py

Código Python (SoloServoSweep.py)
from PyMata.pymata import PyMata
import time, sys
SERVO_MOTOR = 9
END = 170
board = PyMata("/dev/ttyACM0")
board.servo_config(SERVO_MOTOR)
try:
while True:
for i in range(0, END):
board.analog_write(SERVO_MOTOR, i)
time.sleep(0.015)
for i in range(END, 0, -1):
board.analog_write(SERVO_MOTOR, i)
time.sleep(0.015)
except KeyboardInterrupt:
board.close()
sys.exit()
Esquemático y Placa Breakout

Placa breakout personalizada para puerto accesorio Solo: GitHub 3DR.
Proceso de manufactura
- Construye un Spybot controlado por Bluetooth con Arduino
- FlickMote: Mando IR por gestos para Smart Home
- TV‑B‑Gone DIY con Arduino: Mando universal para apagar cualquier TV
- Construye un Reloj Maestro LED Personalizado con Alarma – Visible desde 12 Metros
- Robot evasor de obstáculos con servo: Construcción con Arduino y HC-SR04
- Find Me: Localizador Inteligente de Objetos con Arduino y Bluetooth
- Soluciones de Alimentación Optimizadas para Proyectos Arduino
- Tres en raya con Arduino, matriz LED MAX7219 y carcasa de cartón
- Construye un Robot Cuadrúpedo Inteligente con Arduino: Guía Paso a Paso
- Control Preciso de Servo con Arduino y MPU6050 (SG90 / MG996R)
- Construye un volante joystick personalizado con Arduino para gaming