Autor: Oscar Gonzalez
Tiempo de lectura: 6 minutos
Tutorial donde te enseño cómo convertir un Arduino UNO en un programador ISP barato y casero
Para poder tener tu propio programador ISP, el ejemplo más común es utilizar una placa Arduino UNO. Pero también puedes utilizar otras placas basadas en el microcontrolador ATMega328 como por ejemplo el Arduino Nano. Lo único a tener en cuenta es que la placa que utilices debe disponer de un puerto USB por razones obvias.
Para poder realizar las conexiones, también es recomendable el uso de cables de tipo DuPont, pero eso depende de la placa que vas a utilizar.
Todos los microcontroladores AVR dispone de 4 pines específicos para ser programados:
Esto pines, junto al positivo y negativo de la alimentación, sirven para conectar un programador externo y en éste caso también para realizar las conexiones de nuestro programador ISP casero.
Normalmente, placas como Arduino UNO y Arduino Nano disponen de un conector a tal efecto como este:
Conector ISP Arduino
Si la placa que quieres recuperar no tiene este conector, deberás localizar cuales son las patillas correspondientes a MISO, MOSI, SCK y RESET. Todas lo tienen, solo que algunas no tienen un conector específico para ello.
En la siguiente imagen puedes ver el ejemplo de un Arduino Pro Micro que no tiene un conector ISP, pero tiene los pines 15, 14 y 16 que puedes utilizar igualmente.
Arduino Pro Micro pines ISP
En nuestro caso de ejemplo, tenemos un Arduino NANO que ya tiene el conector y por lo tanto, aquí es donde realizaremos las conexiones a la placa que queramos programar. Pero antes necesitamos convertir el Arduino UNO en un programador como tal. Para eso, el IDE de Arduino dispone de un programa específico para eso y que puedes abrir desde el menú Archivo / Ejemplos / ArduinoISP.
Programa ArduinoISP
Como cualquier otro programa, debes conectar tu placa mediante USB y seleccionar la placa correcta en el menú Herramientas / Placa.
Una vez hecho, pulsamos sobre el botón Subir y quedará la placa preparada como programador ISP. Antes de poder utilizar el Arduino UNO como programador, debes indicarle al IDE de Arduino que lo utilice como tal. Para eso es necesario indicarlo en menú Herramientas / Programador y selecciona la opción Arduino as ISP.
Si utilizas una placa con microcontrolador ATmega32U4 como el Leonardo, debes seleccionar Arduino as ISP (ATMega32U4)
Programador Arduino as ISP
Ahora ya tienes tu flamante programador ISP casero. En las siguientes páginas, veremos algunos ejemplo de uso con otros microcontroladores y las conexiones necesarias. También veremos cómo restaurar un bootloader.