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