🛠 Graver Optiboot par ICSP : +1,5 Ko de flash et upload accéléré

Arduino Pro Mini · avance · Schéma : IMG-pro-mini-avance-7-promini-optiboot-icsp.svg — Arduino Pro Mini reliée par ses broches SPI 10-13 et RESET à un programmateur ISP (Arduino as ISP), gravure du bootloader Optiboot de 512 octets en lieu et place de l'ATmegaBOOT de 2 Ko

Objetivos

El bootloader de fábrica de la Pro Mini (ATmegaBOOT, protocolo STK500 v1 a 57600 baudios) reserva 2 KB de flash: el sketch está limitado a 30 720 bytes. Optiboot ocupa solo 512 bytes — « only 512 bytes, freeing 1.5k of extra code space compared to older bootloaders » —, arranca inmediatamente tras la alimentación (fastboot) y admite velocidades de transmisión superiores; es explícitamente compatible con la línea Pro. Este bootloader se graba mediante ICSP (los pines SPI 10-13 + RESET aceptan un programador ISP) y se recuperan 32 256 bytes de flash, igual que en una Uno.

Material

Código completo

1. Cote MAITRE : televerser le sketch File > Examples > 11.ArduinoISP
   > ArduinoISP, puis Tools > Programmer > « Arduino as ISP ».
2. Graver le bootloader via l'IDE (carte « Arduino Pro or Pro Mini »
   + CPU 5V/16MHz) : Tools > Burn Bootloader. L'IDE ecrit le
   firmware, les fusibles et la signature en une passe.
3. Alternative avrdude manuelle (hex Optiboot telecharge) :
   avrdude -c arduino -P COMx -b 19200 -p m328p -U lock:w:0x3F:m
   puis ecriture de optiboot_atmega328.hex en flash, puis lock 0x0F.
   (fusibles cristal 16 MHz : lfuse 0xFF, hfuse 0xDE ; l'efuse encode
   la taille du bootloader — laissez l'IDE la choisir)
4. Verifier : avrdude -c arduino -P COMx -b 19200 -p m328p -v
   l'efuse lu doit correspondre a un bootloader de 512 o (Optiboot)
   et non 2 Ko (ATmegaBOOT).

Verificación esperada

Tras la grabación, una carga serie clásica vuelve a funcionar a través del conector de 6 pines (el perfil del IDE para Pro Mini sigue en 57600, una velocidad que Optiboot también admite). El tamaño máximo del sketch pasa de 30 720 a 32 256 bytes: un sketch que antes no cabía ahora compila correctamente. Al alimentar con batería, el sketch arranca sin el retardo del antiguo ATmegaBOOT (fastboot).

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales