Skip to main content
18 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,098
11 votes

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

There are three things you can do: Remove the bootloader entirely and program the board with a hardware programmer (USB-ASP, Another Arduino, etc). Edit the bootloader source, recompile, and ...
Majenko's user avatar
  • 105k
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,001
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
  • 105k
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

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.1k
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.1k
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,476
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,231
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

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
  • 355
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
  • 43.1k
4 votes
Accepted

Standalone Arduino with ATMEGA328P / Serial working, but serial programming not (only once after buning bootloader)

There is a problem with your circuit and the way you have it wired when programming. You have failed to use the RTS line for Serial programming. You need to have that line connected to the RESET of ...
RSM's user avatar
  • 1,457
4 votes

Confusion with ATmega328P and 3.3V/8MHz

If you are using an LED to indicate that your sketch is running, then that may be the problem. For example, if you have a fairly average red LED, it might have a forward voltage of 2.0v @ 20ma (...
AMADANON Inc.'s user avatar
4 votes
Accepted

Confusion with ATmega328P and 3.3V/8MHz

It was a brownout fuse problem. Changing boards.txt from: atmega328bb.bootloader.extended_fuses=0x05 to atmega328bb.bootloader.extended_fuses=0x02 solved it for me (*). The chip and red LED now ...
Paul Grime's user avatar
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,476
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,098
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,231
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
  • 105k
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,752
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,098
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

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.2k
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

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