Questions tagged [bootloader]

Refers to the code burned on the Arduino flash memory that runs every time the board is powered up. It starts the execution of user-loaded programs and allows uploading sketches from a PC through the USB connection. This tag should be used for questions about modifying, changing, uploading the default bootloader.

The bootloader is a small piece of code loaded into the high part of program memory (flash memory). It is optionally invoked by the processor after a reset (depending on BOOTRST fuse setting).

Its purpose is to allow self-programming of the flash, generally by checking the serial port for specific "programming" sequences within the first second or so after a reset. If such a sequence is found the bootloader responds to the programmer (usually avrdude running on the host computer), and in conjunction with the programmer accepts and acts upon instructions to erase and reprogram memory, change the EEPROM if desired, and change the fuses if desired.

The use of the bootloader avoids the need for special hardware to upload new code. However to change the bootloader itself (something not normally necessary) a special programmer is needed which plugs into the ICSP (In Circuit Serial Programming) header of the Arduino.


Once the bootloader has finished uploading new code (if required) it jumps to address 0x0000 which is the start of the actual code, so that the newly-uploaded sketch can now start.

If no programming instructions are detected by the bootloader after a short delay, it jumps to address 0x0000 to execute the previously-loaded code.

333 questions
23
votes
2 answers

How do I burn the bootloader?

I was instructed to "burn the bootloader" to my Arduino to fix an error I was getting. How can I do this? (And what exactly is the bootloader?)
The Guy with The Hat
  • 5,292
  • 7
  • 30
  • 51
16
votes
2 answers

Yún boot from SD card

I have an Arduino Yún, and it only has 16mb flash onboard for the Linux. I was wondering of it is possible to put a bootloader on the flash that uses the sd card as a rootfs? i want to be able to do more projects on it than those that can fit in 16…
TheDoctor
  • 3,509
  • 1
  • 22
  • 39
15
votes
1 answer

What happens when code is uploaded using the bootloader?

When I upload a new sketch to my Arduino Uno using the Optiboot bootloader, what really happens? What is sent to the Arduino? How does it respond? What does "not in sync mean"? What is "in sync" anyway? Note: This is intended as a "reference…
Nick Gammon
  • 38,901
  • 13
  • 69
  • 125
14
votes
1 answer

Arduino Nano ATmega328P bootloader difference

There are two ATmega328P bootloaders, old and current. What is the difference between these bootloaders? I'm aware that Nanos sold by Arduino use the new bootloaders but I haven't been able to find any release notes about the bootloader.
Claus
  • 243
  • 1
  • 2
  • 5
13
votes
3 answers

Arduino Mega timeout communication with programmer error

I have an Arduino Mega 2560 and it was working fine until about lunch time when I started getting this error: avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_getsync(): timeout communicating with programmer I know it isn't the code…
bladepanthera
  • 376
  • 2
  • 3
  • 14
13
votes
3 answers

What alternatives are there to the Optiboot bootloader?

Nearly all modern Arduino boards use the Optiboot bootloader. Compared to the ATmegaboot used before, this is smaller in flash terms (by about 1.5KB) and faster in upload speed (115.2k vs 57.6k) and starts your sketch quicker (the delay whilst…
Cybergibbons
  • 5,420
  • 7
  • 34
  • 51
10
votes
4 answers

Arduino Nano not responding with yellow led blinking fast

Update: I started playing with a genuine Deumilanove and exactly same problem happened to it - d13 led blinking, but avrdude says stk500_recv(): programmer is not responding I uploaded a largish sketch ~15kb to Arduino Nano v3.0 (clone) and that…
Boycott Russia
  • 311
  • 1
  • 2
  • 9
9
votes
3 answers

Programming many Arduinos simultaneously with a wireless broadcast

I will have many microcontroller-based devices which will be independent from each other, but all will run the same program. I would like to upload a program to all of them at the same time with a wireless broadcast. Ideally the user would plug in…
MGA
  • 191
  • 2
8
votes
4 answers

ATtiny85. How do I burn a bootloader? What is the process?

I want to use all six I/O pins of an ATtiny85, that means also using the reset pin as an I/O pin, however, I found out that if I disable the RESET pin, I can no longer program the ATtiny using an ISP programmer. However, I found out that there are…
Calin
  • 243
  • 1
  • 3
  • 9
7
votes
2 answers

Pin 13 fires relay when powering on... How to disable?

Pin 13 fires relay when powering on... How to disable? I'm using pro mini 5v 16MHz and a DC 12V 2 Channel Relay Module Optocoupler. The relay Jd-VCC is powered by a 12V and it's VCC is 5V (the same as Arduino VCC). The relay is active low and I…
P-nut
  • 71
  • 1
  • 2
6
votes
2 answers

Can we burn Arduino bootloader into any microcontroller chip?

I am new to this Arduino community I noticed on youtube that while the prototype is complete people purchase new ATmega328p chips and flash bootloaders into them using in-system-programmers so that the chip could actually understand and interpret…
Ravikiran
  • 195
  • 1
  • 3
  • 8
6
votes
2 answers

Why bootloader sizes differs from 0.5 to 8 kilo bytes for different boards?

According to official web info bootloader sizes are 0.5, 2 and 8 kilo bytes for UNO, Pro mini and ATMega2560. I believe all three boot loaders do similar job of receiving serial link data and write to Flash memory. UNO and Pro mini use same/similar…
EEd
  • 904
  • 1
  • 14
  • 21
6
votes
3 answers

I bought USB > FT232RL, can I use it to program a bootloader onto an Arduino?

I bought this thing off of eBay: eBay Link Will it allow me to program an ATmega[xxx] (Arduino clone) with a bootloader? --> If so, how would I go about it? What should I do, and what should I certainly not do? --> If not, what do I need (or…
KJdev
  • 175
  • 1
  • 1
  • 5
6
votes
4 answers

Confusion with ATmega328P and 3.3V/8MHz

Firstly, I have tried to set the bootloader to be 8MHz internal oscillator. I have tried the board setup from here - https://github.com/oshlab/Breadboard-Arduino. And also the breadboard-1-6-x.zip setup from here -…
Paul Grime
  • 211
  • 3
  • 10
6
votes
2 answers

bootloader uploading into Atmega328

Here is mine circuit. Intially i used arduino UNO directly for programming. Now i am Using atmega 328 IC for programming. I am trying to connect 32 hall sensor via Mux circut. I wanted to How to upload boot loader or HExfile Here. Will avr pocket…
AMPS
  • 467
  • 11
  • 22
1
2 3
22 23