Multiprog v1.0 - Combined HighVoltage + ISP + USBTTL adapter/programmer

This is a 5 volt programmer device which combines a High Voltage (serial) Programmer, an ISP In
System Programmer and a USBTTL interface in one unit with menu selection of the desired function.
This combination can be useful especially when programming an ATtiny85 micro-controller
in the case when the reset pin is used as a GPIO pin.

It has other uses as well, for example loading the bootloader onto an ATmega328p chip, then loading
a sketch via the boot loader then seeing the output through the serial monitor of the host PC.
It has also been tested in the USBTTL mode with an Adafruit Huzzah – a 5 volt tolerant ESP8266 breakout.

The device consists of a CH340G Arduino Nano clone with some hardware modifications mainly to
propagate the host reset to the target device described here: Arduino Nano (CH340G) based USB-TTL adapter - Exhibition / Gallery - Arduino Forum ,
a miniature boost converter set to provide 12 volts, a small OLED display, a mode selection and a mode activation switch, and a small circuit to switch power an reset pin voltages.

multiprog-cover.jpg

I hope someone finds it useful.

Edit 1:
Some changes are currently undergoing testing to fix two problems which have been discovered recently:

  1. Before using ISP mode, it was sometimes necessary to enter USBTTL mode immediately before to force the pin ND8 to be set correctly as an output pin. Fixed by a code change in setup_ISPMode()
  2. A pullup resistor on the target reset pin sometimes had to be removed for a successful operation (applicable only to ISP and USBTTL modes). Fixed by a hardware change.
    An update of the documents and code will appears when the testing has been completed.

multip-prog-Schematic-v1.0.pdf (47.5 KB)

Multiprog v1.0.pdf (838 KB)

MultiProg-V1.0.ino (34.5 KB)