El otro día compré un par de ATmega328 sin bootloader y estoy teniendo problemas a la hora de cargarle el bootloader. Lo he intentado de dos maneras diferentes y en las dos me ha dado error.
He probado tanto el cable paralelo que hay en la web como programarlo utilizando un Arduino Duemilenove como programador. Las dos me han fallado.
El micro es un ATMEGA328-PU. He leído que hay que cambiar el archivo config del avrdude pero ni así he conseguido hacer que funcione, parece que este chip tiene una firma diferente incluso a la del Atmega328.
Alguien ha tenido algún problema similar y lo ha solucinado?
obviamente no tuve que hacer la modificación al archivo de configuración.
Pero vale que vuelvas a leer bien estas lineas y comprobar si lo estás haciendo bien.
En caso de que tengas un 328P-PU, puedes ir directamente al último párrafo. Pero en caso contrario, es preciso modificar un archivo de configuración del entorno de Arduino para “engañarlo” y que piense que se trata del otro modelo de chip.
Para ello, sólo hay que abrir el archivo avrdude.conf, que se encuentra en hardware/tools/avr/etc/ y encontrar hacia la segunda mitad del archivo la línea 9245:
signature = 0x1e 0×95 0x0F;
y cambiarla por ésta (lo que viene siendo reemplazar el 0F por un 14):
signature = 0x1e 0×95 0×14;
Cuando hayas terminado de cargar el bootloader, revierte el cambio que acabamos de hacer, ya que entonces si no lo haces no podrás cargar archivos a tu Arduino. No obstante, tendrás que volver a hacer esto siempre que quieras cargar tu ATMega328-PU. Como curiosidad, si se omite esta parte la consola del entorno nos mostrará el siguiente error:
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
Double check chip, or use -F to override this check.