{"id":1515,"date":"2009-03-11T01:02:28","date_gmt":"2009-03-11T06:02:28","guid":{"rendered":"http:\/\/mightyohm.com\/blog\/?page_id=1515"},"modified":"2010-10-29T00:06:46","modified_gmt":"2010-10-29T05:06:46","slug":"usage-instructions","status":"publish","type":"page","link":"https:\/\/mightyohm.com\/blog\/products\/avr-hv-rescue-shield\/usage-instructions\/","title":{"rendered":"Usage Instructions"},"content":{"rendered":"<h3>To use the AVR HV Rescue Shield to burn fuses on an ATmega168 AVR:<\/h3>\n<h4>Step 0:<\/h4>\n<p>Verify your Arduino is working and your IDE is properly configured.\u00a0 A simple blinking LED circuit is good for this.<\/p>\n<h4>Step 1:<\/h4>\n<p>Load the HVRescue_Shield sketch in the Arduino IDE and click the &#8220;upload to Arduino&#8221; button.\u00a0 On older Arduino&#8217;s, you&#8217;ll have to manually press the reset button on the Arduino first.<\/p>\n<h4>Step 2:<\/h4>\n<p>Install the Rescue Shield on the Arduino.\u00a0 Make sure there is no target AVR installed in either socket at this point.\u00a0 The red BURN LED may turn on briefly as the Arduino finishes its reset, but eventually the green READY LED should turn on.<\/p>\n<h4>Step 3:<\/h4>\n<p>Click the &#8220;serial monitor&#8221; button at the top of the Arduino IDE.\u00a0 It&#8217;s the rightmost button in the toolbar, a rectangle with an antenna sticking out the top.<\/p>\n<p>If interactive mode is enabled in the sketch, you should see a prompt to install the target AVR and push the button, as shown here:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" title=\"Insert target AVR\" src=\"http:\/\/mightyohm.com\/files\/avr_rescue\/screenshots\/Arduino%20-%20insert%20target%20AVR.png\" alt=\"\" width=\"500\" height=\"527\" \/><\/p>\n<h4>Step 4:<\/h4>\n<p>Insert the target AVR into the corresponding socket.\u00a0 IC1 is for the ATmega48\/88\/168\/328 series, IC2 is for the ATtiny2313.<\/p>\n<h4>Step 5:<\/h4>\n<p>Push the button on the Rescue Shield, it&#8217;s labeled GO!<\/p>\n<p>The red BURN LED should turn on and you will be prompted for new fuse values to send to the target.<\/p>\n<h4>Step 6:<\/h4>\n<p>Enter the fuse values, in the form &#8220;0xFF&#8221;.\u00a0 The leading &#8220;0x&#8221; is important (the fuse value parsing code is very simple).\u00a0 The default values for an ATmega168 are given as a suggestion.<\/p>\n<p>Enter the fuse values into the box above the serial window, and click &#8220;Send&#8221;.\u00a0 In this example, I am entering an LFUSE value of 0xC7.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" title=\"Enter LFUSE value\" src=\"http:\/\/mightyohm.com\/files\/avr_rescue\/screenshots\/Arduino%20-%20enter%20LFUSE%20value.png\" alt=\"\" width=\"500\" height=\"527\" \/><\/p>\n<p>Using the same procedure, enter the HFUSE value:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" title=\"Enter HFUSE value\" src=\"http:\/\/mightyohm.com\/files\/avr_rescue\/screenshots\/Arduino%20-%20enter%20HFUSE%20value.png\" alt=\"\" width=\"500\" height=\"527\" \/><\/p>\n<p>In this example, I entered 0xDF, the default HFUSE value for the ATmega168.<\/p>\n<p>If EFUSE support is enabled, you will need to enter a desired EFUSE value as well (not shown).<\/p>\n<h4>Step 7:<\/h4>\n<p>The sketch will burn the desired fuses to the part, and then read the fuses back again to verify.\u00a0 When the process is done, you will see the message &#8220;Burn complete.&#8221; as shown below:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" title=\"Burn complete!\" src=\"http:\/\/mightyohm.com\/files\/avr_rescue\/screenshots\/Arduino%20-%20burn%20complete.png\" alt=\"\" width=\"500\" height=\"527\" \/><\/p>\n<p>If the fuses read back match the ones you entered, you&#8217;re done!<\/p>\n<p>The red BURN LED will turn off when the burn process is finished, and the green READY LED will come back on.<\/p>\n<p>Once the BURN LED is out, remove the target AVR.\u00a0 You&#8217;re done!<\/p>\n<h4>Options:<\/h4>\n<p>Options are listed immediately after the title block of the sketch.\u00a0 If you change options, you must recompile the sketch and upload it to the Arduino.\u00a0 Be sure to remove the Rescue Shield before uploading sketches to the Arduino.<\/p>\n<blockquote>\n<pre>\r\n\/\/ User defined settings\r\n#define\u00a0 ATtiny\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 \/\/ Set this to 1 to flash the ATtiny2313 (default is ATmega48\/88\/168)\r\n#define\u00a0 INTERACTIVE\u00a0 1\u00a0\u00a0\u00a0\u00a0 \/\/ Set this to 0 to disable interactive (serial) mode\r\n#define\u00a0 BURN_EFUSE\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 \/\/ Set this to 1 to enable burning extended fuse byte\r\n#define\u00a0 BAUD\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 9600\u00a0 \/\/ Serial port rate at which to talk to PC\r\n\r\n\/\/ If interactive mode is off, these fuse settings are used instead of user prompted values\r\n#define\u00a0 LFUSE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x62\u00a0 \/\/ default for ATmega168 = 0x62\r\n#define\u00a0 HFUSE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0xDF\u00a0 \/\/ default for ATmega168 = 0xDF\r\n#define\u00a0 EFUSE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0xF9\u00a0 \/\/ default for ATmega168 = 0xF9\r\n<\/pre>\n<\/blockquote>\n<ul>\n<li>To burn the fuses on an ATtiny2313, edit the sketch and change the <strong>ATtiny<\/strong> option to 1.<\/li>\n<li>To disable interactive mode, set <strong>INTERACTIVE<\/strong> to 0.\u00a0 You will need to set the <strong>LFUSE<\/strong>, <strong>HFUSE<\/strong>, and <strong>EFUSE<\/strong> (if desired) values below to the desired fuse values.<\/li>\n<li>If you want to burn the EFUSE byte in addition to LFUSE and HFUSE, set the <strong>BURN_EFUSE<\/strong> option to 1.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>To use the AVR HV Rescue Shield to burn fuses on an ATmega168 AVR: Step 0: Verify your Arduino is working and your IDE is properly configured.\u00a0 A simple blinking LED circuit is good for this. Step 1: Load the HVRescue_Shield sketch in the Arduino IDE and click the &#8220;upload to Arduino&#8221; button.\u00a0 On older &hellip; <a href=\"https:\/\/mightyohm.com\/blog\/products\/avr-hv-rescue-shield\/usage-instructions\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Usage Instructions<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":1473,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1515","page","type-page","status-publish","hentry"],"jetpack_shortlink":"https:\/\/wp.me\/PioCd-or","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":3436,"url":"https:\/\/mightyohm.com\/blog\/products\/hv-rescue-shield-2-x\/usage-instructions\/","url_meta":{"origin":1515,"position":0},"title":"Usage Instructions","author":"Jeff","date":"December 13, 2010","format":false,"excerpt":"To use the HV Rescue Shield 2: Step 0: Verify your Arduino is working and your IDE is properly configured.\u00a0 A simple blinking LED circuit is good for this. Step 1: Download and load the HVRescue_Shield sketch and install it in your Arduino working folder. \u00a0Open the Arduino IDE and\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mightyohm.com\/blog\/wp-content\/uploads\/2010\/12\/Arduino_IDE.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1473,"url":"https:\/\/mightyohm.com\/blog\/products\/avr-hv-rescue-shield\/","url_meta":{"origin":1515,"position":1},"title":"AVR HV Rescue Shield (Obsolete)","author":"Jeff","date":"March 10, 2009","format":false,"excerpt":"Introducing the AVR HV Rescue Shield The AVR HV Rescue Shield is a high voltage parallel mode fuse programmer for Atmel AVR microcontrollers. It currently supports the ATmega48\/88\/168\/328P series and the ATtiny2313.\u00a0 The Rescue Shield is based on my Arduino-based AVR High Voltage Programmer, but with several new features and\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"AVR HV Rescue Shield with ATmega168 target ","src":"https:\/\/i0.wp.com\/mightyohm.com\/blog\/wp-content\/uploads\/2009\/03\/rescue-shield-with-atmega2_scaled-500x375.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":3421,"url":"https:\/\/mightyohm.com\/blog\/products\/hv-rescue-shield-2-x\/","url_meta":{"origin":1515,"position":2},"title":"HV Rescue Shield 2","author":"Jeff","date":"December 13, 2010","format":false,"excerpt":"Introducing the AVR HV Rescue Shield 2 The HV Rescue Shield 2 is a high voltage parallel mode fuse programmer for Atmel AVR microcontrollers. It currently supports a wide variety of AVR chips, including the 28-pin ATmega48\/88\/168\/328 series, the 20-pin ATtiny2313, and many 8-pin ATtiny devices (such as the ATtiny25\/45\/85\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"HV Rescue Shield 2.1","src":"https:\/\/i0.wp.com\/mightyohm.com\/files\/hvrescue21\/images\/5418114324_df1976bef0.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1501,"url":"https:\/\/mightyohm.com\/blog\/products\/avr-hv-rescue-shield\/source-code\/","url_meta":{"origin":1515,"position":3},"title":"Source Code","author":"Jeff","date":"March 11, 2009","format":false,"excerpt":"The Arduino sketch version 1.2a is available here: HVRescue_Shield12a.zip Unzip and install in your Arduino working directory.","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3432,"url":"https:\/\/mightyohm.com\/blog\/products\/hv-rescue-shield-2-x\/source-code\/","url_meta":{"origin":1515,"position":4},"title":"Source Code","author":"Jeff","date":"December 13, 2010","format":false,"excerpt":"The Arduino sketch is available here:\u00a0HVRescue_Shield212_ino.zip I recommend downloading the latest version of the Arduino IDE from Arduino. Unzip and install in your Arduino working directory.","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3211,"url":"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/","url_meta":{"origin":1515,"position":5},"title":"AVR Toolchain Installation","author":"Jeff","date":"October 28, 2010","format":false,"excerpt":"Mitch Altman and I are in the process of writing a book about Making Cool Things with Microcontrollers (for people who know nothing.) The book features several DIY projects that use\u00a0AVR microcontrollers. \u00a0We're aiming to teach absolute beginners how to solder, basic electronics, and the process of turning a cool\u2026","rel":"","context":"With 2 comments","block_context":{"text":"With 2 comments","link":"https:\/\/mightyohm.com\/blog\/tutorials\/avr-toolchain-installation\/#comments"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/pages\/1515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/comments?post=1515"}],"version-history":[{"count":12,"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/pages\/1515\/revisions"}],"predecessor-version":[{"id":1518,"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/pages\/1515\/revisions\/1518"}],"up":[{"embeddable":true,"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/pages\/1473"}],"wp:attachment":[{"href":"https:\/\/mightyohm.com\/blog\/wp-json\/wp\/v2\/media?parent=1515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}