Miniprog Version 1.1
(c) 20015 by Malte Marwedel

This project is a PCB for easy connecting AVRs with four differenc pin connections to an ISP programmer:
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)

Note: The pin connections of the ATtiny26 (20pol) do *not* fit.

Features:
* Each 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.
  This allows using the reset pin as common I/O.
* 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.

Bugs:
* D1 is on the top side of the PCB, but it should be on the bottom side. This can be easily fixed while soldering THT.
* R5 holds all AVRs permanently in reset, preventing the use of the LED for test. Apply one workaround:
  Workaround 1: Bridge the Vcc with R in an unused socket. This pins are the two top most in IC3 or IC4.
  Workaround 2: Tell your programmer to leave reset high after programming is done.
  Workaround 3: For IC1 HV programming can be used, which allows disabling the reset pin.
  Workaround 4: If HV programming is not used, R5 can be removed.
* IC1 and IC4 are very close on the PCB, making removing the ICs difficult if IC4 is used as clock source.
* The output of the programmer was not protectd from the 12V if the DIP switch is in the wrong position. This has been fixed in PCB verison 1.1 by adding D2.

Dip switch:
Switch 1: Disconnects reset of IC4. Set to off to use IC4 as clock source.
Switch 2: Set to on if 12V is disconnected, set to off if 12V is connected. Otherwise no communication will work.
          If connected to 12V and enabled, D1 is needed to protect your programmer from overvoltage.
          *WARNING*: This should not be operating in this mode for a longer period, as R4 will be stressed beyond its maximum.
Switch 3: Set to on to use HV programming. This connects SCI to the JP1 header. Some ISP (non HV) programmers may connect
          this pin permanently to GND, which might conflict with programs in an AVR setting the SCI pin as output.

Software:
For using the HV programming, YASAP (Yet another si(mple/lly) AVR programmer) has been added.
The programm runs on an ATmega8 and can switch the (HV) fuses over the serial console. So there is no PC program required,
however since entering all bytes manually into a terminal is not practical a simple program (Linux) for sending a .hex file has been added.

