This repository explains how to flash Arduino sketches onto an ATmega8A microcontroller, either with or without a bootloader.
- ATmega8A microcontroller (DIP-28 or TQFP)
- USBasp programmer or Arduino UNO as ISP
- Optional: USB-to-TTL adapter (for uploading code after bootloader)
- 16 MHz crystal + 22pF capacitors (if using external crystal)
- Jumper wires, breadboard, power supply (5V)
ATmega8A Pin | Function | Programmer Pin |
---|---|---|
Pin 7, 20 | VCC | +5V |
Pin 8, 22 | GND | GND |
Pin 1 | RESET | RESET |
Pin 17 | MOSI | MOSI |
Pin 18 | MISO | MISO |
Pin 19 | SCK | SCK |
π If using external clock: connect Pin 9 & 10 to 16MHz crystal + capacitors.
- Install MiniCore in Arduino IDE Boards Manager.
- Select:
- Board: ATmega8
- Clock: Internal 8 MHz (or 16 MHz if using external crystal)
- Programmer: USBasp (or Arduino as ISP)
- Click Tools β Burn Bootloader.
- After bootloader is installed, connect via USB-to-TTL adapter:
USB-to-TTL | ATmega8A Pin |
---|---|
TXD | Pin 2 (RXD) |
RXD | Pin 3 (TXD) |
GND | GND |
VCC | +5V |
DTR | RESET (via 100nF capacitor) |
Then upload sketches directly from Arduino IDE.
You can also upload compiled code without bootloader using avrdude:
avrdude -c usbasp -p atmega8 -U flash:w:sketch.hex