Actualizar el firmware del Arduino SMD Edition

21 Feb

Hace poco mi amigo Chess y yo compramos un Arduino UNO SMD Edition cada uno, y apenas los tuvimos en nuestras manos comenzamos a jugar y a hacer los tutoriales básicos; en uno de ellos pusimos una comunicación serial con poco delay y funcionó bien, pero oh sorpresa nos hemos llevado al intentar cargarle otro Sketch… el Arduino no respondía! Intentamos varias veces hasta que por fin funcionó y se dejó actualizar, pero la molestia quedaba en nosotros. No nos parecía lógico que fuera tan complicado montar un nuevo Sketch. Así que seguimos haciendo pruebas y el error persistía, lo cual nos llevo a pensar que se podría tratar de un problema del Arduino UNO SMD Edition.

Buscamos en Internet, leímos foros, blogs y hasta pasamos por canales IRC; intentando encontrar la solución pero lo único que encontrábamos era la confirmación de que efectivamente era un problema del SMD Edition. Finalmente encontramos dos publicaciones en los foros oficiales de Arduino en las cuales, sumando su contenido, se obtenía la solución.

Acá les reunimos en unos pocos y sencillos pasos la solución. Esperamos que les sea útil.

Preparando lo necesario

Para actualizar el firmware necesitamos el dfu-programmer, el arduino en modo DFU y descargar el código correspondiente a nuestra board de acá

Para instalar el dfu-programmer en Fedora podemos ejecutar:

null   
sudo yum install dfu-programmer

En Ubuntu también está en los repositorios

null   
sudo apt-get install dfu-programmer

Arduino en modo DFU (Device Firmware Upgrade)

Para poner el arduino en modo DFU es necesario conectar dos cables en los pines GND en cada lado del arduino y luego conectar como se muestra en la imagen:

Primero hacemos la conexión de la parte superior izquierda.

Paso 1

Conectar GND al primer pin

Luego hacemos contacto entre el PIN GND de la parte inferior y el lado izquierdo del capacitor que está ubicado debajo del LED RX. Se debe tener cuidado con esta parte ya que el capacitor está cerca de una linea de 5v. Si se desea se puede usar una resistencia de bajo valor en vez del cable para evitar un posible daño al Arduino.

Paso 2

Conectar GND al lado izquierdo del capacitor que está abajo del LED RX

Al tener los dos cables conectados el dispositivo se establece en modo DFU y se pueden soltar los cables.

Actualizar el Firmware

Para actualizar el firmware debemos ejecutar:

null   
sudo dfu-programmer at90usb82 erase
sudo dfu-programmer at90usb82 flash --debug 1 Arduino-usbserial-uno.hex
sudo dfu-programmer at90usb82 reset

Para sacar el Arduino del modo DFU y devolverlo al modo normal basta con desconectar el cable USB y volverlo a conectar.

Con esto ya está listo el Arduino UNO SMD Edition para ser programado cuantas veces nos plazca.

Fuentes

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1286088093/34#34
http://arduino.cc/forum/index.php/topic,111.msg759.html#msg759

Acerca del autor

Daniel Pérez ha escrito 10 publicaciones en este blog.

THE POSTS ARE DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT WITHOUT ANY WARRANTY. IT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. Los quiero.

3 Comentarios a “Actualizar el firmware del Arduino SMD Edition”