This wiring permits programing the bootloader of atmega 128, 64 and 16. Also, but not tested yet can be used for the attyny of 8 pins and atmega32. The schematic is not routed, but the PCB can be etched in 2 layers to do an Arduino shield.

Based on the arduino as ISP, also includes the capacity of programing other chips that atmega16 or 32 using the same board to several consecutive chips if neded.

The wiring in the bb is more complicated than the needed, but useful for illustrative purposes and functional.

To program, you must copy the folder of the desired bootloader in the arduino/hardware folder, as most of the precompiled bootloaders say in their respectives documentations.

Then upload the sketch form samples "Arduino as isp" to your Arduino, after that, select the bootloader you want, select the programmer "ArduinoISP" and click the option "Burn bootloader" from the Utils menu.