Offline
Sr. Member
Karma: 11
Posts: 393
|
 |
« on: December 09, 2012, 08:02:21 am » |
Got a Due today, started playing with it, and put a custom shield on it that was designed to be powered by either 3v3 or 5V from the ICSP header. Assumed the Vcc on the ICSP header would be 3v3, so that's what I set the voltage selection jumper to on the shield.
Just before I plugged it all in, I had a thought that I should really check what voltage (if any) I was getting from the ICSP header (well, really SPI header since it doesn't do ICSP, but you know what I mean.)
So got the multimeter, and guess what? 5V. Surprised, but saved me letting out a bit of the ol' blue smoke.
AFAIK, ICSP doesn't specify 5V, so not sure why this pin would be connected the 5V rail rather than the 3v3 rail. Only reason I could think of was to make it more idiot-proof in case someone decided to try programming the Due with a ICSP programmer, and might blow it up by putting 5V on the 3v3 rail via the programmer.
I don't know -- maybe there's a better reason. But in any case be warned -- look before you leap on a hybrid 5V/3v3 board!
|
|
|
|
« Last Edit: December 10, 2012, 12:21:48 pm by pico »
|
Logged
|
|
|
|
|
Global Moderator
Boston area, metrowest
Offline
Brattain Member
Karma: 249
Posts: 16556
Available for Design & Build services
|
 |
« Reply #1 on: December 09, 2012, 08:15:08 am » |
Not sure why you were surprised - the Due schematic shows +5V on the SPI and ICSP headers. There is no jumper/switch on the board to select a voltage that I have seen, is there? http://arduino.cc/en/uploads/Main/arduino-Due-schematic.pdf
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 11
Posts: 393
|
 |
« Reply #2 on: December 09, 2012, 08:27:38 am » |
Not sure why you were surprised - the Due schematic shows +5V on the SPI and ICSP headers.
Because I hadn't checked the schematic. I had blithely assumed it would be 3v3, since that's what you'd normally expect on the ICSP header on a "pure" 3v3 board. Lucky for me I checked the assumption at the last step, though. Can you think of a reason why in this case they might have connected it to the 5V rail instead of the 3v3? In any case, I thought I'd post this in case anyone else might be as foolish as me.
|
|
|
|
|
Logged
|
|
|
|
|
Global Moderator
Boston area, metrowest
Offline
Brattain Member
Karma: 249
Posts: 16556
Available for Design & Build services
|
 |
« Reply #3 on: December 09, 2012, 09:03:45 am » |
It does seem an odd situation. 5V is made available on a header, from a boost regulator even, with 4 other signals that are 3.3V level parts and have a limitation of "Voltage on Input Pins with Respect to Ground...... ..............................-0.3V to + 4.0V" http://www.atmel.com/Images/doc11057.pdfOne would have thought a part such as TXB0104 for signal level translation might have been standard here to avoid any damage from 5V signals on the header. Many parts still run on 5V, so it's nice having a source, but the parts need to return 3.3V signals. Connecting up a MAX7219 for instance, 4V-5V is needed for a supply, 3.5V is needed for a minimum high at 5V, so level translation would be needed.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 11
Posts: 393
|
 |
« Reply #4 on: December 09, 2012, 09:13:14 am » |
I wonder if they did it this way in consideration of shield compatibility. On an 5V shield, connecting both the 5V power header pin and the Vcc from the ICSP header would be valid, since they are connected on a 5V AVR board. On a Due, this would obviously be problematic if they connected the ICSP header to the 3v3 rail.
I don't know. In any case, the idea of backward shield compatibility was a broken one from the outset. Perhaps this is just a quirky consequence of the implementation of what was basically an irredeemably bad idea in the first place.
|
|
|
|
« Last Edit: December 09, 2012, 09:16:39 am by pico »
|
Logged
|
|
|
|
|
Global Moderator
Boston area, metrowest
Offline
Brattain Member
Karma: 249
Posts: 16556
Available for Design & Build services
|
 |
« Reply #5 on: December 09, 2012, 09:42:08 am » |
Really need someone like Massimo to answer that.
|
|
|
|
|
Logged
|
|
|
|
|
Left Coast, CA (USA)
Offline
Brattain Member
Karma: 279
Posts: 15314
Measurement changes behavior
|
 |
« Reply #6 on: December 09, 2012, 09:58:27 am » |
I don't know. In any case, the idea of backward shield compatibility was a broken one from the outset. Perhaps this is just a quirky consequence of the implementation of what was basically an irredeemably bad idea in the first place. I agree that the concept of new shield boards being able to coexist nicely with both legacy and new Due boards may have been a bridge too far. While they did define a new shield pin IOREF to give any new shield design using it a hint on what the Vcc voltage of the underlining chip is, I would like to see a schematic of a new shield design that handles bidirectional IO voltage translations. Not saying it can't be done but I suspect from now on most shields will be designed for either Uno or Due only use, but we will see I guess. IOREF. This pin on the Arduino board provides the voltage reference with which the microcontroller operates. A properly configured shield can read the IOREF pin voltage and select the appropriate power source or enable voltage translators on the outputs for working with the 5V or 3.3V. Lefty
|
|
|
|
|
Logged
|
|
|
|
|
nr Bundaberg, Australia
Offline
Tesla Member
Karma: 72
Posts: 6837
Scattered showers my arse -- Noah, 2348BC.
|
 |
« Reply #7 on: December 09, 2012, 10:16:13 am » |
So you not using the unofficial Due pinout diagram then? http://arduino.cc/forum/index.php/topic,132130.0.htmlThat highlights the 5v on both SPI headers. ______ Rob
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 11
Posts: 393
|
 |
« Reply #8 on: December 09, 2012, 10:51:07 am » |
So you not using the unofficial Due pinout diagram then?
OK, OK! Now you're just making me feel guilty.
|
|
|
|
|
Logged
|
|
|
|
|
nr Bundaberg, Australia
Offline
Tesla Member
Karma: 72
Posts: 6837
Scattered showers my arse -- Noah, 2348BC.
|
 |
« Reply #9 on: December 09, 2012, 11:20:05 am » |
|
|
|
|
|
Logged
|
|
|
|
|
Forum Administrator
Offline
God Member
Karma: 43
Posts: 616
I find plain exciting
|
 |
« Reply #10 on: December 10, 2012, 08:55:41 am » |
It was done for compatibility with older shields that expect 5v there.
There are many compromises to be made when you design a board that must be somehow compatible with more than 1 million others..
m
|
|
|
|
|
Logged
|
|
|
|
|
|