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.

Images

Features

  • 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.

Software and schematics

As always, use at your own risk.
miniprog-v1-1.zip Software and schematics version 1.1
miniprogV1-1.pdf Just the schematics