User Tools

Site Tools


arduino:arduino_without_a_bootloader

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
arduino:arduino_without_a_bootloader [2020/01/04 02:26] – [Hardware] mithatarduino:arduino_without_a_bootloader [2020/01/04 02:46] – [Getting your bootloader back] mithat
Line 29: Line 29:
 Below, I cover a few cases to get you started. Most of these use the USBtinyISP.((As near as I can tell, the original source of the USBtinyISP design is Dick Streefland's [[https://dicks.home.xs4all.nl/avr/usbtiny/|USBtiny]]. Additional development and refinement leading to the [[https://learn.adafruit.com/usbtinyisp|USBtinyISP]] was done by Limor Fried. The software and hardware are open source (GPL and CC BY-SA 2.5), leading to many clones and derivatives.)) Owing to its low cost and wide availability, this is one of the most popular options. The [[https://learn.adafruit.com/usbtinyisp|original USBtinyISP]] is available sporadically through Adafruit, and clones derived from the open source design similar to [[https://www.ebay.com/itm/USBTiny-USBtinyISP-AVR-ISP-programmer-for-Arduino-bootloader-Meag2560-uno-r3/382580265905|this one]] are widely available at auction sites, Amazon, Banggood, etc. All my testing was done using USBtinyISP clones from two different suppliers. Below, I cover a few cases to get you started. Most of these use the USBtinyISP.((As near as I can tell, the original source of the USBtinyISP design is Dick Streefland's [[https://dicks.home.xs4all.nl/avr/usbtiny/|USBtiny]]. Additional development and refinement leading to the [[https://learn.adafruit.com/usbtinyisp|USBtinyISP]] was done by Limor Fried. The software and hardware are open source (GPL and CC BY-SA 2.5), leading to many clones and derivatives.)) Owing to its low cost and wide availability, this is one of the most popular options. The [[https://learn.adafruit.com/usbtinyisp|original USBtinyISP]] is available sporadically through Adafruit, and clones derived from the open source design similar to [[https://www.ebay.com/itm/USBTiny-USBtinyISP-AVR-ISP-programmer-for-Arduino-bootloader-Meag2560-uno-r3/382580265905|this one]] are widely available at auction sites, Amazon, Banggood, etc. All my testing was done using USBtinyISP clones from two different suppliers.
  
-The original USBtinyISP has a built-in 3x2 keyed IDC cable that carries the signals needed for ISP (in-system programming). It also has a 5x2 keyed IDC cable that carries the same signals but in a different layout.+The original USBtinyISP has a built-in 3x2 IDC cable that carries the signals needed for ISP (in-system programming). It also has a 5x2 IDC cable that carries the same signals but in a different layout.
  
-If you are using a USBtinyISP clone, there's a good chance it has a 3x2 ISP header in addition to a 5x2 ISP header. The following assumes this is the case and also that you have a 3x2 keyed IDC cable. Such a cable is often included with USBtinyISP clone purchases. Finally, I'm assuming it works at 5VDC, which is the defacto standard.+If you are using a USBtinyISP clone, there's a good chance it has a keyed 3x2 ISP header in addition to a keyed 5x2 ISP header. The following assumes this is the case and also that you have a 3x2 keyed IDC cable. Such a cable is often included with USBtinyISP clone purchases. Finally, I'm assuming it works at 5VDC, which is the defacto standard.
  
 Depending on the board you are programming, you may need to use Dupont wires (M to F or F to F depending on your USBtinyISP) instead of the IDC cable. Depending on the board you are programming, you may need to use Dupont wires (M to F or F to F depending on your USBtinyISP) instead of the IDC cable.
Line 39: Line 39:
 </WRAP> </WRAP>
 ===== Procedures ===== ===== Procedures =====
-As is the case when uploading a program to your Arduino using a bootloader, when uploading a program using a programmer you must specify what the target board is. So when doing any of the following, make sure //Tools > Board// and //Tools > Processor// are set correctly for your board.+As is the case when uploading a program to your Arduino using a bootloader, when uploading a program using a programmer you must specify what the target board is. So when doing any of the following, make sure //Tools > Board// and //Tools > Processor// (or other board options) are set correctly for your board.
  
 Now is also a good time to mention a significant caveat about using a programmer as described here. <WRAP center round important 80%> Now is also a good time to mention a significant caveat about using a programmer as described here. <WRAP center round important 80%>
Line 57: Line 57:
 </WRAP> </WRAP>
  
-Directly uploading a sketch to an Uno or Nano using a USBtinyISP is very straightforward:+Directly uploading a sketch to an Uno or Nano using a USBtinyISP is pretty straightforward:
  
   - Configure your IDE to use the USBtinyISP: //Tools > Programmer "xxx"// and select //USBtinyISP//   - Configure your IDE to use the USBtinyISP: //Tools > Programmer "xxx"// and select //USBtinyISP//
Line 186: Line 186:
 When you upload a program using a programmer, you overwrite the bootloader. This means your board will no longer work with the conventional //Sketch > Upload// command in the IDE. However, getting the bootloader back is straightforward. When you upload a program using a programmer, you overwrite the bootloader. This means your board will no longer work with the conventional //Sketch > Upload// command in the IDE. However, getting the bootloader back is straightforward.
  
-Uploading a bootloader to your micro is almost identical to uploading a program using a programmer. The only difference is that instead of uploading a program using //Sketch > Upload Using Programmer//, you upload the appropriate bootloader for your board using //Tools > Burn Bootloader//. As was the case when uploading programs, before you upload the bootloader, you must confirm that //Tools > Board// and //Tools > Processor// fields are set appropriately for your board.+Uploading a bootloader to your micro is almost identical to uploading a program using a programmer. The only difference is that instead of uploading a program using //Sketch > Upload Using Programmer//, you upload the appropriate bootloader for your board using //Tools > Burn Bootloader//. As was the case when uploading programs, before you upload the bootloader, you must confirm that //Tools > Board// and //Tools > Processor// or other options are set appropriately for your board.
  
 After uploading the bootloader, you should be able to use //Sketch > Upload// again just as you always have. After uploading the bootloader, you should be able to use //Sketch > Upload// again just as you always have.
  
arduino/arduino_without_a_bootloader.txt · Last modified: 2022/05/30 05:46 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki