Pages: [1] 2   Go Down
Author Topic: Why not a voltage selector on the Arduino board?  (Read 1241 times)
0 Members and 1 Guest are viewing this topic.
Portland, OR
Offline Offline
Sr. Member
****
Karma: 5
Posts: 260
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It seems that the majority of sensors and peripheral ICs available out there nowadays run on 3.3V (as opposed to 5V). Nevertheless, I understand that in order to maintain compatibility with already existent shields, the Arduino board has to continue to be maintained at 5V operation.

But what are some reasons they haven't implemented at least a 3.3V / 5V selector SWITCH on the Arduino board (even newer revisions of the same don't have this), so that users can choose based on their needs -- are there any possible difficulties or disadvantages to this?

Seems to me that this would just require adding a cheap LDO regulator into the circuit with 3.3V output that is selected based on the switch. And voila, you would now have the microcontroller compatible with 3.3V level signals of your peripheral circuitry, or even 3.3V-level shields.

And pretty much the only disadvantage to having such a voltage selector, as far as I can see, is that beginners may mistakenly leave it on 3.3V and use a 5V shield.

Apart from that, for most cases, such a switch would only add a lot of versatility, I think.
« Last Edit: December 07, 2012, 07:10:47 pm by giantsfan3 » Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16497
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
But what are some reasons they haven't implemented a 3.3V / 5V selection switch on the Arduino board (even newer revisions of the same don't have this) -- are there any possible difficulties or disadvantages to this?

Well one issue with that is that Atmel does not rate their 328p chips as able to run reliably at 16Mhz at the 3.3vdc Vcc voltage. Many people have run their chips at 16Mhz with 3.3vdc Vcc without problems, but that is indeed working outside the datasheet specifications for the device, effectively 'overclocking' when running at that speed and Vcc voltage. The Seeeduino 328p 'arduino clone' board does use a small selector switch to operate the board at either 5vdc or 3.3vdc.

Lefty

Logged

Portland, OR
Offline Offline
Sr. Member
****
Karma: 5
Posts: 260
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@retrolefty:
Looking at the datasheet graph, I see that is indeed the case (although 12 Mhz might be an option).

Have you used the Seeeduino's selector capability -- I'm curious how that feature has worked out for you in general.

Looking at their schematic (http://www.seeedstudio.com/wiki/images/7/7b/Seeeduino_v3.0.pdf), they are using the selector to switch a LD1117-3.3 regulator after the 5V. Seems a fairly straightforward approach.
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16497
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@retrolefty:
Looking at the datasheet graph, I see that is indeed the case (although 12 Mhz might be an option).

Have you used the Seeeduino's selector capability -- I'm curious how that feature has worked out for you in general.

Well I don't actually own a 328p based Seeeduino board, so I can't report on it first hand.

Looking at their schematic (http://www.seeedstudio.com/wiki/images/7/7b/Seeeduino_v3.0.pdf), they are using the selector to switch a LD1117-3.3 regulator after the 5V. Seems a fairly straightforward approach.

Yes, and as I said there have been several people over the years run their 'standalone' 328p projects at 3.3v and 16mhz and reported no problems, so I suspect it mostly a case of Atmel using conservative specification that has to take in worst case temperature ratings and such. I suspect it would work fine for you. It's not like the board will burst into fire and burn your house down.  smiley-wink
Lefty

Logged

London
Offline Offline
Edison Member
*
Karma: 23
Posts: 1059
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


And pretty much the only disadvantage to having such a voltage selector, as far as I can see, is that beginners may mistakenly leave it on 3.3V and use a 5V shield.


Worse would be using a 3.3V sheild with the voltage kept at 5V. It tends to let the 'magic smoke' out.
Logged

Offline Offline
God Member
*****
Karma: 21
Posts: 650
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Many people have run their chips at 16Mhz with 3.3vdc Vcc without problems, but that is indeed working outside the datasheet specifications for the device, effectively 'overclocking' when running at that speed and Vcc voltage

Despite the datasheet spec, I've never heard of a case where this has actually _not_ worked, so I expect the spec is uber-conservative. Overclocking successfully is usually a matter of heat dissipation, and older designs like the AVRs have been through enough revisions that they are probably pretty efficient at that, compared to the earlier versions.

The fact that products like the Seeeduino have been available for some time that do this also makes me think that 16MHz at 3v3 is probably quite an acceptable design in practice, except perhaps for critical applications. I'm also regularly running ATtiny85s at 16MHz quite happily 3v3, which is similarly out of the datasheet spec. I haven't observed any issues at all so far.

« Last Edit: December 08, 2012, 12:01:08 am by pico » Logged

WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16497
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I'm also regularly running ATtiny85s at 16MHz quite happily @16MHZ

That's a classic if(true) statement!  smiley-wink
Logged

the land of sun+snow
Offline Offline
Faraday Member
**
Karma: 149
Posts: 2790
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Looking at the datasheet graph, I see that is indeed the case (although 12 Mhz might be an option).

Yeah, this same topic has come up half a dozen times in the past week or so. If you interpolate
the datasheet carefully, you'll see the 3.3V point corresponds to 13.3 Mhz, so a little closer to
16 Mhz. However, a lot of guys still say this isn't 16 Mhz.
Logged

Portland, OR
Offline Offline
Sr. Member
****
Karma: 5
Posts: 260
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yep. But as far as the original topic of this thread is concerned:
Given that people haven't reported problems with 16 Mhz @ 3.3V and more importantly, given that a LOT of parts nowadays are spec'ed to run at 3.3V or below, and usually NOT at 5V, I think it would be more useful than not, if the Arduino devs placed this kind of voltage selection option on the board.

Common parts that run at 3.3V level:
Sd cards, Xbee (pretty much all wireless modules to my knowledge), Accelerometer, Many, many other sensors, etc.

Also, I've seen quite a lot of questions on this forum that could have been solved/simplified by just running the system at the 3.3V level necessary for the interfacing.

Moreover, running the circuit at 3.3V would naturally pave the way to being powered by a Li-ion battery (plus maybe a regulator in between)
« Last Edit: December 08, 2012, 12:00:38 am by giantsfan3 » Logged

Offline Offline
God Member
*****
Karma: 21
Posts: 650
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I'm also regularly running ATtiny85s at 16MHz quite happily @16MHZ

That's a classic if(true) statement!  smiley-wink

"The first rule of Tautology Club is: The first rule of Tautology Club."
Logged

WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

the land of sun+snow
Offline Offline
Faraday Member
**
Karma: 149
Posts: 2790
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Yep. But as far as the original topic of this thread is concerned:

My home brew boards all have jumpers to select Vdd = 5V or 3.3V. I've been running 328's
at 3.3V and 16 Mhz fine for year now, but all the guys say wait till next year, ya never know.
[just do it, it'll work fine - famous last words, I hope].
Logged

Valencia, Spain
Offline Offline
Faraday Member
**
Karma: 118
Posts: 4545
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

My home brew boards all have jumpers to select Vdd = 5V or 3.3V. I've been running 328's
at 3.3V and 16 Mhz fine for year now

That's your choice, but anecdotal tales of running parts outside their spec proves nothing. Going around telling people it's OK to do so isn't doing anybody a service.

Logged

No, I don't answer questions sent in private messages...

Offline Offline
Edison Member
*
Karma: 116
Posts: 2205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
are there any possible difficulties or disadvantages to this?

Cost; board space; reliability; etc.
Logged

Anaheim CA.
Offline Offline
Faraday Member
**
Karma: 44
Posts: 2808
...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Why Not a 3V3 option? Indeed.
The cost might be in the high $.50 or so.. burdened. Change that 150mA regulator out for a 500mA one and add a 3 pin jumper for Vcc selection. But This Thread really poses a good question, Why Not a 3V3 Option?. From the inception of the Arduino project in 2005 - 6? to now there's been a major paradigm shift in all digital electronics due to "The Need for Speed". Cmos is now king for many reasons and along with it some issues, one being the gate capacitor. Lowering the supply voltage does two things, one is to lower the overall circuit impedance which raises the drive level available to charge the gate region the second is a result of the first. In lowering the voltage the necessary silicon active area becomes smaller and thus capacitance's both of design and stray, etc. become proportionally smaller allowing speed to go up again until the original factors become an issue again. The new 3V3 is 1V5 - 8. So for a 'New' Arduino I should think that provisions to serve both voltages is well in order. If the spirit of a really basic and reasonably indestructible "Trainer" that is well within the budget of nearly anyone who can use the Internet is to be preserved. The Secondary thought that the "Trainer" is surprisingly sophisticated only adds to it's appeal. Some will grow beyond the "Trainer" and for those there are other devices but the form is so well ingrained in the public eye that if anyone wants to sell a "trainer" it had better be "Arduino Compatible" which is a third argument for a dual voltage board as All of the newer devices are 3V3 Max and many now are lower still.

Boob
Logged

--> WA7EMS <--
“The solution of every problem is another problem.” -Johann Wolfgang von Goethe
I do answer technical questions PM'd to me with whatever is in my clipboard

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16497
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Why Not a 3V3 option? Indeed.

Well the new Due board solved that, it's 3.3v only, slap on a 5 volt shield and it might ruin your day.  smiley-wink

The original Arduino board used a simple 3 pin jumper chip to select USB or external DC power for the board. But I guess that must have resulted in too many questions for problems for begineers so we now have the auto-voltage selector circuit which to me is a waste of board space that could have been used for some more useful function.

Lefty
Logged

Pages: [1] 2   Go Up
Jump to: