In order to fit maximum user program into the chip, how to free up Flash space (0.5 kilo bytes for UNO, 2 KB pro Mini, 8KB for ATMega2560) by removing the bootloader on Atmega328 (UNO, Pro Mini, or similar)?

What software development tools needed (like Atmel AVR Studio software or similar)?

What hardware flash writing / debug tools needed (like JTAG hardware programmer/debugger)?

How is the procedure? Where can I get more information.

Many thanks in advance.

edit: Update boot loader size for different boards

  • 2
    On UNO, the optiboot loader takes only 0.5KB not 2KB, so removing it will not be a big gain.
    – jfpoilpret
    Aug 17, 2014 at 7:55
  • You'd need something like an USBASP programmer. You can use the regular Arduino IDE for programming, though you'd probably have to edit the boards.txt file a bit.
    – Gerben
    Aug 17, 2014 at 10:33
  • I looked at C:\Program Files\Arduino\hardware\arduino\broads.txt and, to my surprises, many boards use different boot loaders (hex file has different name)
    – EEd
    Aug 17, 2014 at 18:05

1 Answer 1


You'll need to use an ISP programmer with avrdude. Perform a chip erase and then unprogram the BOOTRST fuse in the high fuse byte.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.