USBasp (http://www.fischl.de/usbasp/) designed by Thomas Fischl is a very
nice and cheap AVR ISP programmer.
However the original version theoretically does not allow to program AVRs
powered from voltages lower than 5V.
Because I wanted to use it to program new AVRs working at c.a. 2V, I had to
modify the original circuit.
To keep design as simple as possible and to avoid using integrated level
converters (which are sometimes difficult to buy), I have decided to use
simple transistor keys with Schottky diodes to convert logic levels.
Such keys however invert the signals, so I had to modify the firmware.
Final result (schematic diagram and modified sources) are available
on my website http://www.ise.pw.edu.pl/~wzab/usbasp_mv .
I hope that someone may found it useful.