ProMini - How to distinguish between 3.3v/8mhz and 5v/16mhz

I ordered a bunch of 3.3v/8mhz ProMini Arduinos. I think a few 5v/16mhz parts got mixed up. I have searched but cannot find a good, reliable way to tell the difference. Does anyone know how it can be done?

There is silk screen on the back of the board that could have been used to indicate the difference. None of my boards are marked. The label on the main chip is all the same, except for what I think is a date code.

I suppose I could go by the symptoms. All of my Arduinos get hooked up to (among other things) a DS3231 RTC. The RTC comes with a utility to read and set the clock. When running, it reports the time to the Serial monitor once per second. On one of my Arduinos it reports the time several times per second.

Second symptom - On the suspect board the MicroSD card interface does not work. The interface works if I use it on another Arduino.

Third symptom - I wrote my own version of blink that flashes an LED on pin 8. On the suspect board it flashes the LED about twice as fast as it should.

It seems kind of a pain, though, to use these to tell which board is which. There should be some definitive characteristic such as a ROM byte or something like that. The only thing I have found is the stamping on the clock crystal. On units that work the crystal is stamped "A4". On the one unit (so far) that runs fast, the crystal is stamped "80".


Thanks - Bill Gee

OK, this is odd ... I set my bench power supply to 8 volts. When hooked to the RAW and GND on the suspect Arduino, I get 3.3 volt at the VCC pin. The Arduinos that work give 5 volts on the RAW pin! Exactly backward from what I expect.

The marking on the regulator chip is very hard to read. On the suspect board it says something like "4A2D". On several known good boards it says "4BMD", and on another good board is says "LG33".

Maybe the thing to do is try running them at 3.3 volts. I will normally power the boards from an 18650 lithium cell, but that is around 4.05 to 4.10 volts fully charged. That might be enough to run the 16mhz part. If what I read is correct, then the 16mhz part should fail at 3.3 volts.

Am I missing anything else??

Thanks - Bill Gee

That might be enough to run the 16mhz part. If what I read is correct, then the 16mhz part should fail at 3.3 volts.

16 MHz with 3.3 V is out of specs but it will run.

read my SE answer linked in my previous comment

I did read that link ... That's what led me to check the output of the voltage regulator. It sounds like the only reliable way is to see how fast the blink program runs.

Bill Gee

What I do to determine the crystal frequency is to flash the Blink example sketch to the Pro Mini, first selecting the 3.3V 8Mhz version of the Pro Mini board in the IDE, and see if it flashes one second on, one second off. If it does, then you have an 8MHz crystal. If not, change the IDE setting to the 5V 16MHz verison of the Pro Mini, then flash and test again. It should flash correctly. So basically one setting will work, and the other won't, and that tells you what crystal you have (and also what bootloader you have, since it has to match the crystal). The board setting that works properly on Blink is the setting you should always use when flashing to that Pro Mini.

The voltage on the Vcc pin tells you which voltage regulator you have. Ideally, it should be 5V if your crystal is 16MHz, but it is widely reported here that 16MHz still works at 3.3V. And if you power dirrectly to Vcc from an 18650, then 16MHz will almost certainly work fine.

Hi ShermanP -

Yeah, that blink program is probably the best way to tell the difference. I wish there were some other way, like reading a firmware checksum or something. I had to slightly modify the blink example since my project requires knocking off the power and pin-13 LEDs. I use an LED on pin 8 to indicate brief activity. The changes to blink for this are trivial.

Last night I went through the nine Arduinos I have on hand. Three of them are truly 3.3 volt/8 mhz parts. The other six are 5 volt/16 mhz parts. They can be told apart by markings on the clock crystal and the voltage regulator chip. It takes a VERY good magnifying glass to see them!

3.3 volt/8 mhz - The clock crystal says 80j and the voltage regulator is 4A2D
5 volt/16 mhz - The clock crystal says A and the voltage regulator is 4BMD

Data sheets for those regulators and testing with a DVM confirm the voltages. I though for a while I had some 5 volt/8 mhz parts, but that turned out to not be the case.

Damn cheap Chinese parts - I ordered all 3.3 volt parts, but they sent me a mix. No longer returnable since I have soldered on all of them. I left a very bad review on Amazon.

My project is very sensitive to power consumption. 5 volt parts will work, but power consumption is quite a bit higher than with 3.3 volt parts.

Regards - Bill Gee