Instalar arduino en linux


Vamos explicar el paso a paso para instalar arduino en Linux, en cualquier distribución, configura puertos ttyACM ttyUSB

Instalar arduino en linux
oscar Escrito por oscar 15 May 2020 5024 0

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:

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:

Descargar Arduino IDE

Para Linux normalmente encontrarás diferentes formatos de distribución. El formato más universal para este tutorial es:

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/

Descargar arduino IDE en Linux
Descargar arduino IDE en Linux

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:

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:

  1. Abrir Arduino IDE.
  2. Abrir el gestor de placas.
  3. Buscar el fabricante o familia de la placa.
  4. Seleccionar el paquete correspondiente.
  5. 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:

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:

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:

  1. Crear un directorio para la aplicación mkdir -p ~/Applications/arduino
  2. Entrar en el directorio cd ~/Applications/arduino
  3. Descargar el AppImage desde la página oficial de Arduino
  4. Dar permisos de ejecución chmod +x arduino-ide_*.AppImage
  5. Ejecutar Arduino IDE ./arduino-ide_*.AppImage
  6. Configurar el acceso al puerto serie sudo usermod -a -G dialout $USER
  7. 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

Comentario

Debe aceptar antes de enviar