(hardware-ish) Model 01 ATtiny ISP flashing quirks

Continuing the discussion from FYI: Model 01 ICSP pin numbering is rotated:

the Model 01 seems to present an electrical challenge for my Arduino Micro as ISP (too much current?); I had to dig out the Dragon and leave the keyboard powered on to get the ATtinys to do ISP programming reasonably.

One of the symptoms I observed is that even when the Model 01 was powered through USB, the Arduino Micro had trouble talking SPI to it. I observe on the schematic that LEFT_NRESET is wired directly (no series resistor) between the ATmega and the left keyscan ATtiny. Also, the Caterina bootloader code actively drives that pin high when it’s done checking for the PROG key. So any connected ISP will have to fight the ATmega’s current source capability on that pin. (The Micro is also a 32u4, so it’s a tossup who will win, and that might depend on power supply details of both.)

The Caterina bootloader should probably turn the output off, instead of actively driving it high. (Or maybe turn off the output after holding it high for a brief period, if there is a concern about it not floating up quickly enough to get a clean reset.)

A possible workaround is to jumper RESET_MCU to ground when attempting to program the left hand ATtiny. (Note that the ATmega shares a power bus with the left ATtiny, so powering the ATtiny through the ICSP connector turns on both.)

Confirmed that the Arduino Micro as ISP can talk to the left ATtiny if its reset line is floating instead of driven high. (I think the Model 01 still needs to be separately powered, because it probably draws too much power for a USB-powered Micro.)