converting 5v minis to 3.3v

Is this the right area for this question?

I apparently accidentally ordered several 5v minis ("Ardchinos?") from Aliexpress. I think I put5 some in the cart, then looked on my phone to see if any had those odd phone discounts, and accidentally bought them all.

Something like 15 of them . . . :o

OK, so I'm out 25 bucks, as nearly everything I'm doing is geared to 3.3v.

My understanding is that the only difference is the voltage regular (or is it that it has both 5.5 and 3.3, but the two models connect to the other) and the clock.

The voltage is a non-issue, as I'll be feeding them controlled power after the regular, anyway.

But the 16mhz is out of spec for the 328p running on 3.3v. I don't need th speed, and saving more power would be nice (although it will usually be asleep).

Would I need to change the crystal, or the multiplier fuses?

Is there any downside to doing this?

Would I need to change the crystal, or the multiplier fuses?

The crystal needs to be replaced and the bootloader reprogramed. You’ll need to temporarily connect the six ISP pins necessary to a Usbasp to reprogram. You can use “DuPont jumpers” plugged into header pins held in place by squeezing the two rows together.

Is there any downside to doing this?

No, other than the time required. About two minutes a board total if your soldering skills are up to the task.

If you don't mind a less accurate clock, you could change the fuses to use the internal oscillator in order to run within specs for 3.3 V. This is very easy to do with MiniCore, which provides a Tools > Clock > 8 MHz internal option: https://github.com/MCUdude/MiniCore

  • Install MiniCore
  • Tools > Board > ATmega328
  • Tools > Clock > 8 MHz internal
  • Tools > Programmer > select the appropriate programmer selection for your ISP programmer
  • Connect your ISP programmer to the Pro Mini. If you don't own a programmer, you can use an extra Arduino board as an "Arduino as ISP".
  • Tools > Burn Bootloader.

After doing that, remember to use the MiniCore board selection when uploading to the Pro Minis. This will also free up an extra 1.5 kB of precious program memory due to MiniCore using the optiboot bootloader. This also fixes the endless reset loop after watchdog reset bug of the stock Pro Mini bootloader.

And doing it pert's way (MiniCore core) you do not have to remove the crystal (and caps), but if you do you can use those two pins as GPIO.

The downside of switching to internal oscillator is that the internal oscillator isn't guaranteed to be close enough to 8MHz for UART to work - though in practice I've never met an AVR for which it wasn't close enough at 3.3~5v and room temperature (except for the tiny841/828 which have a different internal oscillator which is guaranteed to be close enough at 3.3v across the full temperature range, but is pretty much guaranteed not to be above 4v or so).

Unfortunately, almost all mini's don't use an easily replacible HC/49 package crystal, but a rice-grain sized resonator that can't be swapped without hot air rework equipment.

So the solution of switching to internal oscillator is probably the best route (unless your mini's happen to have crystal - in which case I would be inclined to go that route because I don't like not having the more trustworthy external crystal)

Another round of notifications not working . . . sigh . . .

Timing isn't particularly critical, ands there's no need for the data to go any aster than the default 9600 for most of what I do. I'll have to pad with noise just to have a full 128 bits to encrypt in most cases (most of these will just run on battery and report temperature, possibly humidity, and moisture over BLE, although eventually they may get their own water valve.)

I've got a couple of FTDI around, so redoing the bootloader won't be an issue.

So I don't need to disconnect anything over the input voltage? (I don't think I should need to, but . . .)

I have never had notifications work on these forums.

You would need a 3.3v regulator if you’re not powering Vcc with 3.3v, too - but it sounds like you are.

And, an FTDI adapter is not sufficient for burning a bootloader - you need an ISP programmer (I recommend USBAsps - price of a cup of good coffee on ebay), but you can use one of the other mini’s with Arduino as ISP sketch loaded.

Finally, 9600 baud isn’t much more tolerant of clock differences than higher baud rates. It’s still +/- ~2% for UART to work. But like I said above, I’ve never encountered an AVR chip whose internal oscillator wasn’t close enough at 3.3~5v at room temp. The internal oscillator speed of non tiny828/x41/1634 AVRs is more temperature dependent than voltage dependent - see datasheet.

dochawk: Another round of notifications not working . . . sigh . . .

My email notifications were turned off by default when I signed up for the forum years ago. I recommend checking them:

  • Click on your profile picture at the top right of the website.
  • Click "Profile".
  • Click "Forum Settings > Edit".
  • Hover mouse over the "Settings" tab.
  • Click "Notifications". There you will find the notification settings.
  • Make sure to click the "Save settings" button at the bottom of the page after making changes.

I have never had notifications work on these forums.

Mine work well enough to send me >1200 emails a week. Perhaps I'm missing some and haven't noticed. As for the on site notifications system, I've never bothered to even try to figure out what that does.

Hmm.

I went in, and the option to turn on notifications when posting was set.

However, it seems that I may need to also check them below, one by one . . . I've done that , and I'll see where it gets ne . . .

thanks

DrAzzy: And, an FTDI adapter is not sufficient for burning a bootloader - you need an ISP programmer (I recommend USBAsps - price of a cup of good coffee on ebay), but you can use one of the other mini's with Arduino as ISP sketch loaded.

Yeah, I think I can spare a mini or seven for this at this point . . . .

:roll_eyes:

Finally, 9600 baud isn't much more tolerant of clock differences than higher baud rates. It's still +/- ~2% for UART to work.

That surprises me . . . but then, I guess it doesn't use processor cycles, so that long timeframe of .1ms/bit wouldn't come into play . . . I guess I can go back to AltSoftSerial and its interrupts if needed be.

These will be going mostly outdoors, with temps ranging from about 20F to 115F over the course of the year.