# Robótica
Actualizado octubre 2025
# Introducción
¿Se puede hacer robótica con Vitalinux (Linux)? Por supuesto que sí. Normalmente lo que se utiliza es la aplicación online del fabricante, y dependiendo del robot hay que utilizar algún software interface entre la aplicación online y el hardware de la placa conectada por el puerto USB. También puede ser que haya que dar permisos para utilizar el puerto, tal y como se describe en si no tienes Vitalinux Migasfree. Si lo tienes Migasfree lo hará por tí.
- ROBOTS LICITACIÓN ESCUELA 40
- ROBOTS FUERA DE LA LICITACIÓN 40
- ROBOTS DESFASADOS
- Si no tienes Vitalinux Migasfree
# CUADRO RESUMEN ROBOTS LICITACIÓN ESCUELA 40
Se utiliza la misma nomenclatura que la licitación Escuela 4.0 oct25 (opens new window)
| ID | Robot | Vitalinux Play | Via web | Observaciones |
|---|---|---|---|---|
| R1 | Talebot | |||
| R2 | Bluebot | |||
| R3 | Vincibot | |||
| R6 | Lego Spike | |||
| R7 | Cutebot | Se trata igual que la Micro:bit | ||
| R8 | Micro:bit | NO | SI | |
| R9 | Echidna | SI | NO | |
| R10 | ESP32 StemMkr | SI | SI | Necesita connector para funcionar el programa via web |
| R11 | SmartHome Mcr | Se trata igual que la Micro:bit | ||
| R12 | mBot2 | SI | NO | Necesita mLink para funcionar el programa via web |
| R13 | Photon |
# R6 LEGO Spike
Para programar este LEGO SPIKE entramos en la web https://spike.legoeducation.com/ (opens new window) y nos pide elegir Basic o Prime, dependiendo del paquete a usar, los dos usan el mismo HUB
Y una vez dentro del reto en la ventana de programación pide conectarse al HUB.

Seguimos las instrucciones utilizando la conexión por cable:

Y al dar a open nos pide permiso para conectarse al puerto:

Y ya podemos jugar !!! https://youtu.be/1yJ2oHeeq28 (opens new window)
# R8 Microbit
Las Placas Microbit se programan desde la página correspondiente https://makecode.microbit.org (opens new window). Hemos probado con Vitalinux que funciona perfectamente, en los dos modos, cargar diréctamente en la placa, como descargar el fichero .hex y copiarlo en la placa.

Imagen correspondiente al modo de cargar diréctamente en la placa.
La versión de firmware tiene que ser superior a la 0249. En la página https://makecode.microbit.org (opens new window) es muy fácil actualizar el firmware si tu versión es inferior. ¿Cómo puedo saber la versión de la placa? En el fichero DETAILS.TXT. En la figura se ve que esta placa necesita una actualización pues es la versión 0241.

# R9 Echidna
- Instalamos el software desde VitalinuxPlay

Conectamos la placa Echidna en el puerto USB
Ejecutamos EchidnaML (lo tienes en la carpeta "Educación"), el programa detecta la placa y funciona perfectamente
# R12 Robots Makeblock mBot2 Cyberpi PROGRAMA mBlock 5-0 y mLink
mBlock 5-0 y mLink puede utilizarse aparte de para programar mBot2, para muchas otras placas:
- Cyberpi
- mBot1
- Echidna mejor utilizar EchidnaML
- Arduino UNO....
En SO Linux como Vitalinux es necesario :
- Instalar mLink Este programa está disponible en Vitalinux Play. Es un programa que tiene que estar funcionando para que el navegador se comunique con la placa
- Utilizar la versión online disponible en https://ide.mblock.cc/ (opens new window)
Luego lo primero instala mLink desde Vitalinux Play :

Una vez instalado, seguir estos sencillos pasos:
- Conecta la placa al ordenador
- Arranca el mLink instalado previamente y no lo cierres, minimízalo.
- Arranca un navegador compatible con Chrome y accede a la web https://ide.mblock.cc (opens new window) . Puede ser Chromium también.
En esta página web https://ide.mblock.cc (opens new window) le damos a conectar y elegir el puerto USB (suele ser el último, ver imagen)

Una vez conectado, ya proceder como normalmente.
Notas: Al ejecutar mLink, saldrá una ventana de comandos QUE NO TENEMOS QUE CERRAR dejarla minimizada. OJO PRIMERO MLINK Y LUEGO MBLOCK
Start mlink: Running...
Version: 1.2.0
** Notas mBot Con pincho Bluetooth **
Hemos probado inalámbricamente con el pincho Bluetooth (no lo inocorpora la licitación Escuela 40), y trabajar en vivo como cargar y funciona correctamente.

# R10 STEAMAKERS ESP32
STEAMAKERS BLOCKS es una aplicación online que lo apoya Innovadidactic y que nos permite conectarnos con diferentes placas:
- Arduino
- ESP32
- Estas mismas placas con el escudo ImaginaSTEAM ...
Necesita la aplicación Connector. Podemos instalarlo desde Vitalinux Play. Sirve para comunicar la aplicación online con la placa que conectamos en nuestro equipo.

Se nos abrirá automáticamente el navegador con la página abierta de la aplicación online https://www.steamakersblocks.com (opens new window)

Una vez dentro de la aplicación y registrados, solo habremos de seleccionar el puerto USB en el que tengamos conectada nuestra placa y a funcionar, creamos el programa en bloques y Subir.

# ROBOTS FUERA DE LA LICITACIÓN ESCUELA 40
# PICO BRICKS

Entramos en la página http://rbt.ist/ide (opens new window)
Descargamos el Firmware

- Ponemos PicoBricks en modo Boodloader
- Apretamos el botón BOOTSEL
- MIENTRAS LO TENEMOS APRETADO lo conectamos al USB
- Aparecerá una nueva unidad, ya podemos soltar el botón Bootsel

4.- El fichero descargado en el paso 2 lo grabamos en la nueva unidad

- Pasado unos minutos, desconecta de USB y vuelve a conectar y ya puedes programar, al darle RUN te pedirá que te conectes con Pico bricks, elegir el puerto USB correspondiente (ver imagen)

# Arduino Cloud e Internet de las Cosas (IoT)
Arduino además de hardware, y el software Arduino IDE para PC, también pone a disposición de las personas que quieran registrarse una Aplicación web con los siguientes servicios:
- Arduino Cloud
- IoT Cloud: para trabajar IoT con placas de arduino.
- Web Editor: igual que el Arduino IDE pero en versión web
- Manager for Linux

Desde vitalinux siempre recomendamos usar la versión de Escritorio del Arduino IDE para evitar problemas de conectividad y para evitar registrar al alumnado. No obstante, por si alguien quiere trabajar en Arduino Cloud (por ejemplo en los proyectos de IoT es necesario utilizar la aplicación IoT Cloud, que solo está disponible desde la aplicación web) es necesario previamente descargar un software en el equipo llamado Arduino Create Agent.
Hemos habilitado en Vitalinux Play una forma sencilla de instalarlo en un equipo individual. Se instala de igual forma que cualquier otro programa desde el Vitalinux Play, en la flecha de arriba a la derecha.

Una vez instalado, hay que lanzar la aplicación. Se instala en el menú Sonido y Video, si bien es mucho más fácil usar Albert y empezar a escribir el nombre.

En ese momento nos aparecerá un icono abajo a la derecha, junto al reloj. Desde allí podremos activarlo y pausarlo para cuando lo necesitemos en los proyectos.

Como siempre, si queréis una instalación masiva de forma remota en varios equipos de vuestro centro, podéis canalizarla a través de soporte.
# Arduino con Snap4Arduino
Snap4Arduino es un programa libre, heredero del anterior Scratch For Arduino (S4A) que sirve para programar placas con un lenguaje de bloques de forma sencilla. Posee versión online y offline. La versión offline se puede descargar desde Vitalinux Play. Para poder controlar la placa simplemente tendremos que cargar previamente en ella el StandardFirmata, un firmware disponible en los Ejemplos de la aplicación Arduino IDE. Por lo tanto será necesario en nuestro equipo también habernos descargado el Arduino IDE.

Una vez cargado ese firmware en la placa, podremos usar Snap4Arduino para controlarla, y lo interesante es que dispone de la opción de ver el funcionamiento en vivo, sin necesidad de subir el programa a la placa.

# ROBOTS DESFASADOS
# LEGO WeDo
Lego WeDo 2.0 (bluetooth) no tiene el software desarrollado para funcionar en Linux, por lo que no podremos usar el software específico desarrollado por Lego para funcionar con sus actividades. Sin embargo puede funcionar con Scratch (web u offline) bajo Linux usando un conector desarrollado por la comunidad: Scratch Link. Se puede instalar en Vitalinux mediante Vitalinux Play o de forma centralizada.
Scratch Link permite conectar hardware para interactuar con los proyectos de Scratch. Web e instrucciones del proyecto para Linux (opens new window) para uso por ejemplo con bluetooth o la placa microbit.
Lego WeDo 1.0 ya no es funcional debido a que la solución que había se basaba en usar Scratch2Offline (no instalable en Vitalinux 3) y en una app para chrome/chromium(s2bot 4 scrat) que igualmente ha dejado de soportado para Chrome/Chromium y que solo funcionaría con Scratch 2.0.
# Equipos BQ
Hay que tener en cuenta que BQ ha dejado de existir como empresa y ya no hay continuidad de sus productos (hardware o software).
# BitBloq - Web2Board
La web ha dejado de funcionar y ya no se puede usar bitbloq online. Sólo quedaría usar la versión offline pero solo se puede instalar para vitalinux 2.x y no sabemos si funcionará.
# Impresoras 3D Witbox Go! de BQ
BQ proporciona el software Zetup para trabajar con dichas impresoras, pero NO FUNCIONA en Vitalinux 3.x, al no tener una versión actualizada del mismo.
Como dicho software se debe descargar e instalar a mano desde la web del fabricante, hemos paquetizado el mismo para poder instalarlo directamente desde Synaptic (o el gestor de paquetes que uses), pero sobre todo para poder instalarlo de forma desatendida en aquellos equipos que nos indiqueis. El paquete se llama: vx-dga-l-zetup-bq y lo puedes encontrar en Vitalinux Play.
# Si no tienes Vitalinux migasfree
Puedes saltarte éste paso preliminar si usas Vitalinux, migasfree lo hará por ti...
En Lego, mbot, cyberpi, ESP32, Arduino... la comunicación con el mismo se hace a través de un dispositivo de interfaz humana (también llamado HID). Por ejemplo en el caso de Lego WeDo con un cable usb y en el caso de Cyberpi con un emisor inhalámbrico (también usb).
Podemos ver los usb conectados con:
lsusb
En la siguiente captura podemos observar la salida de los comandos indicados antes y después de insertar el cable del robot LEGO. Podemos ver que su IdVendor es 0694 y que su idProduct es 0003.

Para poder leer y escribir en dicho dispositivo (mandar órdenes al robot o leer datos del mismo), Linux crea un archivo de tipo carácter en /dev, pero podemos observar que sólo tiene permisos root: Vemos dos dispositivos, uno el teclado/ratón y otro que corresponde a la conexión con el robot

Para ello, simplemente tenemos que indicarle a udev que nos cree dicho dispositivo con los permisos necesarios:
Editar un archivo nuevo:
sudo nano /lib/udev/rules.d/99-hidraw.rules
Y en ese fichero ponemos la línea
ATTRS{idVendor}=="0694", ATTRS{idProduct}=="0003", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"\
Así sucesivamente con los diferentes robots que queramos conectar.
Nota: Muchos robots de placa electrónica, como el ESP32, Cyberpi, Arduino, etc.. en el listado lsub no aparece el nombre como tal, sino el chip de interface CH340 o UART que traduce el protocolo USB al TTL de la placa. La manera de localizar quien es quien es ejecutar lsub antes y después de conectar el robot
Un fichero que contiene todos, y que iremos actualizando sería este para 99-hidraw.rules :
=============================================
# Solucion generica: para todos los dispositivos de interfaz humana\
# KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"\
# Lego Wedo\
ATTRS{idVendor}=="0694", ATTRS{idProduct}=="0003", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"\
# mBot\
ATTRS{idVendor}=="0416", ATTRS{idProduct}=="ffff", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"\
# Cyberpi mBot2\
ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
# Lego Spike
ATTRS{idVendor}=="0694", ATTRS{idProduct}=="0009", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
# mbot pincho 2.4 UART Windbond
ATTRS{idVendor}=="0416", ATTRS{idProduct}=="ffff", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
# microbit
ATTRS{idVendor}=="0d28", ATTRS{idProduct}=="0204", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
=================================================
Por último quedaría reiniciar el servicio udev
sudo service udev restart
Si antes de realizar el proceso estaba conectado el robot, tendremos que desconectarlo y volverlo a conectar para que los cambios surtan efecto, quedando algo parecido a ésto:
