Editing Using The ISP Shield 2

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 4: Line 4:
 
== ...To program the Arduino Bootloader onto an ATmega168/ATmega328 ==
 
== ...To program the Arduino Bootloader onto an ATmega168/ATmega328 ==
  
===  Initial setup: ===
+
#Attach the ISP Shield 2.0 to the Arduino. If using Arduino Uno, put a piece of insulating tape on top of the USB connector of the Uno to prevent the bottom of the shield from shorting against the connector housing. (Or, use a [[Googly_Shield|Googly Shield]]!)
#Begin with your Arduino, with the ISP shield NOT connected.
 
 
#Connect the Arduino to your computer and bring up the Arduino IDE
 
#Connect the Arduino to your computer and bring up the Arduino IDE
 
#If necessary, configure the Arduino IDE for your Arduino or Arduino clone
 
#If necessary, configure the Arduino IDE for your Arduino or Arduino clone
 
#In the '''File''' menu, select '''Examples''', and open the '''ArduinoISP''' sketch
 
#In the '''File''' menu, select '''Examples''', and open the '''ArduinoISP''' sketch
 
#Upload this sketch to your Arduino or Arduino clone
 
#Upload this sketch to your Arduino or Arduino clone
#Recommended: Disconnect the Arduino from your computer by unplugging the USB cable.
+
#At this time place an ATmega168 or ATmega328 into the ZIF socket on the ISP Shield 2.0 and lock it in place
#Attach the ISP Shield 2.0 to the Arduino. If using Arduino Uno (or other varieties that have metal that can touch the ISP shield), put a piece of insulating tape on top of the USB connector of the Uno to prevent the bottom of the shield from shorting against the connector housing. (Or, use a [[Googly_Shield|Googly Shield]]!)
+
#The lever of the ZIF socket corresponds to pin 1 on the Atmega328, which is opposite, in board orientation, of the retail Arduino Uno Rev3
#Connect the Arduino to your computer.
 
 
 
=== For each AVR that you would like to burn: ===
 
#Place an ATmega168 or ATmega328 into the ZIF socket on the ISP Shield 2.0 and lock it in place
 
#Important: The lever of the ZIF socket corresponds to pin 1 on the Atmega328 — the side of the AVR with the "half-moon" indentation.
 
 
#In the '''Tools''' menu, select '''Board''', and select the type of board that you are burning the bootloader for. For example,
 
#In the '''Tools''' menu, select '''Board''', and select the type of board that you are burning the bootloader for. For example,
 
#* '''Arduino Uno''' if you are programing an ATmega328 for an Uno
 
#* '''Arduino Uno''' if you are programing an ATmega328 for an Uno
Line 40: Line 34:
 
== ...To use the ISP Shield 2.0 in place of an AVR ISP ==
 
== ...To use the ISP Shield 2.0 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. You can use [http://savannah.nongnu.org/projects/avrdude avrdude] to upload compiled programs to an ATmega168/ATmega328 via the ISP Shield 2.0 ZIF socket or either of the ISP headers.  With the Arduino IDE, you can upload sketches with the ISP Shield by pressing and holding the shift key before clicking the Upload icon.  Normally when you hover the mouse over the icon you will see "Upload".  When holding the shift key it will show "Upload Using Programmer."  
+
The ArduinoISP sketch mimics the [http://www.atmel.com/ Atmel] [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2726 AVRISP] programmer. You can use use [http://savannah.nongnu.org/projects/avrdude avrdude] to upload compiled programs to an ATmega168/ATmega328 via the ISP Shield 2.0 ZIF socket or either of the ISP headers.  With the Arduino IDE, you can upload sketches with the ISP Shield by pressing and holding the shift key before clicking the Upload icon.  Normally when you hover the mouse over the icon you will see "Upload".  When holding the shift key it will show "Upload Using Programmer."  
  
 
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.
 
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.
Line 71: Line 65:
 
This is similar to the technique recommended in the [http://arduino.cc/en/Tutorial/ArduinoISP ArduinoISP tutorial] of putting a 10 uF capacitor there, but also editing the ArduinoISP to account for the longer time constant associated with the larger capacitor.
 
This is similar to the technique recommended in the [http://arduino.cc/en/Tutorial/ArduinoISP ArduinoISP tutorial] of putting a 10 uF capacitor there, but also editing the ArduinoISP to account for the longer time constant associated with the larger capacitor.
  
== Recent changes; Arduino variants that (historically) did not work ==
+
== Arduino variants that will NOT work ==
  
 
* We have had two reports of the ArduinoISP method not working properly with the Arduino Mega 2560. This is due to a software problem, that may be fixed in future releases of the Arduino and/or ArduinoISP software.  Some software workarounds have been reported to work.
 
* We have had two reports of the ArduinoISP method not working properly with the Arduino Mega 2560. This is due to a software problem, that may be fixed in future releases of the Arduino and/or ArduinoISP software.  Some software workarounds have been reported to work.
 
* Arduino IDE version 1.6.6 brings a number of improvements to the ArduinoISP process, which may address these issues. You can read more about that [https://petervanhoyweghen.wordpress.com/2015/07/21/arduinoisp-reliability-and-portability-improvements/ here].
 
 
== Arduino variants that probably still will not work ==
 
 
 
* The Arduino Yun does not connect the ArduinoISP control pins to the Digital I/O pins and will not work without custom wiring.
 
* The Arduino Yun does not connect the ArduinoISP control pins to the Digital I/O pins and will not work without custom wiring.

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)