Programming and debugging headers

The ATtinyx61 and ATtinyx5 can be ISP programmed through their respective ISP/dW 6 pin headers (2.54mm). The same connectors can be used for debugging using DebugWire. Refer to Figure 4-1 (below) to identify the programming and debugging pin headers.

Note that, to be able to run DebugWire debugging it is required to disconnect the ATtiny reset circuit (pull-up, decoupling and clamping diode), otherwise the DebugWire communicate will fail. For the ATtinyx5 devices the resistor R302 must be removed to disconnect the reset circuit. For the ATtinyx61 the resistor R303 should be removed.

The board controller (also referred to as "master") can be programmed and debugged through either ISP or JTAG. The device's RESET lines are connected individually.

Figure 1. Programming and debugging headers.

Note that the three AVRs on the board share the SPI programming lines for communication purposes: if one device is driving the SPI lines while SPI programming of the other device is attempted the programming is likely to fail. Therefore, ensure that no devices are driving the shared SPI programming lines while SPI programming is performed. If JTAG programming is used to program the ATmega644 board controller it can be programmed regardless of the state of the SPI lines. If SPI communication is used between a ATtiny and the ATmega644 a way to ensure that programming is successful, is to erase the ATmega644 first, next program the ATtiny and finally program the ATmega644.

During development the JTAG and DebugWire debugging interfaces are used, these are not using the SPI lines to program the devices, and there are thus no special procedures that should be followed to ensure successful programming.

In general the ATtinyx5 and the ATtinyx61 sockets should not be populated at the same time, as the devices in these sockets are connected to the same traces on the BC100. If devices are placed in both of these sockets it could potentially result in drive contention.