Pages: [1]   Go Down
Author Topic: Powering Entire Arduino Mega with 3V3  (Read 1331 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have a 5V Arduino Mega 1280 board, and I need to use SPI bus to communicate with 64 chips(3.3V not 5V tolerant I/Os)

I need to modify my board,
I've changed 16MHz crystal with a 8 MHz one.
I thought I can supply 3v3 to Vin pin, it worked but when I plugged USB cable(I need UART always), it runs at 5V.

I've looked at schematic of Arduino Mega, I decided to remove some components to make my Mega 3v3 board.

What should I do?

Thanks in advance.
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 620
Posts: 33991
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That is a lot of trouble to go to when you can just put level converters on your arduino's outputs.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

That is a lot of trouble to go to when you can just put level converters on your arduino's outputs.

I have 64 chips to communicate, I can't level shift 1 EN 64 CS and  3 SPI line total 69 pins smiley
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 620
Posts: 33991
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

No but data selector or shift register running at 3V3 cuts down the number drastically.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No but data selector or shift register running at 3V3 cuts down the number drastically.

Yeah, you are right. But my circuit drives 64 SPI device, if I use shift register (probably they communicate via SPI), I need to control a SPI device through controlling SPI device, that makes thing difficult. Instead of using SRs, I think I can easily power the board with 3v3 supply. If I can't find the answer, I will remove the opamp chip on pcb, and cut the 5V lines. Or simply I will apply 3v3 to Vin or 5V pin and cut thee vcc pin of USB cable.
Logged

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

A few possibilities:

1) unsolder the 5v regulator and put in its place a 3.3v regulator of the same form factor;
2) the schematic suggests board space for a mc33269st but doesnt have the actual part in. in its space, solder in a 3.3v regulator and unsolder the 5v regulators output pin.
3) if you already have a 3.3v source, jump the 5v regulator's input/output pin, and plug in the 3.3v source.

...

Logged

0
Offline Offline
Shannon Member
****
Karma: 206
Posts: 12092
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The Seeed Studios guys have a Mega-alike board with 5.0/3.3 switchable Vcc: http://www.seeedstudio.com/depot/seeeduino-mega-p-717.html?cPath=132_133
Logged

[ I won't respond to messages, use the forum please ]

Valencia, Spain
Offline Offline
Faraday Member
**
Karma: 146
Posts: 5469
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have a 5V Arduino Mega 1280 board, and I need to use SPI bus to communicate with 64 chips(3.3V not 5V tolerant I/Os)

I need to modify my board,
I've changed 16MHz crystal with a 8 MHz one.
I thought I can supply 3v3 to Vin pin, it worked but when I plugged USB cable(I need UART always), it runs at 5V.

I've looked at schematic of Arduino Mega, I decided to remove some components to make my Mega 3v3 board.

What should I do?


You can change 5V into 3.3V using two resistors...

Logged

No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 534
Posts: 26969
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mega2560 is not spec'ed to run at 3.3V.

Mega2560V is, but that is not what is installed on Arduino Mega boards.

From the front page of the data sheet:
Speed Grade:
– ATmega2560V
• 0 - 2MHz @ 1.8V - 5.5V, 0 - 8MHz @ 2.7V - 5.5V
– ATmega2560
• 0 - 16MHz @ 4.5V - 5.5V

Good luck with your testing tho. Maybe it will turn out to work ok for the functions you are using, similar to running a '328 at 3V, 16 MHz, 0.7V to 0.8V below spec but folks have reported it to work.

1.2V below? Let us know.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

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

Quote
You can change 5V into 3.3V using two resistors...

Sometimes it can work with just 1 resistor. Many devices now have input clamping diodes. With a resistor, a 5v->3.3v drive will be limited to 3.3v+Vfwd on the clamping diode, and will for sure to be recognized as high.

The issue is more with 3.3v -> 5v drive: a 3.3v logic high may not be recognized by the 5v device as logic high. The solution? Use a pull-up resistor.

So here is the set-up: use a current limiting resistor between  your 5v and 3.3v device. On the 5v device side of the resistor, use a pull-up resistor. Resistor values not particular, anything this side of 10k should work.

That's a poorman's level converter.
Logged

Anaheim CA.
Offline Offline
Faraday Member
**
Karma: 46
Posts: 2883
...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

64 chip selects could be handled binarily by decoding or addressing 64 separate conditions and the trick is to make all the CS operations identical or as near as to overlap and then address <BG> the issue by encoding the thing in 6 bits of data to decoders or a 64 bit serial stream. The decoding solution is faster but requires external hardware and the serial thing is going to be slower but it really makes little difference in real time because it is a small part of any serial transaction. This now brings the issue into an addressable form. Solve the CS interface and then decide which method to address them with. Done Deal.   IMO

Bob
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

Pages: [1]   Go Up
Jump to: