UNO Multi Programming Shield Tutorial Part: 2

Tutorial Part: 3 - Using the UNO Multi Programming Shield>>


The UNO Multi Programming Shield, how it all works.

Once the changes have been made to the Arduino IDE and the shield added to the Arduino UNO board you're just a few steps away from programming your first AVR device. If you already have experience of programming AVRs using another programmer, you can skip the next section although you never know, you might learn something.

Your Arduino UNO is now a fully fledged ISP programmer which can be used in a variety of ways. It is compatible with the "STK500V1" protocol and can be used as follows:

The shield, on its own without the Arduino UNO, can even be used as a stand-alone board with another programmer such as an AVRISP MKII (using the ICSP header).

SPI is used to program the actual AVR device and it uses 4 signals as follows:

  1. SCK - Serial ClocK
  2. MISO - Master In/Slave Out
  3. MOSI - Master Out/Slave In
  4. RESET - connected to the RESET pin of the target AVR device
PLEASE NOTE: The SPI signals used by and provided by the Shield are 5 Volt and MUST NOT be used to program 3.3 Volt devices or circuits containing 3.3 Volt devices!

SPI is a type of Serial Interface which can be used to communicate between devices but we are only interested in programming via the SPI bus. With the addition of power lines, this is all that most AVR devices require for programming.

The ICSP (In Circuit Serial Programming) header on the shield provides all of the above signals as well as VTG (Vcc) and GND (Ground).

The "ArduinoISP_Multi" sketch takes care of the conversion between STK500V1 and the SPI protocols. The UNO Multi Programming Shield provides the sockets and hardware necessary to program the AVR devices.

Tutorial Part: 3 - Using the UNO Multi Programming Shield>>