Close

First build report

A project log for USBTinyISP to TPI adapter

Use your USBTinyISP/USBmicroISP to program ATTiny4/5/9/10s

nick-sayerNick Sayer 06/23/2020 at 00:080 Comments

The first build was an almost perfect success, but there is one error that must be corrected.

If you jumper the board for the "normal" !RESET line, it works perfectly. Merging MOSI onto TPID through a 330Ω resistor works just fine. Whether it still works on the AC Safety Timer board that has a significant impedance on TPID remains to be seen, but it's functional nonetheless.

The boost converter works correctly and does generate 12 volts from the incoming 5, but unfortunately, the switching circuit to shunt it onto !RESET just presents the 12 volts constantly. The issue is that I neglected the body diode in the "bottom" MOSFET (the one that sends 5 volts out when the ISP !RESET line is pulled low. The body diode will always see the 12 volt pull-up on the second MOSFET and conduct from that 12 volts down to 5, pulling the second gate low(er).

All that said, you can program a Tiny9 with the RSTDSBL fuse set to 0 with the programmer as it is now. You just have to plunge the pogo pin adapter onto the board and press RETURN on the avrdude command line relatively quickly.

The fix is to introduce an N channel MOSFET in-between. Unfortunately, there's no option to use just 2 MOSFETs for this switching arrangement. We need to detect a low input, which requires a P MOSFET, and we need to isolate that with another MOSFET that can detect the high output from that and bring the final MOSFET gate low. That's an N MOSFET. So there has to be 3.

But despite all that, the result ought to work just fine. Now I just have to wait for boards and then it can go into the Tindie store.

Discussions