En este artículo voy a explicar como solucionar un error común en Arduino:
avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied
Antecedentes
Después de mucho tiempo sin usar Arduino he cogido mis dos plaquitas (la original y la Elegoo) para hacer unas actividades con mi hija. Las conecto, voy a meter el blink para ver que todo está bien y cuando voy a enviarlo a la placa me devuelve el tan conocido error.
Arduino:1.8.5 (Linux), Tarjeta:"Arduino/Genuino Uno" avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied Problema subiendo a la placa. Visita http://www.arduino.cc/en/Guide/Troubleshooting#upload para sugerencias.
Tanto en mi PC como mi portátil tengo instalado Ubuntu 18.04.
Solución
Empiezo siguiendo el link que me sugieren. Y sigo los pasos
En herramientas / placa está seleccionada Arduino/Genuino Uno
En herramientas / serial port /dev/ttyACM0
y como sugiere la documentación por si hay problemas con los Drivers y permisos abro la terminal y ejecuto:
sudo usermod -a -G tty yourUserName
sudo usermod -a -G dialout yourUserName
donde yourUserName es tu nombre de usuario
Ahora cierro sesión y vuelvo a loggearme. Y por si acaso reinicio el PC / portátil.
Sigue sin funcionarme y la documentación de Arduino ya no ayuda más. Así que he seguido buscando, en foros y blogs. Si en este punto no te funciona y estás como yo. Sigue los siguientes pasos
ls /dev/ttyACM0 devuelve /dev/ttyACM0
ls -l /dev/ttyACM0 devuelve crw-rw—- 1 root dialout 166, 0 nov 26 16:41 /dev/ttyACM
Con esto confirmamos que el puerto existe
Vamos a dar permisos y a comprobar si nuestro usuario tiene los permisos necesarios.
sudo chmod a+rw /dev/ttyACM0
id devuelve 20(dialout)
Y veo que el usuario está dentro del grupo dialout así que esta parte la tenemos bien.
A mí lo que me ha funcionado ha sido reinstalar Arduino.
Si compruebas
which avrdude
Y no te devuelve nada reinstalando Arduino deberá solucionarse.
sudo apt install --reinstall arduino
Y si no has conseguido solucionar el problema déjame un comentario e intentaré ayudarte.
Herramienta para solucionar el problema AVRDUDE
Existe un script que han preparado para solucionar este problema. Puedes probar a ver si te ayuda. Yo no he llegado a utilizarlo pero lo dejo porque creo que puede ser un recurso útil.
AVRDUDE
Dejo un poco de información para entender mejor qué es AVRDUDE. El nombre viene de AVRDUDE – AVR Downloader/UploaDEr
AVRDUDE es una utilidad para descargar / cargar / manipular los contenidos ROM y EEPROM de los microcontroladores AVR utilizando la técnica de programación en el sistema (ISP).
https://www.nongnu.org/avrdude/
AVRDUDE fue iniciado por Brian S. Dean como un proyecto privado como programador para la serie de microcontroladores Atmel AVR.
Puedes encontrar el software y mucha más información en la web del proyecto.
Tengo un problema con arduino one no me comunica con el ide o viceversa tengo todo bien configurado todo placa puerto etc… He descargado flip pero no se como funciona para recargar el firmware que creo que es lo que falla podrías tener detallar un poco más como reinstala arduino gracias soy nuevo en esto