PAWS — Instalación del firmware
PAWS — Instalación del firmware
Última actualización: 11 de agosto de 2026
Qué es esto
PAWS es un robot educativo controlado por Bluetooth desde la app Android PAWS. Nosotros proveemos el firmware ya compilado (listo para flashear) para la placa ESP32. No distribuimos el código fuente del firmware: solo la imagen binaria final, que puedes instalar con cualquiera de los métodos de abajo.
Una vez flasheado, el ESP32 se anuncia por Bluetooth como PAWS-ESP32 y ya puedes emparejarlo y controlarlo desde la app.
Placa soportada: cualquier módulo genérico esp32dev (ESP32-WROOM-32 y compatibles), 4 MB de flash o más.
Descargar el firmware
⬇ Descargar paws-esp32-firmware.zip
Un solo archivo .zip con los 4 binarios que necesitas para el flasheo:
| Archivo (dentro del .zip) | Offset de flasheo | Descripción |
|---|---|---|
paws-esp32.bin | 0x10000 | Firmware de la aplicación PAWS (obligatorio) |
bootloader.bin | 0x1000 | Bootloader de segunda etapa del ESP32 |
partitions.bin | 0x8000 | Tabla de particiones de la flash |
boot_app0.bin | 0xe000 | Selector de partición OTA (arranque) |
Descomprime el .zip antes de flashear; los pasos de abajo asumen que los 4 archivos están en la misma carpeta.
Si tu ESP32 ya trae de fábrica un bootloader/partition table de Arduino (la mayoría de placas nuevas los traen), normalmente basta con flashear paws-esp32.bin en 0x10000. Si tu placa está en blanco, no bootea, o no estás seguro, flashea los 4 archivos en sus offsets — es lo más confiable y lo que se recomienda para un primer flasheo.
Opción A — Web flasher (recomendado, sin instalar nada)
La forma más simple: todo ocurre en el navegador (Chrome o Edge, requiere WebSerial), sin instalar Python ni nada en tu computadora.
- Conecta el ESP32 a tu computadora por USB.
- Abre ESP Web Tools o ESPTool-JS de Espressif en Chrome o Edge.
- Haz clic en Connect y selecciona el puerto serial del ESP32 en el diálogo del navegador.
- Agrega los 4 archivos con sus offsets exactos:
0x1000→bootloader.bin0x8000→partitions.bin0xe000→boot_app0.bin0x10000→paws-esp32.bin
- Haz clic en Program / Flash y espera a que termine.
- Presiona el botón RESET (o EN) del ESP32 al finalizar.
Si el navegador no detecta el puerto, revisa que tengas instalado el driver USB-a-serial de tu placa (CP2102 o CH340, según el fabricante) — ver drivers de puerto serie más abajo.
Opción B — esptool.py (línea de comandos, cualquier SO)
Requiere Python 3.
pip install esptool
Flasheo completo (recomendado para la primera instalación):
python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 115200 \
--before default_reset --after hard_reset write_flash -z \
--flash_mode dio --flash_freq 40m --flash_size detect \
0x1000 bootloader.bin \
0x8000 partitions.bin \
0xe000 boot_app0.bin \
0x10000 paws-esp32.bin
Si tu ESP32 ya tiene bootloader y tabla de particiones válidos y solo quieres actualizar la aplicación:
python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 115200 \
write_flash -z --flash_mode dio --flash_freq 40m \
0x10000 paws-esp32.bin
Notas:
- En Windows, el puerto tiene la forma
COM3,COM4, etc. (revísalo en el Administrador de dispositivos, bajo “Puertos (COM y LPT)”). - En macOS, el puerto suele ser
/dev/cu.usbserial-XXXXo/dev/cu.SLAB_USBtoUART. - En Linux, suele ser
/dev/ttyUSB0o/dev/ttyACM0. Si da error de permisos, agrega tu usuario al grupodialout(sudo usermod -aG dialout $USERy vuelve a iniciar sesión) o ejecuta el comando consudo. - Si ves
Failed to connecto se queda enConnecting...., mantén presionado el botón BOOT (a veces marcadoIO0) de la placa mientras esptool intenta conectar, y suéltalo apenas empiece a escribir. - Baja
--bauda115200(como en el ejemplo) si un baudrate más alto falla con “Timed out waiting for packet header” — es común en placas clon.
Opción C — PlatformIO CLI
Si ya usas PlatformIO para otros proyectos, puedes flashear los binarios directamente sin un proyecto propio, con esptool incluido en tu instalación:
# Ubica el esptool.py que trae PlatformIO, por ejemplo:
~/.platformio/penv/bin/python ~/.platformio/packages/tool-esptoolpy/esptool.py \
--chip esp32 --port /dev/ttyUSB0 --baud 115200 \
--before default_reset --after hard_reset write_flash -z \
--flash_mode dio --flash_freq 40m --flash_size detect \
0x1000 bootloader.bin \
0x8000 partitions.bin \
0xe000 boot_app0.bin \
0x10000 paws-esp32.bin
Driver USB-serial (si tu placa no aparece)
La mayoría de placas ESP32 usan uno de estos dos chips USB-a-serial. Si tu sistema operativo no reconoce el puerto al conectar la placa, instala el driver correspondiente:
- CP210x (Silicon Labs) — descargar driver
- CH340 / CH341 (WCH) — búscalo como “CH340 driver” para tu sistema operativo
En Linux, generalmente no necesitas instalar nada adicional: el driver ya está en el kernel.
Verificar que funcionó
- Abre un monitor serial a 115200 baudios (por ejemplo
pio device monitor,screen /dev/ttyUSB0 115200, o el monitor serial de Arduino IDE) y presiona RESET en la placa. - Deberías ver un mensaje de arranque indicando que el firmware PAWS está corriendo y anunciándose por Bluetooth.
- Desde tu celular, busca dispositivos Bluetooth cercanos: debe aparecer
PAWS-ESP32. Empareja y abre la app PAWS para continuar. - Es normal ver un mensaje de
HEARTBEAT LOST -> STOPjusto después de arrancar — desaparece en cuanto la app se conecta.
Para el cableado de motores y otros periféricos, consulta la guía de conexión que se muestra dentro de la app.
Soporte
Si el flasheo falla repetidamente o el dispositivo no aparece por Bluetooth después de un flasheo exitoso, contáctanos:
PAWS Email: [email protected]
Ver también: Política de Privacidad · Términos de Servicio