The AVRISP connector on the m3pi expansion board exists for advanced users who want to reprogram the AVR on the 3pi base, or it can be used to restore the default AVR program should the original become corrupted in some way. We do not expect the typical user to make use of this feature.
The m3pi expansion PCB features space for a 6-pin AVRISP header that connects to the mbed’s SPI pins—P5 (MOSI), P6 (MISO), and P7 (SCK)—and uses mbed pin P23 to connect control the target reset line. The fully-assembled m3pi robot ships with a keyed, shrouded 0.1″ male AVRISP header soldered to the PCB; the m3pi expansion kit includes this header, but it is not soldered in. If you are assembling the m3pi expansion kit and want to include an AVRISP header, please make sure to align it properly: pin 1 on the header, denoted by a triangle in the plastic, must connect to pin 1 on the PCB, denoted by a caret on the silkscreen and an octagonal pad.
The AVRISP connector is not used to program anything on the m3pi expansion PCB. Rather, it allows you to turn your mbed into an AVR programmer that can be used to reprogram the AVR on the 3pi base if so desired. Simply upload an appropriate program to the mbed and connect the AVRISP header on the m3pi expansion board to the AVRISP header on the 3pi base using the included 6-pin AVRISP cable. Note that the target’s VDD is not routed to the mbed but rather to a set of three prototyping pins. We suggest you connect the AVRISP target VDD to the mbed pin of your choosing and monitor the target voltage while programming so as to avoid programming an unpowered or under-powered AVR.
Note: Programming an unpowered or under-powered AVR can permanently disable it.
If you own a dedicated AVRISP programmer, we suggest you use it rather than the mbed if you want to reprogram the AVR on your 3pi.