Cargar Bootloader en Arduino usando una segunda placa

Hola, hoy voy a explicar como usar una placa de Arduino como programador ISP para poder cargar el Bootloader en el microcontrolador de otra.

Para ello solo necesitamos dos placas Arduino (Da igual si son versiones diferentes, yo use una Duemilanove y otra UNO), unos pocos cables, un cable USB y en algunos casos un condensador de 10µF.

Par Arduino

En el ejemplo cargo el Bootloader en el microcontrolador conectado en la placa Arduino UNO usando como programadora la placa Arduino Duemilanove, a continuación detallare los pasos a seguir:

1- Iniciar la aplicación Arduino en el ordenador y seleccionar el ejemplo ArduinoISP.

img1(Si estamos utilizando un Arduino 1.0 debemos cambiar dentro de la función heartbeat() “delay(40);” por “delay(20);“)

2- Seleccionamos en la aplicación la placa Arduino que tenemos conectada por USB (La que vamos a usar como programadora, en mi caso Arduino Duemilanove) y su correspondiente puerto serie.

img2

3- Cargamos el programa en el Arduino.

4- Ahora debemos hacer el cableado entre las dos placas:

Para Arduino UNO, Duemilanove o Diecimilia:

http://arduino.cc/en/Tutorial/ArduinoISP

http://arduino.cc/en/Tutorial/ArduinoISP

Para Arduino NG o más antiguos:

http://arduino.cc/en/Tutorial/ArduinoISP

http://arduino.cc/en/Tutorial/ArduinoISP

En mi caso la conexión quedo así:

Conexion Arduinos

En algunos casos cuando se usa Arduino Uno es necesario colocar un condensador de 10µF entre el pin Reset y GND del programador.

5- Sin cambiar la conexión USB (La placa programadora conectada) debemos de seleccionar en herramientas la tarjeta correspondiente al modelo en el que estamos grabando el Bootloader (En mi caso Arduino UNO).

tut3

6- Seleccionamos como programador “Arduino as ISP”.

tut4

7- Para finalizar seleccionamos “Herramientas/Grabar Secuencia de Inicio” y esperamos a que termine el proceso, si no ha habido errores ya deberíamos tener nuestro microcontrolador con el Bootloader cargado.

Fuentes: Arduino

10 pensamientos en “Cargar Bootloader en Arduino usando una segunda placa

  1. Pingback: Recuperant una Freaduino | planet.communia.org

  2. Pingback: Recuperant una Freeaduino | planet.communia.org

  3. Angel

    Buenas noches. Tengo el siguiente problema:

    Tengo un Arduino Mega 2560 R3. Lo programaba con el Arduino IDE pero decidí probar el RobotC. Me pedía actualizar el firmware del Mega y lo hice, pero desde ahí ya no me carga los programas ni el RobotC ni el Arduino IDE. ¿Tendré que cargar el bootloader original?

    Agradezco tu respuesta.

  4. Pingback: Tema 7 – Conceptos avanzados de Hardware | Aprendiendo Arduino

  5. Jesus

    Amigo, tengo un leonardo que no es reconocido por la PC , hasta la noche anterior estuve programando y cargando todo sin problemas, y como t dije hoy no lo reconoce, cambie cables computadores y nada, me gustaria intentar lo que publicas aqui, pero no tengo otro arduino, sabes que mas podria intentar, gracias por tu tiempo

  6. Jair Mira

    Buenos días, tengo un Arduino Leonardo y me aparece este error cuando lo trato de programar.

    Gracias

    processing.app.debug.RunnerException: Serial port ‘COM5′ already in use. Try quitting any programs that may be using it.
    at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:155)
    at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67)
    at processing.app.Sketch.upload(Sketch.java:1706)
    at processing.app.Sketch.exportApplet(Sketch.java:1662)
    at processing.app.Sketch.exportApplet(Sketch.java:1634)
    at processing.app.Editor$DefaultExportHandler.run(Editor.java:2346)
    at java.lang.Thread.run(Thread.java:619)

    1. javiersb Autor

      Hola, desconozco si este método es compatible con Arduino Leonardo.

      Siento no poder resolver tu problema.
      Un saludo y gracias por tu visita.

  7. JUair Mira

    Buenos días, tengo un Arduino Leonardo y me aparece este error cuando lo trato de programar.

    Gracias

    processing.app.debug.RunnerException: Serial port ‘COM5′ already in use. Try quitting any programs that may be using it.
    at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:155)
    at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67)
    at processing.app.Sketch.upload(Sketch.java:1706)
    at processing.app.Sketch.exportApplet(Sketch.java:1662)
    at processing.app.Sketch.exportApplet(Sketch.java:1634)
    at processing.app.Editor$DefaultExportHandler.run(Editor.java:2346)
    at java.lang.Thread.run(Thread.java:619)

    1. Javier

      es un problema de comunicacion con el PC

      revisa si tienes los pines RX y TX conectados (desconectalos para que funcione)
      revisa que el pin reset tampoco este conectado

Los comentarios están cerrados.