Introducción a Arduino
Cómo instalar Arduino IDE en cualquier distribución de Linux
La forma más universal de instalar Arduino en Linux es utilizar el formato AppImage. A diferencia de los paquetes .deb, .rpm o de los paquetes específicos de cada distribución, un AppImage puede ejecutarse en muchas distribuciones Linux sin necesidad de utilizar un sistema de paquetes concreto.
Este método es especialmente útil si utilizas distribuciones como Ubuntu, Debian, Linux Mint, Kubuntu, Fedora, Arch Linux, Manjaro, openSUSE u otras distribuciones modernas de 64 bits.
Arduino recomienda actualmente utilizar Arduino IDE 2, que es la versión activa y con soporte de desarrollo. Arduino IDE 1.8.19 es considerado una versión legacy.
Requisitos previos
Antes de comenzar, necesitas:
- Una distribución Linux de 64 bits para utilizar la versión actual de Arduino IDE 2.
- Una conexión a Internet para descargar el IDE y los paquetes de las placas.
- Permisos de administrador para configurar el acceso USB y serie.
- Una placa Arduino, si deseas realizar pruebas de compilación y carga de programas.
La instalación del IDE y la configuración de los permisos USB son dos procesos diferentes. Es posible instalar correctamente Arduino IDE y, aun así, no poder cargar programas en la placa debido a permisos insuficientes sobre el puerto serie.
Descargar Arduino IDE para Linux
Descarga la versión más reciente de Arduino IDE desde la página oficial de software de Arduino:
Para Linux normalmente encontrarás diferentes formatos de distribución. El formato más universal para este tutorial es:
- AppImage: recomendado para una instalación independiente de la distribución.
- ZIP: útil si deseas una instalación portable o extraer manualmente los archivos.
Para este tutorial utilizaremos el archivo AppImage. Arduino documenta oficialmente este procedimiento para Linux.
Descargar el AppImage desde la terminal
También puedes descargar el archivo desde el navegador. Sin embargo, para un tutorial de Linux es interesante entender el proceso desde la terminal.
Primero crea un directorio para aplicaciones portables:
mkdir -p ~/Applications/arduino
Después entra en el directorio:
cd ~/Applications/arduino
El nombre exacto del archivo y su versión pueden cambiar. Por eso, una alternativa segura es descargarlo desde el navegador oficial de Arduino y guardar el archivo en este directorio.
https://www.arduino.cc/en/software/
Una vez descargado, puedes comprobar el archivo con:
ls -lh
El resultado será similar a:
arduino-ide_2.x.x_Linux_64bit.AppImage
Dar permisos de ejecución al AppImage
En Linux, descargar un archivo no significa automáticamente que pueda ejecutarse. El sistema debe tener activado el permiso de ejecución.
Ejecuta:
chmod +x arduino-ide_*.AppImage
También puedes comprobar los permisos con:
ls -l
Deberías observar una salida similar a:
-rwxr-xr-x 1 usuario usuario ... arduino-ide_2.x.x_Linux_64bit.AppImage
La letra x indica que el archivo tiene permiso de ejecución.
Ahora puedes iniciar Arduino IDE con:
./arduino-ide_*.AppImage
También puedes abrir el archivo desde el administrador de archivos haciendo doble clic sobre el AppImage. La documentación oficial de Arduino describe este mismo proceso: descargar el AppImage, hacerlo ejecutable y ejecutarlo.
Solucionar el error libfuse.so.2
En algunas distribuciones, especialmente en versiones recientes, el AppImage puede mostrar un error parecido a:
dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Este error significa que el sistema no dispone de la biblioteca FUSE necesaria para ejecutar ese AppImage.
Ubuntu, Debian y distribuciones basadas en APT
En sistemas basados en Debian, puedes instalar la dependencia con:
sudo apt update sudo apt install libfuse2
En versiones específicas de Ubuntu o distribuciones modernas basadas en Debian, el nombre del paquete puede variar. Si libfuse2 no está disponible, debes consultar el paquete FUSE compatible con la versión de tu distribución.
Arduino documenta específicamente la instalación de libfuse2 cuando aparece el error relacionado con libfuse.so.2. :contentReference[oaicite:3]{index=3}
Configurar el acceso USB y al puerto serie
Este es uno de los pasos más importantes.
Cuando conectas una placa Arduino, Linux normalmente la representa como un dispositivo serie, por ejemplo:
/dev/ttyACM0
o:
/dev/ttyUSB0
Arduino IDE necesita permisos para acceder a ese dispositivo.
Añadir el usuario al grupo dialout
En muchas distribuciones Linux, el acceso a los puertos serie se controla mediante el grupo dialout.
Ejecuta:
sudo usermod -a -G dialout $USER
Después debes cerrar completamente la sesión del usuario y volver a iniciar sesión. También puedes reiniciar el equipo:
sudo reboot
Arduino indica que añadir el usuario al grupo dialout permite acceder a los puertos serie necesarios para comunicarse con la placa.
Verificar que el usuario pertenece al grupo
Después de volver a iniciar sesión, ejecuta:
groups
Deberías ver dialout en la lista de grupos:
usuario
adm
cdrom
sudo
dialout
plugdev
Configurar las reglas udev
El grupo dialout suele ser suficiente para muchas placas Arduino, pero algunas placas requieren reglas udev específicas para funcionar correctamente, especialmente durante el modo bootloader, depuración o ciertos procesos de carga.
Arduino proporciona un script oficial para configurar estas reglas.
Descárgalo:
wget https://content.arduino.cc/assets/arduino-udev-setup.sh
O utilizando curl:
curl -O https://content.arduino.cc/assets/arduino-udev-setup.sh
Después ejecútalo con privilegios administrativos:
sudo bash arduino-udev-setup.sh
Cuando finalice, desconecta la placa Arduino y vuelve a conectarla.
Las reglas udev permiten que Linux identifique correctamente los dispositivos Arduino y aplique los permisos necesarios para cargar código y utilizar funciones de depuración. :contentReference[oaicite:5]{index=5}
Conectar la placa Arduino
Conecta la placa mediante USB.
Puedes comprobar si Linux detectó el dispositivo con:
ls /dev/ttyACM*
o:
ls /dev/ttyUSB*
También puedes observar los mensajes del kernel en tiempo real:
dmesg --follow
Ahora conecta la placa. Deberías observar mensajes relacionados con USB y dispositivos serie.
Por ejemplo:
usb 1-1: new full-speed USB device cdc_acm 1-1:1.0: ttyACM0: USB ACM device
Esto significa que Linux detectó la placa y la registró como:
/dev/ttyACM0
Ejecutar Arduino IDE por primera vez
Desde el directorio donde descargaste el AppImage:
cd ~/Applications/arduino ./arduino-ide_*.AppImage
Al iniciar Arduino IDE por primera vez, el programa puede descargar componentes adicionales necesarios para compilar programas y trabajar con diferentes placas.
Es importante diferenciar entre:
- Arduino IDE: el programa que utilizas para escribir y compilar código.
- Board Core: los archivos necesarios para compilar código para una familia específica de placas.
- Libraries: bibliotecas adicionales para utilizar sensores, pantallas, motores y otros componentes.
Instalar el soporte para tu placa
Instalar Arduino IDE no significa que todas las placas estén automáticamente disponibles.
Por ejemplo, para una placa Arduino UNO normalmente necesitas el paquete de placas AVR. Para una placa ESP32 necesitas instalar el core de ESP32. Para una Raspberry Pi Pico necesitas instalar el soporte correspondiente para Raspberry Pi Pico.
El flujo general es:
- Abrir Arduino IDE.
- Abrir el gestor de placas.
- Buscar el fabricante o familia de la placa.
- Seleccionar el paquete correspondiente.
- Instalarlo.
Arduino IDE puede solicitar automáticamente la instalación del paquete de placas cuando detecta que falta el soporte necesario. :contentReference[oaicite:6]{index=6}
Probar la instalación con Blink
La prueba clásica consiste en cargar el programa Blink, que hace parpadear un LED.
Un ejemplo básico es:
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}
Después debes seleccionar:
- La placa correcta.
- El puerto serie correcto.
Por ejemplo, el puerto puede aparecer como:
/dev/ttyACM0
o:
/dev/ttyUSB0
Finalmente, pulsa el botón de carga del programa.
Problemas comunes en Linux
Arduino IDE no muestra ningún puerto
Comprueba primero si Linux detecta físicamente la placa:
lsusb
Después verifica los dispositivos serie:
ls /dev/ttyACM*
ls /dev/ttyUSB*
Si no aparece ningún dispositivo, el problema puede estar relacionado con:
- El cable USB.
- Un cable que solamente permite cargar y no transmite datos.
- El puerto USB.
- Los drivers de la placa.
- Las reglas udev.
Error Permission denied
Si aparece un error como:
avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied
normalmente debes añadir tu usuario al grupo dialout:
sudo usermod -a -G dialout $USER
Después debes cerrar sesión y volver a entrar, o reiniciar el sistema.
El puerto está ocupado
Otro programa puede estar utilizando el puerto serie. Puedes comprobarlo con:
lsof /dev/ttyACM0
Si tu placa utiliza otro dispositivo, cambia el nombre del puerto:
lsof /dev/ttyUSB0
Arduino recomienda utilizar herramientas como lsof para identificar qué proceso está utilizando un puerto serie. :contentReference[oaicite:7]{index=7}
¿Dónde guarda Arduino sus archivos en Linux?
Arduino no guarda todos sus archivos dentro del directorio donde está el AppImage.
El sketchbook principal normalmente se encuentra en:
~/Arduino
Las bibliotecas instaladas por el usuario se encuentran normalmente en:
~/Arduino/libraries
Los paquetes de placas y herramientas instaladas se almacenan en:
~/.arduino15
La configuración de Arduino IDE 2 se encuentra en:
~/.arduinoIDE
Y los datos de usuario de Arduino IDE 2 normalmente se encuentran en:
~/.config/arduino-ide
Estas ubicaciones son importantes cuando necesitas hacer una copia de seguridad, solucionar problemas o limpiar una instalación dañada. :contentReference[oaicite:8]{index=8}
Resumen del proceso universal
El procedimiento recomendado para instalar Arduino IDE en una distribución Linux es:
- Crear un directorio para la aplicación mkdir -p ~/Applications/arduino
- Entrar en el directorio cd ~/Applications/arduino
- Descargar el AppImage desde la página oficial de Arduino
- Dar permisos de ejecución chmod +x arduino-ide_*.AppImage
- Ejecutar Arduino IDE ./arduino-ide_*.AppImage
- Configurar el acceso al puerto serie sudo usermod -a -G dialout $USER
- Reiniciar para aplicar los permisos sudo reboot
Después de esto, debes instalar el Board Package correspondiente a tu placa, seleccionar la placa y el puerto, y realizar una prueba cargando el programa Blink.
Conclusión
El uso de AppImage es la opción más general para instalar Arduino IDE en Linux porque evita depender directamente de un formato de paquetes específico como .deb o .rpm. Sin embargo, la instalación del IDE es solamente una parte del proceso: para trabajar correctamente con hardware Arduino también es necesario configurar los permisos de los puertos serie, las reglas udev cuando sean necesarias y el paquete de soporte específico de la placa.
El flujo conceptual es:
Distribución Linux
↓
Arduino IDE
↓
Permisos USB / Serial
↓
Reglas udev
↓
Board Package
↓
Selección de placa y puerto
↓
Compilar y cargar el programa