Powering Entire Arduino Mega with 3V3

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.

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

Grumpy_Mike:
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 :slight_smile:

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

Grumpy_Mike:
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.

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.

...

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

beamformer:
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...

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.

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.

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 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

I got a Mega clone from China, made with a ATMEGA2560 without V, and a CH340G USB to Usart converter and i'm planning to convert the whole board to 3v3.
And because no one has done this afaik with a search on google, i revived this old thread.
Will replace the 5V LDO Voltage regulator with a 1117 3v3 version, will connect pin 4 of the CH340G to 3v3, pin 16 also to 3v3, this way i can still program the board from Arduino IDE, also the on-board small 5 pin 3v3 regulator will be bypassed because of the larger one providing enough current.
Not thinking of going from 16 to 8MHz just yet, but if I do, i'm going to need help importing something in Arduino so i can compile for the modified clock, Today I studied the board, the datasheets, i already converted a nano to 3v3 and it works great.
Will update with pictures and how-to tomorrow.

And the purpose of this seemingly silly exercise is..?

Can't you use an 84MHz clocked Due?
Leo..

The normal (non 'V') ATMega2560 isn't specced to run at 3.3V, regardless of the clock speed.

razvitm:
I got a Mega clone from China, made with a ATMEGA2560 without V, and a CH340G USB to Usart converter and i'm planning to convert the whole board to 3v3.
And because no one has done this afaik with a search on google, i revived this old thread.
Will replace the 5V LDO Voltage regulator with a 1117 3v3 version, will connect pin 4 of the CH340G to 3v3, pin 16 also to 3v3, this way i can still program the board from Arduino IDE, also the on-board small 5 pin 3v3 regulator will be bypassed because of the larger one providing enough current.
Not thinking of going from 16 to 8MHz just yet, but if I do, i'm going to need help importing something in Arduino so i can compile for the modified clock, Today I studied the board, the datasheets, i already converted a nano to 3v3 and it works great.
Will update with pictures and how-to tomorrow.

Looks like I did it. I freakin' did it!!!

You can see it running Blinky, running on 3v3.

razvitm:
Looks like I did it. I freakin' did it!!!

- YouTube

You can see it running Blinky, running on 3v3.

Just connected an oscilloscope to the quartz and it's at 16MHz on 3v3 power.

Wawa:
And the purpose of this seemingly silly exercise is..?

Can't you use an 84MHz clocked Due?
Leo..

No, because after i get everything working, i have to make my own pcb with a atmega2560 so it fits in a product, a due chip is bigger and doesn't fit.

Undervolting is the same as overclocking.
You loose reliability, and not every functional part inside the chip might work over the full temp range.
Good luck (you might need it).
Leo..