1

In order to allow bigger user program size, is it possible and advisable to reload Pro Mini with the boot loader originally designed for UNO. This will save 1.5 KB flash space (UNO boot loader is 0.5KB, Pro Mini is 2KB).

Using a smaller boot loader is an 'intermediate' step to get more space while still enjoy the easy benefit of the Arduino IDE and many library/code example. Of course, ultimate step is to remove all boot loader (only small saving of 0.5KB if above is possible) and switch to ATmel development environment, ATmel studio, which is complex but programmer has full control of everything.

Did I miss anything in the followings?

I tend to believe that it is possible as

a) same ATMega328 chip is used in both board

b) Pro Mini is essentially cutting UNO into two halves, the MCU and the USB/Serial converter now use external USB to Serial converter

If the Pro Mini board is reloaded with UNO boot loader, how should the boards.txt file be edited to reflect the changes so that the IDE will handle it correctly?

Many thanks in advance

  • Wouldn't it be simpler to just pick up an ISP programmer and use that instead? – Ignacio Vazquez-Abrams Aug 18 '14 at 18:19
  • Thanks for comment. Question edited to clarify the intermediate (save 1.5KB) and ultimate (save 2KB but much more complex) steps. – EEd Aug 18 '14 at 18:32
  • No, the intermediate step is to use a programmer. Tools | Programmer, File | Upload Using Programmer – Ignacio Vazquez-Abrams Aug 18 '14 at 18:33
  • @IgnacioVazquez-Abrams - No. That is the final step. The intermediate step (and imho the one usually worth stopping at) is to use a small bootloader and leverage the same serial interface connector for debug and loading. – Chris Stratton Aug 18 '14 at 18:36
  • @ChrisStratton: Using ISP doesn't prevent Serial and the serial monitor from working. It simply allows you to control the fuse bytes and use all of the flash and EEPROM on the chip. – Ignacio Vazquez-Abrams Aug 18 '14 at 18:39
1

You can just flash the newest optiboot_atmega328-Mini.hex. That one should also be only .5k in size, as it starts writing at the same address (7E00).

If you divide 7E00 by two you get 3F00 (This is because AVRs use 16-bit words for addressing while .hex files work with bytes (8-bit)). (I figured that one out, just now)

3F00 is exactly the start of the Boot Loader Flash Section when you have selected a 256-words Boot Size (page 291 of the datasheet). 256-words is the 0.5kb you want.

Just make sure you have the BOOTSZ1, BOOTSZ0 fuses set to 1

As for the boards.txt. I think you only need to change mini328.upload.maximum_size=28672 to mini328.upload.maximum_size=32256.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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