Skip to main content
19 votes
Accepted

Arduino Nano ATmega328P bootloader difference

The bootloader currently shipped on the official Arduino Nano boards and selected via the Arduino IDE's Tools > Processor > ATmega328P after choosing Tools > Board > Arduino Nano is the same version ...
per1234's user avatar
  • 4,248
11 votes
Accepted

Can we burn Arduino bootloader into any microcontroller chip?

The answer needs to have multiple parts: Yes, in principle you can create a bootloader for any microcontroller, which acts like the Arduino's. Please be aware that there are different bootloaders, ...
the busybee's user avatar
  • 2,200
10 votes
Accepted

NodeMCU does not boot up when GPIO pin is high

Certain pins of the ESP8266 perform special functions at bootup. GPIO15, when HIGH, makes the ESP8266 boot from an SD card. You can read more about the special functions of the pins here. The ...
Majenko's user avatar
  • 106k
9 votes
Accepted

ino.hex vs ino.with_bootloader.hex

If flashing with AVR In System Programing (ISP) the bootloader is not needed. Only the flashing over Serial needs a bootloader. The ISP erases the flash including the bootloader. To be able to use ...
Juraj's user avatar
  • 18.2k
9 votes
Accepted

Can I program a factory fresh Atmega328P through UART pins without burning a bootloader?

No, the ATmega's ISP does not operate over the UART pins but only the ISP pins. To program it via a UART, you need to first load a bootloader, unless your chip was pre-programmed by the vendor, ...
Chris Stratton's user avatar
8 votes
Accepted

Can I force a function to live in the boot sector without overwriting the bootloader?

The Optiboot version 8 has a do_spm function which can be called from application. The Optiboot repository contains an example for the use of this function. SPM is the AVR CPU instruction to write to ...
Juraj's user avatar
  • 18.2k
7 votes
Accepted

Purpose of USB (FTDI) and ICSP connectors

The ICSP is used for 'bare metal' programming. This what you'd use if you wanted to replace or remove the bootloader, change the clock oscillator settings, or program the device as a bare 328. The ...
Neil_UK's user avatar
  • 404
6 votes

How i can have one code for multi sensors

You have to keep some points in your mind: (1) You have to ensure that pins must be not conflicting with each other. If you merge all sensor codes in one code then pins must be conflict. So you have ...
Hasan's user avatar
  • 1,486
6 votes

Is it possible to upload an arduino sketch through the serial port (RX) instead of USB

No need to have a specific bootloader. The basic bootloader can do that (in Arduino that's the case so I hope this answer will apply in your case. But if not, the principle is certainly the same). ...
Peter's user avatar
  • 365
6 votes
Accepted

Extend program space by getting rid of bootloader on NANO

It's enforcing this line from the arduino:avr boards.txt nano.menu.cpu.atmega328.upload.maximum_size=30720 To be clear, the board is assumed to have a bootloader, even if you're not using it to get ...
timemage's user avatar
  • 5,414
5 votes
Accepted

Arduino Burn the code programmatically

First, the Arduino Uno has 32 KB of flash, but only 1 KB of RAM. So, to be able to store the new program in a string means your new program can only be, at most, 1kb. Secondly, only the bootloader ...
Gerben's user avatar
  • 11.3k
5 votes
Accepted

How does the compiler/assembler work wrt bootloader?

On the Uno and similar AVR-based boards, the compiler and assembler are not aware of the bootloader. The compiled program starts at address zero. There you have the interrupt vector table, starting ...
Edgar Bonet's user avatar
  • 44.3k
4 votes

Why do I get avrdude: stk500v2_ReceiveMessage(): timeout error when uploading to Arduino Mega?

The error message basically means that the programmer is unable to contact the boot-loader on the device. The code you're trying to upload has no bearing on the problem. There could be one of the ...
abhiarora's user avatar
  • 141
4 votes

Is ATmega 328 on Arduino UNO already bootloaded?

In Arduino board, arduino controller means ATMEGA328P-PU already bootloaded. So, you can use directly. But if you buy only ATMEGA328P-PU chip or any other ATMEGA chip then you have to do bootloading ...
Hasan's user avatar
  • 1,486
4 votes

How does avrdude burn a bootloader much quicker than the Arduino IDE?

In the Arduino IDE do this: File > Preferences > Show verbose output during: > upload (check) > OK Tools > Burn Bootloader After it finishes examine the output in the black console ...
per1234's user avatar
  • 4,248
4 votes

avrdude fuse error when programming ATMEGA328 without crystal

The ATMega328P datasheet has the following table in it: The top 5 bits of the of the Extended Fuse Byte are default 1 and are reserved. You're not really supposed to change them, since they might be ...
timemage's user avatar
  • 5,414
4 votes
Accepted

What does avrdude: Device signature = 0x000000 mean? Faulty wiring? Software issue? Incorrect tutorial?

There is one part of the tutorial that is incorrect - or rather missing. When you open the serial port the Arduino resets. That includes when the serial port is opened by avrdude. You need to prevent ...
Majenko's user avatar
  • 106k
4 votes

As a novice, how do I program my Atmega328p?

Are the ATMEGA and STM32 programmers not universal? They are not the same. As far as I know their programming arrangements are completely distinct. What programming methods can this chip support? ...
RedGrittyBrick's user avatar
4 votes
Accepted

How do I escape a boot loop?

Start holding the reset button. This is to prevent the Arduino from entering the boot loop. Unplug the Arduino and plug it back in. Open a new sketch. Remove all of the code and replace it with int ...
glibg10b's user avatar
  • 317
4 votes

How to compile without adding the bootloader?

Seeing .bootloader section in size output doesn't mean it's really present. It just means the sum of all three is 4152 bytes. You can check the hex file if it contains large block of data at the ...
KIIV's user avatar
  • 4,777
3 votes

Programming an ATmega328P by holding it on an Uno's

It's easy enough to use a Uno to program a bootloader onto another chip. I describe this process here. The idea of holding one chip on top of another is likely to fail for various reasons. Both chips ...
Nick Gammon's user avatar
  • 38.7k
3 votes
Accepted

why leonardo bootloader is bigger than UNO?

Apparently leonardo and UNO are very similar boards. No, they are very, very different. The Uno uses an external USB-UART bridge. This means that the bootloader code only has to read from the UART ...
Ignacio Vazquez-Abrams's user avatar
3 votes

Arduino beginner question

There is an extensive guide written by SparkFun explaining how to work with Arduino Pro Micro: Pro Micro & Fio V3 Hookup Guide. There are specific drivers for the board, so make sure you have ...
Celary's user avatar
  • 31
3 votes
Accepted

Do we need to burn bootloader in new Atmega328p before uploading the arduino code

Tools > Burn Bootloader in the Arduino IDE does two things: Set fuses according to the settings in boards.txt for the Tools > Board selection Install the bootloader. The latter is pointless since ...
per1234's user avatar
  • 4,248
3 votes
Accepted

ATTiny85 Digispark clones failing USB handshake - how to program them?

I had problems too - SHORT: all about USB-hub or PC's root-hub and extension cables +Luck. My ebay items were going under the name "Digispark Kickstarter ATTINY85 Arduino Micro USB Development Board"...
vR0M's user avatar
  • 46
3 votes

ino.hex vs ino.with_bootloader.hex

While flashing the Arduino over USB (UART) you use the bootloader in that case the bootloader doesn't delete itself that's why the Arduino IDE sends the file without the bootloader. You need to use ...
Coder_fox's user avatar
  • 686
3 votes
Accepted

add ID number to the feather m0 bootloader (flash)

This is quite an easy fix, actually. The problem here is the compiler doesn't think the const is used for anything - so it (quite rightly) throws it away. All you need to do is tell the compiler ...
Majenko's user avatar
  • 106k
3 votes

Arduino Pro Micro bricked?

Problem solved! By taping twice the reset and holding it the second time I managed to program my board and now the arduino ide detectes it and it works as expected. Taping and releasing the button ...
George Sp's user avatar
  • 153

Only top scored, non community-wiki answers of a minimum length are eligible