Este programador se basa en el diseño USBasp de Thomas Fischl y se conecta al puerto USB de su ordenador. No solo es bastante compacto, sino que el diseño es realmente elegante. La interfaz USB se logra mediante un procesador atmega y el resto se realiza en firmware. Para los interesados, el código fuente del firmware se puede descargar del sitio web de USBasp. Algunas de las características incluyen:
- Soporte para AVRDude desde la versión 5,2 en adelante
- Le permite leer o escribir la EEPROM del microcontrolador, firmware, bits de fusibles y bits de bloqueo
- Compatible con Linux, OS X y Windows (funcionará en vista)
- Velocidad máxima de escritura 5 KB/seg
- La opción SCK controlada por software para admitir objetivos con baja velocidad de reloj (<1.5MHz).
- 10 pin interfaz ISP
Estos programadores son un compañero perfecto para la placa de desarrollo Protostack 28 pin AVR o el Kit de desarrollo Protostack atmega8.
Lista de dispositivos soportados por Programador USBasp para AVR
ATmega8 | ATmega8A | ATmega48 | ATmega48A | ATmega48P |
ATmega48PA | ATmega88 | ATmega88A | ATmega88P | ATmega88PA |
ATmega168 | ATmega168A | ATmega168P | ATmega168PA | ATmega328 |
ATmega328P | ATmega103 | ATmega128 | ATmega128P | ATmega1280 |
ATmega1281 | ATmega16 | ATmega16A | ATmega161 | ATmega162 |
ATmega163 | ATmega164 | ATmega164A | ATmega164P | ATmega164PA |
ATmega169 | ATmega169A | ATmega169P | ATmega169PA | ATmega2560 |
ATmega2561 | ATmega32 | ATmega32A | ATmega324 | ATmega324A |
ATmega324P | ATmega324PA | ATmega329 | ATmega329A | ATmega329P |
ATmega329PA | ATmega3290 | ATmega3290A | ATmega3290P | ATmega64 |
ATmega64A | ATmega640 | ATmega644 | ATmega644A | ATmega644P |
ATmega644PA | ATmega649 | ATmega649A | ATmega649P | ATmega6490 |
ATmega6490A | ATmega6490P | ATmega8515 | ATmega8535 | |
Tiny Series | ||||
ATtiny12 | ATtiny13 | ATtiny13A | ATtiny15 | ATtiny25 |
ATtiny26 | ATtiny45 | ATtiny85 | ATtiny2313 | ATtiny2313A |
Classic Series | ||||
AT90S1200 | AT90S2313 | AT90S2333 | AT90S2343 | AT90S4414 |
AT90S4433 | AT90S4434 | AT90S8515 | ||
AT90S8535 | ||||
CAN Series | ||||
AT90CAN128 | ||||
PWM Series | ||||
AT90PWM2 | AT90PWM3 |
Pagina oficial: https://www.fischl.de/usbasp/
Preguntas Frecuentes
¿Por qué necesitaría este programador si mi Arduino ya tiene un puerto USB?
Este programador ISP (In-System Programmer) es una herramienta más avanzada con dos propósitos clave que un cable USB normal no puede cumplir:
- Quemar el Bootloader: Si compras un microcontrolador ATmega328P virgen para un proyecto personalizado, no tendrá el bootloader de Arduino. Este programador es la herramienta necesaria para cargar ese bootloader inicial y «convertirlo» en un chip compatible con el IDE de Arduino. También sirve para reinstalar un bootloader dañado en una placa Arduino oficial.
- Programar chips directamente: Te permite saltarte el bootloader por completo y cargar tu código (sketch) directamente en la memoria del microcontrolador. Esto libera un poco de espacio de memoria y hace que el programa se inicie instantáneamente al encenderse, sin el parpadeo inicial característico del bootloader.
¿Cómo conecto este programador a mi placa Arduino UNO o a un chip en un protoboard?
El programador utiliza una interfaz estándar de 10 pines. Para conectarlo, debes usar los pines ISP (a veces etiquetados como ICSP) de tu placa.
- En un Arduino UNO/Mega: Busca el conector de 2×3 pines (6 pines en total) usualmente ubicado cerca del microcontrolador principal. Necesitarás un adaptador de 10 a 6 pines o usar cables jumper para mapear los pines correctamente (MISO, MOSI, SCK, RESET, VCC, GND).
- En un chip suelto (protoboard): Debes conectar los 6 pines mencionados directamente desde el cable del programador a los pines correspondientes del microcontrolador ATmega o ATtiny según su datasheet.
¿Este programador provee energía al microcontrolador que estoy programando?
Sí, la mayoría de los programadores USBasp como este incluyen un jumper (un pequeño puente plástico) en la placa. Este jumper te permite seleccionar si deseas que el programador suministre 5V o 3.3V al microcontrolador de destino. Es crucial verificar y ajustar este jumper a la tensión de operación correcta de tu chip antes de conectarlo para evitar dañarlo. También puedes quitar el jumper por completo si prefieres alimentar tu circuito de destino con una fuente de poder externa.
¿Qué software necesito en mi computador para que funcione? ¿Es compatible con el IDE de Arduino?
Este programador es una herramienta de hardware que se comunica con el software de tu PC a través del programa AVRDude. La buena noticia es que AVRDude ya viene integrado en el IDE de Arduino. Para usarlo:
- En el IDE de Arduino, ve a Herramientas > Programador y selecciona «USBasp».
- Luego, en lugar de usar el botón «Subir», vas al menú Archivo > Subir usando Programador (o la opción «Quemar Bootloader» si es lo que necesitas).
En algunos sistemas operativos (especialmente Windows) puede ser necesario instalar un driver específico como «Zadig» para que el sistema reconozca el dispositivo correctamente.
¿Para qué sirve el jumper de «Slow SCK» mencionado en las características?
El jumper «Slow SCK» (Slow Serial Clock) es una función de seguridad muy importante. Debes activarlo (poner el puente) cuando programas microcontroladores ATmega o ATtiny que están funcionando a una velocidad de reloj muy baja (menor a 1.5 MHz). Esto es típico en chips nuevos de fábrica, que vienen configurados para usar su oscilador interno de 1 MHz. Si intentas programarlos a la velocidad normal, la comunicación fallará. Al activar este jumper, el programador reduce su velocidad para asegurar una conexión estable.
¿Puedo programar un ESP32 o un ESP8266 con este dispositivo?
No. Este programador está diseñado específicamente para la arquitectura AVR de Atmel/Microchip, que es la familia de microcontroladores utilizada en las placas Arduino clásicas (UNO, Nano, Mega, Leonardo) y los chips ATtiny. Los ESP32 y ESP8266 son de una arquitectura completamente diferente (Xtensa LX6) y requieren un programador distinto, usualmente un convertidor USB a TTL Serial (como los basados en CH340 o CP2102) que se comunica a través del puerto UART.
Valoraciones
No hay valoraciones aún.