ZUM-bootloader

En esta entrada se explica cómo utilizar una placa ZUM BT-328 como programador ISP para poder cargar el bootloader en el microcontrolador de otra ZUM BT-328.

Componentes necesarios:

  • 2x Placas ZUM BT-328
  • 6x Cables unipolares para conexión entre placas
  • IDE de Arduino
  • Cable USB para conexión placa-ordenador

PASO 0: Forma sencilla de preparar el bootloader.

La placa ZUM BT-328 tiene un bootloader especial, no está incluido entre los básicos que vienen con el programa Arduino. Lo primero que debes hacer es descargar el archivo bootloader en formato .hex siguiente: Bootloader_ZumBT328.hex

Puedes cargar este bootloader mediante comandos avrdude, pero si nunca has utilizado comandos en la consola de tu sistema operativo puedes hacer un pequeño intercambio de archivos para poder cargarlo de forma sencilla. Este “truco” consiste en colocar el bootloader que acabas de descargar en una carpeta en concreto del programa Arduino.

Entra en la carpeta donde está instalado Arduino IDE y accede a la siguiente dirección: hardware/arduino/avr/bootloaders/bt. Verás que hay unos archivos como los siguientes:

captura_carpeta_arduino

Renombra el bootloader de la ZUM BT-328 “bootloader_ZumBT328.hex” por “ATmegaBOOT_168_atmega328_bt.hex” y pegarlo en la carpeta que acabamos de abrir, sobreescribiendo el anterior que tenía ese mismo nombre.

PASO 1: Configurar la placa programadora (A) como programador ISP.

Este paso consiste en cargar un programa base en la placa programadora (A), en concreto el que se llama “ArduinoISP.ino”. Conecta esta primera placa (A) al ordenador con el cable USB y abre Arduino IDE, seleccionando el puerto(Tools/Port: …) y tipo de placa (Tools/Board: Arduino BT y también Processor: ATmega328)

El programa ArduinoISP.ino puedes encontrarlo en la pestaña de Ejemplos de Arduino IDE o bien puedes descargarlo al final de este post.

PASO 2: Conectar ambas placas entre sí

Una vez hayas cargado el programa, conecta ambas placas ZUM BT-328 como indica en el siguiente esquema:

placa_ZUM_2

Placa Programadora (A) Placa a Programar (B)
Pin 10 RESET
Pin 11 Pin 11
Pin 12 Pin 12
Pin 13 Pin 13
5V 5V
GND GND

 

PASO 3: Configura parámetros previos

Vuelve a conectar el cable USB a la placa programadora (A). Y configura los siguientes parámetros en ArduinoIDE:

– Selecciona el puerto en Tools/Port

– Selecciona la Placa en Tools/Board: Arduino BT y Processor: ATmega328. Ésta debe corresponder a la placa que queremos programar (B).

– Selecciona el programador con Tools/Programmer: Arduino as ISP.

PASO 4: Quemar Bootloader

Pulsa sobre Tools/Burn Bootloader


Consejo:
Si se muestran errores al cargar el bootloader, prueba a reiniciar varias veces ArduinoIDE hasta que reconozca nuestro archivo .hex modificado.

Referencias:
http://arduino.cc/es/Tutorial/ArduinoISP