SPI Programmer - Miniprog
If there is no ISP adaptor in a circuit and the use of a bootloader is not possible, then the microcontroller has to be programmed in an external circuit. This external programmer could be build on a breakboard, or if it is required more frequently, a PCB might be handy. This PCB provides a simple adaptor to connect a 10pin SPI header to some sockets. As additional option, it is possible to use serial high voltage programming, allowing to use the reset pin as extra I/O. This especially interesting for the AVRs who have few pins (DIP8, DIP14). The software for HV programming is based on the unbricking software found here and an earlier version here.
- Four sockets for AVR programming
- IC1 14pol: ATtiny44 and similar (ATtiny24, ATtiny84)
- IC2 28pol: ATmega8 and similar (ex AT90S4433, ATmega168)
- IC3 20pol: ATtiny2313 and similar (ex AT90S2313)
- IC4 8pol: ATtiny45 and similar (ex ATtiny13, ATtiny25, ATtiny85)
- Each socked can be clocked by a shared crystal
- If an external clock is required, the reset for IC4 can be disconnected, then an AVR in socket IC4 can generate a (slow) clock an AVR in one of the other three sockets.
- A power LED indicates power.
- One LED is connected to a pin of IC1, IC2, IC3, allowing a simple visual check if the clock source is selected properly (right blinking frequency)
- Some ATtinys can be high voltage programmed with a serial interface. Namely those fitting in IC1 or IC4. A stabilized external +12V power supply and proper fitting HV programmer is required.
- A sample code for HV programming with the help of an external ATmega8 and a serial port is provided. On the host side the programmer (YASAP) can be used with a VT100 terminal (19200 baud). For Linux a simple .hex -> yasap program is provided.