3.3V inputs & outputs

A lot of shields and devices will not work with this voltage.

How can I use existing shields?

It would be great if the Arduino team could make a version with level shifters so the large amount of boards could just plug in.

I can not use the Due in existing project without major modifications because of the 3.3V issue.

How can I get around this?

How can I get around this?

Short answer, you can't.

Have you analysed the shields you're using to see exactly where the problems may be?

You might find that a voltage divider or two will get things working.


Rob

Once I get my due (one is ordered :D), I am planning to design a compatibility sheild for level shifting, analog input protection etc.

I was thinking of a shield to change levels, the only thing is that all the headers would have to be offset.

You would need to get the signal, pass it through a level shifter, and then go out. But it could not be the same physical pin.

Just make a simple voltage divider or a voltage regulator. To increase the voltage just use a good old fashion MOSFET as an amplifier. Viola simple!

the headers would have to be offset.

Not if you use surface mount headers and socket strips, that way you can intercept the signals on one side, process them and route back to the other side.

You can never get the same versatility as the original chip though, eg pullup resistors and analog IO.

I would not use MOSFETs, not that there's anything wrong with them it's just that you'd need so many. The proper level-shifting chips would be easier I think.


Rob

I'm interessting in it, what's about the analog ports and the DAC's-Out, Ti has some Bidirection Levelshifter with 8 Ports or else, btw. the CAN maybe does not need an LevelShift.

Surface mounting looks like a good plan, and there musst be enough place for all IC's

what's about the analog ports and the DAC's-Out

You could add attenuation/amplification I suppose with some opamps, I'd probably be inclined not to but maybe.

Ti has some Bidirection Levelshifter with 8 Ports or else

Yes, I'd use the TXB010x series.

there must be enough place for all IC's

I would say there's plenty of room.

I know a lot of people have talked about this but I'm not convinced it's worth it. Possibly for legacy projects that are currently working but just need a it more grunt with the new processor board.

For anything new I'd work with 3v3 and if necessary level shift just the few signals you need to.


Rob

Yeah, I was thinking TXB0108's and surface mount headers. What I might do is only make it only level shift the smaller pin set (that used by the Uno, Leonardo and the like) and then leave the remainder as 3.3V - with silkscreen warnings of that. As for the analog channels, I am not sure yet - possibly rail to rail op-amp circuits. I may for the analog inputs just use a Unity amplifier circuit to just protect the inputs rather.

Is there anything else that you think would be useful to have on this board?

I think this document should be sited in a sticky post on this section of the forum:-
ww1.microchip.com/downloads/en/DeviceDoc/chapter%208.pdf
It is all about different techniques for translating 3V3 and 5V.

Grumpy_Mike:
I think this document should be sited in a sticky post on this section of the forum:-
ww1.microchip.com/downloads/en/DeviceDoc/chapter%208.pdf
It is all about different techniques for translating 3V3 and 5V.

Hmm, this is a good read, it really should be stickyed

Actually, the chipKIT Uno32 and Max32 boards based on the PIC32 that are Ardunio compatible seem more compatible to Arduino than DUE. Most pins on the chipKIT boards have 5V tolerant inputs where the DUE does not. This means that most Arduino shield will work with chipKIT but not DUE. I imagine that many people will end up frustrated with a DUE purchase to find out there existing sheilds don't work (and may even damage there SAM3A chips).

Jacob

I'm sure someone could modify one of these shields with level shifters.

The Go-Between shield: Go Between Shield | Mayhew Labs
or
The TransmogriShield: SparkFun TransmogriShield - DEV-11469 - SparkFun Electronics

Switching from 5V designs to 3.3V designs is already a burden. Is more expensive and designs require more space or higher density. Having to deal with lower currents just increase the complexity. But this mean only two things:

  1. Many are not ready to make the switch so, the 3.3V boards are not for them (not that they are not "intellectual" capable of making the switch);

  2. For those beginners, brave enough to dive into, there must be a solid documentation and I mean not only formulas. There must be detailed examples of interfacing with various peripherals to avoid damages to the board as much as possible (is not an easy job to "move" folks to a "new system"), as you find on PICAXE documentation.

The "pros" who waited for Due are not considered in my comment - they know what to do with an ARM and a 3.3V board. And also, they must understand that not everybody is a pro and there can be differences from person to person (considering that anyone will take by storm the Arduino store and the local distributors to get a Due).

The newest versions of some official shields hava an ioref pin, so will they work with the due?

"using the ioref pin" means that the shileld uses that pin to power level translators so that the shield can work at 3.3v or 5v seamlessly.

You can look at the schematic diagram of the wifi shield to get an idea on how that's done.

m

JacobChrist:
Actually, the chipKIT Uno32 and Max32 boards based on the PIC32 that are Ardunio compatible seem more compatible to Arduino than DUE. Most pins on the chipKIT boards have 5V tolerant inputs where the DUE does not. This means that most Arduino shield will work with chipKIT but not DUE.

Well, not quite so fast. The 5V tolerant go some way to ensuring shield compatibility, but there is still the issue of current limitations on gpio pins. Can the Uno32 source/sink 40mA on a gpio? I haven't looked at a data sheet, but I'd be surprised if this was the case.

But agreed, the 5V tolerant pins addresses one important compatibility issue. So certainly more Arduino shields could be expected to work with chipKIT compared to DUE, but "most" is not a given.

And whether you are porting your 8bit/5V project to Due or something like an Uno32, you will still need to tweak the code in any case.

I think we will see that the Due will be much more suited to new projects, rather than providing an upgrade path for existing 8bit/5V Arduino projects.

I think we will see that the Due will be much more suited to new projects, rather than providing an upgrade path for existing 8bit/5V Arduino projects.

I think most of the 8-bitter projects are done on 8 bits because they were possible on these 8 bitters so leaving the case where one is dying to increase the efficiency the porting of 8 bit projects to this massive 32 bit computing power system would not happen.
I'm basically concerned with the shield use.