Programación del microcontrolador ATmega8 con Arduino IDE: Guía paso a paso
Componentes y suministros
![]() |
|
× | 1 | |||
|
× | 1 | ||||
|
× | 1 | ||||
![]() |
|
× | 1 | |||
![]() |
|
× | 2 | |||
![]() |
|
× | 1 | |||
![]() |
|
× | 1 | |||
![]() |
|
× | 1 | |||
![]() |
|
× | 12 | |||
![]() |
|
× | 4 |
Sobre este proyecto
“He escrito mi código para la placa Arduino UNO. ¿Es posible subir mi sketch a un microcontrolador AVR que no sea el ATmega328? Creo que es la pregunta más común de los amantes de Arduino. Puede haber diferentes razones, como:
- Usar un microcontrolador AVR más barato
- Necesitar un microcontrolador AVR con más o incluso menos pines que el ATmega328
- Tenéis todo tipo de AVR excepto el ATmega328 :D
En este tutorial aprenderéis a programar un ATmega8 usando Arduino IDE. No se limita solo al ATmega8 y se puede generalizar a otros núcleos disponibles en el GitHub de MCUDude. Consta de dos partes. En la primera parte se describe la instalación del bootloader de Arduino en el ATmega8. La segunda parte muestra cómo programar un ATmega8 usando Arduino IDE y un conversor USB a TTL.
Parte uno: Instalación del bootloader de Arduino
En esta parte, añadimos soporte para ATmega8 al Arduino IDE. Luego montamos la protoboard y conectamos el ATmega8 a la placa Arduino UNO.
Paso uno: Añadir soporte ATmega8 a Arduino IDE usando el Gestor de tarjetas
Hay diferentes tipos de núcleos disponibles en el repositorio GitHub de MCUDude. MiniCore se usa para el microcontrolador ATmega8. Los microcontroladores soportados en este núcleo son:
- ATmega8
- ATmega48
- ATmega88
- ATmega168
- ATmega328
Seguid los pasos a continuación para instalar MiniCore en vuestro Arduino IDE.
- En el menú Archivo, haced clic en Preferencias.
- Ahora en URLs adicionales del Gestor de tarjetas, introducid la siguiente URL:
https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
- Id al menú Herramientas y luego seleccionad Placa > Gestor de tarjetas
- En la ventana del Gestor de tarjetas, buscad MiniCore e instalad la última versión.
Los pasos anteriores se muestran gráficamente aquí:

El pinout del ATmega8 se muestra en la siguiente figura.

Paso dos: Programar Arduino como ISP (programación en sistema)
Para grabar el bootloader de Arduino, necesitamos convertir nuestro Arduino UNO en un ISP. Hay un sketch llamado ArduinoISP en los ejemplos integrados de Arduino IDE. Seguid estos pasos para programar vuestro Arduino UNO como ISP.
- Abrid Archivo > Ejemplos > 11.ArduinoISP > ArduinoISP
- Subid este sketch a vuestro Arduino UNO.
Paso tres: Grabar el bootloader
- Conectad el Arduino al ATmega8 como se muestra a continuación.
Arduino ---------- ATmega8
SCK / Pin 13 ---------- SCK / PB5
MISO / Pin 12 ---------- MISO / PB4
MOSI / Pin 11 ---------- MOSI / PB3
SSN / Pin 10 ---------- RESET

- Id a Herramientas > Placa y seleccionad ATmega8. También podéis seleccionar el tipo y frecuencia de reloj en el menú Herramientas.
- Seleccionad el tipo de programador en Herramientas > Programador: como “Arduino como ISP”.
- Ahora en el menú Herramientas, haced clic en Grabar bootloader.

Si la operación fue exitosa, dirá “Bootloader grabado correctamente”. ¡Enhorabuena! Lo habéis conseguido.
Parte dos: Programar ATmega8 usando Arduino IDE y un conversor USB a TTL
Aquí tenemos un ATmega8 con bootloader de Arduino. Como sabéis, hay un conversor USB a TTL en todas las placas Arduino. Actúa como puente entre el microcontrolador y Arduino IDE. Usamos el módulo conversor CH340 USB a TTL para subir el sketch al ATmega8.
Paso cuatro: Configurar las conexiones
Conectad los componentes como se muestra a continuación.
CH340 ---------- ATmega8
VCC ---------- VCC
GND ---------- GND
Tx ---------- RX / PD0
Rx ---------- Tx / PD1

Paso cinco: Subir el sketch al ATmega8
Pulsad y mantened pulsado el botón de reset. Ahora haced clic en subir en el IDE. Mantened el botón hasta que diga “Subiendo...” en la barra de estado del IDE. Soltad el botón después de que comience el proceso de subida. Es porque el microcontrolador debe estar en estado RESET cuando comienza el proceso de subida.
Nota: Si el proceso no tuvo éxito, colocad un condensador de 100nF en Vcc y GND del microcontrolador lo más cerca posible.
Nota: Algunos módulos conversores USB a TTL tienen un pin llamado DTR. Si el vuestro también lo tiene, podéis conectarlo al pin RESET del ATmega8 y no habrá necesidad de usar el pulsador para resetear manualmente el microcontrolador.
Esquemáticos
Proceso de manufactura
- Transferir datos de temperatura y humedad entre dos Arduinos usando Firebase
- Proyecto Dados Digitales Arduino: Construye tu Propio Generador de Números Aleatorios con LCD
- Sistema de Sensor de Temperatura Multiposición para Integración en Hogar Inteligente
- Mando USB para juegos DIY con Arduino – Construye tu propio gamepad de alto rendimiento
- MotionSense: Detección inteligente de intrusos con Arduino y ESP8266
- Prevención de Incendios en Impresoras 3D: Sistema de Seguridad con Sensor Inteligente
- Medición de Distancia en Tiempo Real con Sonar Arduino y Visualización en Processing
- Pixel Chaser: Juego LED Interactivo de Un Toque con Arduino Nano
- Control de brillo LED sin interrupciones con Bolt IoT y Arduino UNO
- Crear un medidor IoT web con Arduino, Yaler e IFTTT
- Construye una Brújula Digital en Tiempo Real con Arduino y Processing







