Editing Using The ISP Shield

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
This page covers basic usage of the Evil Mad Science [http://wiki.evilmadscience.com/ISP_Shield ISP Shield]
+
= Using the ISP Shield =
  
 +
* ''''Note:'''' ''Unless you specifically need it, be sure to remove or otherwise disconnect the pin that carries the RESET signal.''
  
 
== ...To program the Arduino Bootloader onto an ATmega168/ATmega328 ==
 
== ...To program the Arduino Bootloader onto an ATmega168/ATmega328 ==
 
 
#Attach the ISP Shield to the Arduino
 
#Attach the ISP Shield to the Arduino
 
#Connect the Arduino to your computer and bring up the Arduino IDE
 
#Connect the Arduino to your computer and bring up the Arduino IDE
Line 17: Line 17:
  
 
== ...To program the Arduino Bootloader onto an ATmega168/ATmega328 located on an external target board ==
 
== ...To program the Arduino Bootloader onto an ATmega168/ATmega328 located on an external target board ==
 
+
If your target board has a standard AVR programming header (or you can hack one together) you can still use the ISP Shield.
You can also use the ISP Shield to program the Arduino bootloader onto an external target board, providing that the target is Arduino compatible and has a standard 6-pin* AVR ISP programming header.
+
Follow the instructions above, however instead of placing a microcontroller into the ZIF socket connect the ISP Shield to the target board with either the 6 pin (2x3 DIL) ribbon cable or a 10 pin (2x5 DIL) ribbon cable.
 
+
If you are programming an ATmega168 your target board will need the appropriate crystal and related capacitors, although not the reset line pull-up resistor (the ISP Shield takes care of that).
Follow the instructions above, however instead of placing a microcontroller into the ZIF socket connect the ISP Shield to the target board with a 6 pin (2x3 DIL) ribbon cable.  Be sure to get the orientation correct; pin 1 is marked with an arrow on the ISP Shield circuit board. In addition, make sure that the target power jumper is set correctly on the ISP Shield. If your target board has its own power, the jumper should be set to 'Nope'.
 
 
 
It is important to make sure that your target is genuinely Arduino compatible, and that you select the appropriate target board type from the Arduino Tools menu.
 
If you are programming an ATmega168 your target board will need the appropriate crystal and related capacitors.
 
 
If you are programming an ATmega328 your target board may have an appropriate crystal and related capacitors. However if you wish to use the internal oscillator instead you need to install support for an additional hardware configuration. Check the [http://arduino.cc/en/Tutorial/ArduinoToBreadboard From Arduino to a Microcontroller on a Breadboard] tutorial by the Arduino Team - under the '''Minimal Circuit (Eliminating the External Clock)''' section there are instructions for downloading and installing the '''ATmega328 on a breadboard (8 MHz internal clock)''' hardware configuration in the Arduino IDE. Once installed, select this Board type when programming an ATmega328 on an external target board that has no crystal.
 
If you are programming an ATmega328 your target board may have an appropriate crystal and related capacitors. However if you wish to use the internal oscillator instead you need to install support for an additional hardware configuration. Check the [http://arduino.cc/en/Tutorial/ArduinoToBreadboard From Arduino to a Microcontroller on a Breadboard] tutorial by the Arduino Team - under the '''Minimal Circuit (Eliminating the External Clock)''' section there are instructions for downloading and installing the '''ATmega328 on a breadboard (8 MHz internal clock)''' hardware configuration in the Arduino IDE. Once installed, select this Board type when programming an ATmega328 on an external target board that has no crystal.
  
  
 
== ...To use the ISP Shield in place of an AVR ISP ==
 
== ...To use the ISP Shield in place of an AVR ISP ==
 
+
The ArduinoISP sketch mimics the [http://www.atmel.com/ Atmel] [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2726 AVRISP] programmer. The Arduino IDE won't let you use it to upload sketches, but you can use [http://savannah.nongnu.org/projects/avrdude avrdude] to upload compiled programs to an ATmega168/ATmega328 via the ISP Shield ZIF socket or either of the ISP headers. When using an Arduino and ArduinoISP in this capacity the avrdude programmer type should be set to 'avrisp'. Check the avrdude webpage for detailed instructions and documentation regarding the use of avrdude.
The ArduinoISP sketch mimics the [http://www.atmel.com/ Atmel] [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2726 AVRISP] programmer. The Arduino IDE won't let you use it to upload sketches, but you can use [http://savannah.nongnu.org/projects/avrdude avrdude] to upload compiled programs to an ATmega168/ATmega328 via the ISP Shield ZIF socket or either of the ISP headers.
 
 
 
When using an Arduino and ArduinoISP in this capacity the avrdude programmer type should be set to 'avrisp'. If you are using Windows avrdude may not be able to use the Arduino unless it is attached to COM port 9 (COM9) or lower. To change the port number that a device is attached to first locate it in the Device Manager: in the '''System Properties''' control panel, select the '''Hardware''' tab, then click the '''Device Manager''' button, and finally expand the '''Ports (COM & LPT)''' item. Right click the appropriate device for your Arduino and select '''Properties''' option, select the '''Port Settings''' tab, and click the button labeled '''Advanced...'''. Select a new unused port in the '''COM Port Number''' drop-down selection box.
 
 
 
Check the avrdude webpage for complete instructions and documentation regarding the use of avrdude.
 
 
 
 
 
== In case of difficulty...  ==
 
 
 
* Make sure that you cut the extra reset pin in [http://wiki.evilmadscience.com/ISP_Shield_Assembly_Instructions#11._6-_and_8-pin_stacking_headers Step 11] of the assembly instructions.
 
 
 
* There is a [http://www.arduino.cc/playground/Code/MegaISP known issue] with auto-reset (a common feature on Arduino boards) and the ArduinoISP technique.  You may, for example, get the "not in sync: resp=0x15" error message.  If so, you may need to disable auto-reset.  The ISP Shield kit includes a non-destructive hack for overriding auto-reset, [http://wiki.evilmadscience.com/ISP_Shield_Assembly_Instructions#14._Optional_resistor_to_disable_Arduino_auto-reset see here] for more information.
 

Please note that all contributions to Evil Mad Scientist Wiki are considered to be released under the GNU Free Documentation License 1.3 (see Evil Mad Scientist Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)