Estamos familiarizados con el Arduino IDE como medio de subir bocetos. Pero, existen límites al IDE. Si estamos desarrollando aplicaciones complejas para el ATMega328, entonces el IDE no es suficiente. Si hay múltiples archivos de código fuente que compilación una salida hexagonal para memoria flash y otro para la eeprom, el IDE queda corto. En cualquier caso, necesitamos un ISP, un programador en el sistema que se conecta directamente a las cabeceras ICSP en la placa Arduino y software para subir los archivos hexagonales a la ATM328.
Me encontré con esto cuando compré un "probador de Transistor" de un vendedor en línea. Este es un clon chino de un dispositivo desarrollado por Markus Frejek y Karl-Heinz Kübbeler. Basado en un ATMega328, medidas de resistencia y capacitancia e identifica los diodos y transistores, entre otras cosas. Por aproximadamente $12.50 (entregado!) este ingenioso gadget es una adición útil a la caja de herramientas de un tinkerer. Pero tiene un problema. Si, por error, intenta medir un condensador electrolítico con un cargo en él, podría saltar el chip ATM328. No es gran cosa, piensas. Siempre podría sustituir a otro, por un par de dólares y programarlo para realizar como el original. Después de todo, siempre puede cargar de Markus Frejek código fuente a un ATM328 en blanco. ¿Pero, se puede realmente? No con el IDE de Arduino, no podía. Se trata de construir un proyecto de código fuente de varios archivos, usando un fichero Makefile. Por otra parte, hay dos archivos de código objeto ese resultado, el archivo hex para cargar en memoria de 328, y hex otro archivo para la memoria eeprom . El resultado neto es que necesita un programador ISP. Afortunadamente son bastante baratos. Por desgracia, no son tan fácil de usar.
Una placa Arduino estándar tiene una cabecera de 6 pines ICSP justo al lado de la viruta del ATM328. Un programador AVR ISP MKII de clon barato, China viene con un cable de 10 pines. Se trata de un problema, porque necesita un 10 pines a 6 pines coverter para conectar la cabecera ICSP de Arduino. Estos convertidores son baratos, como eBay en poco como un dólar o dos, incluyendo entrega de China. Pero, también es posible hacer su propio convertidor, utilizando un conjunto de 6 puentes de hombre a mujer.