Required Components
- ATmega168 microcontroller (DIP-28)
- 16 MHz crystal (optional, can use internal 8MHz)
- 2 × 22pF capacitors (for crystal)
- Piezo buzzer (5V)
- 220Ω resistor (for buzzer)
- USB-to-serial adapter (FTDI, CP2102, CH340)
- 5V power supply
- Breadboard and jumper wires
Wiring Diagram
* ATmega168 USB-to-Serial
* ┌─────────┐ ┌──────────┐
* │PD0 (2) ├────────┤RX │
* │PD1 (3) ├────────┤TX │
* │PD5 (11) ├────┬───┤ │
* │ │ 220Ω│ │
* │ │ ┌─┴─┐ │
* │GND (8) ├────┴───┴──────────┤GND
* │VCC (7) ├────────┤VCC (5V) │
* └─────────┘ └──────────┘
* Buzzer
*
Pin Configuration
Edit src/includes/pinDefines.h to change buzzer pin:
#define BUZZER_DDR DDRD
#define BUZZER_PORT PORTD
#define BUZZER_PIN PD5
Power Requirements
- Voltage: 5V DC
- Current (idle): ~15mA
- Current (playing): ~25-35mA
- Can be powered via USB-to-serial adapter