Running Pro Mini 328 5v 16mhz @ 3.3v 8mhz possible?


I bought a few Arduino Pro Mini boards in 5v variants. I would like to do some low power projects with them and would like them to run at 3.3v so I can power them more easily (perhaps a coin cell).

Is it possible to use the 5v board as 3.3v?

The only two differences I noticed on the product pages are:

"The 8mhz bootloader" vs "The 16mhz bootloader"


"3.3v voltage regulator" vs "5v voltage regulator"

Can I burn the 8mhz bootloader onto the Pro Mini and power the device using a RAW regulated 3.3v input?

Thanks a lot

I remove the 5V regulator and power the Pro Mini at 3V through the Vcc (+5V) pin.

You need to program the Pro Mini fuses to use the internal RC 8 MHz oscillator before burning the 8 MHz bootloader.

Thanks a lot. I've read somewhere that the VCC line bypasses the regulator. Is that true? Can I simply use the VCC pin and supply 3.3v?

Can you help me with the right fuses. I've heard about those but I have no idea how to set the fuses. I thought it worked by burning the bootloader but I now think that it is a separate step.

Any resource on the fuses, their function and other documentation is also appreciated.


Vcc does not bypass the regulator, it is connected to the regulator output. You can power the Arduino with 3 V connected to Vcc without removing the regulator, but it may damage the regulator and is less reliable in the long run.

Google "Arduino program fuses" for lots of info.

Come to think of it, you may need an ISP programmer for this task, since as soon as you change either the oscillator frequency or the bootloader, you will have problems communicating via the serial port. One way out might be to use serial port baud rates that differ by a factor of 2, so that you can change the rate on the PC end.

You can use an Arduino as programmer to change fuses. See Nick Gammon' sketch

Thanks for the link. I also found the fuse calculator link at the bottom of that page. Looks very helpful! However, I lack basic understanding of these topics so I don't really know how to proceed.

First thing, the link seems to have a sketch for reading fuses off an existing board. Do I need to do that? Also it is still unclear to me how to change the fuses. I've noticed that the boards.txt has different processor settings for certain boards. Suchs as the Pro Mini, which has four processor options.

Do these fuses need to match the fuses set on the IC? How do I change them?

I've been looking at this video and it suggests that the fuses will be set when burning the bootloader. Is this correct? Shouldn't I simply select my board and desired processor configuration and then burn the bootloader?

E.g. "Arduino Pro or Pro Mini, ATmega328 (3.3V, 8MHz)"

Thanks again

Yes, fuses are set during bootloading. They determine: - clock source - if external, full swing or low power crystal - brown out detection voltage - size bootloader memory - whether EEPROM memory is kept intact during a flash upload - how many clock cycles occur during startup.

Once burned, you don't need to change them. If you are having performance issues, it could be good to know what settings are being used. For example, when I burn the fuses for a '1284P chip, I set it external 16 MHz full swing crystal and have never had a problem. Others use low power external and then see issues supposedly caused by the serial lines next to the crystal pins. Or it could be due to some combination of poor PCB layout and not following Atmel's design guidelines for crystals and decoupling caps and reset pullup resistor. Or just crappy e-bay purchased crystals.

So, yes to this: "Shouldn't I simply select my board and desired processor configuration and then burn the bootloader? E.g. "Arduino Pro or Pro Mini, ATmega328 (3.3V, 8MHz)" "

Awesome CrossRoads, thanks a lot for your response. 30,000 posts, you sir are a prodigy. Thanks for all the knowledge you share!

I do what I can 8)

The only problem with Mini clones can be the onboard 3.3V regulator, when programming the device from a 5V source. Most boards allow to connect Vin directly to 5V.

The fuses seem to be set properly when you only select the right board in the IDE, i.e. Mini 3.3V 8MHz in your case. I didn't need to change the bootloader to switch between 3.3V and 5V operation.

When you happen to program the board for the wrong voltage, you'll notice e.g. a wrong baudrate in the connection to the Serial Monitor (off by factor 2).