Arduino Due (released Oct 22, 2012) Compatibility

You should be able to add 16gig of external memory

Huh? I don't recall CM3 being able to deal with more than 32bits of address space. Wouldn't that would require an MMU, which CM3 doesn't have?
Also, the datasheet says in it's "external memory interface" chapter: "up to 16MB per chip select" and "up to 8 chip selects."

It'd be close, though. The ChipKit MAX32 runs a version of BSD unix, and it's only got 128k of RAM. The SAM3X has "up to 100k"
(the retroBSD that runs on MAX32 may be pretty far away from what people expect when they ask about linux, though...)

The chip has

Static Memory Controller (SMC) for SRAM, NOR, NAND support.
NAND Flash controller with 4-kbyte RAM buffer and ECC
SDRAM Controller

So just about any type of memory you like.

As for the size, oops I should have said 16Mb as there are 24 external address lines. But there are also 4 chip selects so that's a total of 64Mb.

That's for SRAM, there are extra signals for NAND (Address Latch Enable) so that may be able to address more but I haven't looked into that.

EDIT: westfw, yes it says "up to 8 chip selects" but I can't see them on the SMC block diagram, it only shows NCS[3:0].

ANOTHER EDIT: It does show NCS[0:7] in Fig 24-1 and table 24-1, so I guess they are there somewhere. That would make a total of 128Mb.


Rob

How does the due ARM processor compare to AVR32 UC3 (as seen in http://www.aery32.com/) speedwize? Is the ARM actually a lot faster?

No idea, I don't know much about the Xmegas.


Rob

@ io53:

You can use the Atmel tables for comparison:

Here is the table for the AT32UC3 lineup:
http://www.atmel.com/PFResults.aspx#(data:(area:'',category:'34864[33180[33080]]',pm:!((i:8238,v:!(0,18)),(i:8394,v:!(0,17)),(i:8362,v:!(1,28)),(i:8282,v:!())),view:table),sc:1)

And here is the table for the SAM3X series:
http://www.atmel.com/PFResults.aspx#(data:(area:'',category:'34864[33177[39581]]',pm:!((i:8238,v:!(0,18)),(i:8394,v:!(0,17)),(i:8362,v:!(1,28)),(i:8282,v:!(0,1,2,3,4,5,6,7,8))),view:table),sc:1)

There's a fault in those links. If you cut and paste the whole test into a broswer it works though.


Rob

Far removed from the legions of 3D printers featured at this year’s Maker Faire in New York was a much smaller, but far more impressive announcement: The ARM-powered Arduino DUE is going to be released later this month.

Instead of the 8-bit AVR microcontrollers usually found in Arduinos, the DUE is powered by an ATSAM3X8E microcontroller, itself based on the ARM Cortex-M3 platform. There are a few very neat features in the DUE, namely a USB On The Go port to allow makers and tinkerers to connect keyboards, mice, smartphones (hey, someone should port IOIO firmware to this thing), and maybe even standard desktop inkjet or laser printers.

The board looks strikingly similar to the already common Arduino Mega. That’s no mistake; the DUE is compatible with existing shields, so connecting a RAMPS board for your 3D printer should be a snap.

Here’s a PDF (http://hackadaycom.files.wordpress.com/2012/10/due.pdf) the Arduino and Atmel guys were handing out at their booth. A few DUE boards have already made it into the hands of important people in the Arduino community, including 3D printer guru [Josef Prusa]. Sadly, the folks at Arduino didn’t think media personalities needed a DUE before its release, so you’ll have to wait until we get our hands on one later this month for a review.

@hackaday.com

charlie_dream:
Finally, An ARM-powered Arduino | Hackaday

Far removed from the legions of 3D printers featured at this year’s Maker Faire in New York was a much smaller, but far more impressive announcement: The ARM-powered Arduino DUE is going to be released later this month.

Instead of the 8-bit AVR microcontrollers usually found in Arduinos, the DUE is powered by an ATSAM3X8E microcontroller, itself based on the ARM Cortex-M3 platform. There are a few very neat features in the DUE, namely a USB On The Go port to allow makers and tinkerers to connect keyboards, mice, smartphones (hey, someone should port IOIO firmware to this thing), and maybe even standard desktop inkjet or laser printers.

The board looks strikingly similar to the already common Arduino Mega. That’s no mistake; the DUE is compatible with existing shields, so connecting a RAMPS board for your 3D printer should be a snap.

Here’s a PDF (http://hackadaycom.files.wordpress.com/2012/10/due.pdf) the Arduino and Atmel guys were handing out at their booth. A few DUE boards have already made it into the hands of important people in the Arduino community, including 3D printer guru [Josef Prusa]. Sadly, the folks at Arduino didn’t think media personalities needed a DUE before its release, so you’ll have to wait until we get our hands on one later this month for a review.

@hackaday.com

That kind of statement by who every originated it will most likely lead to damaged Due boards very quickly I suspect. The Due will be mechanicaly compatible to the standard shield layout, but the Due beings a 3.3 volt board is not compatible with older 5 volt only shields and this is bound to cause problems with begineers buying wrong shields or trying to use their existing shield boards. The Arduino team has added a new shield pin sense Rev 3 boards that can be used by newer shield designs to possibly support both 5 and 3.3 volt controller boards, but there will always be a potential trap there in my opinion. But maybe I'm being to negative, maybe the Due's shield input pins will all be '5 volt tolerent', or perhaps the damage is just in theory rather then in reality? I don't know for sure, but it will be interesting to see how this all works out.

Lefty

maybe the Due's shield input pins will all be '5 volt tolerent'

I wouldn't bet on it, the SAM is in no way 5v tolerant (4v on a good day) so that would need extra circuitry, possible but not obvious from the photos and I can't see them adding 54 level converters or even 54 current-limiting resistors.

I think the Due will drive most shields (voltage wise, maybe not with current) and if not then no real harm done unless too much current is needed from IO pins, but any shield that returns 5v (probably just about all of them) has a good chance of shafting the SAM3. That will be a very expensive plug in and impossible for the average user to fix.

I will also be interested to see how this all works out.


Rob

Graynomad:

maybe the Due's shield input pins will all be '5 volt tolerent'

I wouldn't bet on it, the SAM is in no way 5v tolerant (4v on a good day) so that would need extra circuitry, possible but not obvious from the photos and I can't see them adding 54 level converters or even 54 current-limiting resistors.

As there are very limited amount of mega shields I would only do it for the 18 standard pins.
Another option could be to market a "gobetween shield" that does this.

Graynomad:
...but any shield that returns 5v (probably just about all of them)...

One of my favorite shields for high power engines is : Robot Power Products - MegaMoto Motor Control Shield for Arduino.
I'm not a hardware guy but as far as I can see this one should work fine on the due. It only feeds back on the analog pins for power consumption and that is limited to 3.3V.

If it is low power I use the adafruit motorshield Adafruit Motor/Stepper/Servo Shield for Arduino kit [v1.2] : ID 81 : $19.50 : Adafruit Industries, Unique & fun DIY electronics and kits which -again as far as I can see" ok with 3.3 volts as there is no feedback from the shield.

I'm not sure of the gps shield I have. Adafruit GPS logger shield kit [v1.1] : ID 98 : $19.50 : Adafruit Industries, Unique & fun DIY electronics and kits

So it sure is not all of them :smiley:

Best regards
Jantje

Graynomad:

the SAM is in no way 5v tolerant (4v on a good day) so that would need extra circuitry, possible but not obvious from the photos and I can't see them adding 54 level converters or even 54 current-limiting resistors.

@Graynomad:
(1) Would the method of level converter or a resistor array allow compatibility with BOTH 5V shields AND 3.3V shields though?

(2) And if so, why didn't they add it on the Due board itself? (I see quite a bunch of free space on the board!)

It certainly looks like going straight to Due, will be getting beginners in way over thier heads, I wonder how many of the UNO Based tutorials would cause damage to the lower current, lower voltage Due ?

Duane B

rcarduino.blogspot.com

One other thing to watch out for, the Arms 'double' is 64-bit, while the AVR compiler treats 'double' as the same as 'float'. If you have structures with doubles in them, the structure size will grow, and obviously the ranges handled will be different. If you have an application that goes down and unpacks/packs fp numbers, you will need to take this into account.

This is the sort of thing that may bite people in the arse, and the reason you shouldn't really use int/char/etc for your variable types.

Up 'till now it hasn't mattered, but it may do with the Due. Of course it has more RAM so you may not notice of you're arrays double in size :slight_smile:

@giantsfan3
(1) I guess series resistors would help with the 5v inputs to the ARM, it's not my preferred method though, I would consider that more of a cover your arse measure to limit the current in case of a stuff up.

(2) Dunno, price I suppose. Arduinos are not designed to have robust IO and that's fair enough. It may be though that the Due will be placed in harm's way a lot. Jantje seems happy that his shields will be OK so maybe it's not really a problem. But how many users can analyse that?

I wonder how many of the UNO Based tutorials would cause damage to the lower current, lower voltage Due ?

This is the sort of thing that may be a problem, a simple high-side switch to 5v and poof.


Rob

I just don't get the Due concept. I just feel I must be missing something obvious. Someone please explain it to me.

Surely, if I need more processor, then its because I'm doing something fundamentally unsuited to an operating system-less device like the Arduino. I.e., image processing, DSP, MP3 playing etc. If I need an OS I'd have Linux on a Raspberry Pi.

Arduino is a device for electronic hobbyists. 16 million things a second is faster than I've ever needed an Arduino to perform.

Si:
I just don't get the Due concept. I just feel I must be missing something obvious. Someone please explain it to me.

Surely, if I need more processor, then its because I'm doing something fundamentally unsuited to an operating system-less device like the Arduino. I.e., image processing, DSP, MP3 playing etc. If I need an OS I'd have Linux on a Raspberry Pi.

Arduino is a device for electronic hobbyists. 16 million things a second is faster than I've ever needed an Arduino to perform.

I agree that 8 bit AVR chip based boards would still be the best entry point into the arduino world for most begineers, especialy for those new to the electronics side of the hobby. However the small SRAM space and limited clock speed on the 8 bit AVRs does rule out many valid hobbyist level projects that really can't be performed on the existing arduino hardware. A ARM based arduino board will open up new applications that simply can't be performed with a existing AVR based board without external harware required that a ARM based board may not require. It not a one or the other based choice, but rather matching the avalible hardware to the task.

My fear is that too many begineers will choose a Due over a Uno based on their possible future requirements rather then picking the best board for their entry into this hobby. The experts will already know how to select the best board for each specific project or application, but too many begineers will 'over buy' based on the wrong reasons.

Lefty

However the small SRAM space and limited clock speed on the 8 bit AVRs does rule out many valid hobbyist level projects that really can't be performed on the existing arduino hardware.

Maybe I am lacking imagination, but how about some examples?

My fear is that too many begineers will choose a Due over a Uno based on their possible future requirements rather then picking the best board for their entry into this hobby.

Definitely, a lot of people tend to buy the latest and best, even if it isn't the right one.

Maybe I am lacking imagination, but how about some examples?

Well you are lacking in imagination I guess. :smiley:
But don't expect me to unlease my vast imagination for free, my ideas might be my ticket to vast fame and fortune. :wink:

That aside, I will probably not be an early buyer of a Due board. I did buy one of those Teeney 3.0 ARM based boards but mostly to support Paul's project and I won't be suprized if it sits in my 'get to it box' for some time even when it arrives later this month. :wink:

Lefty

Si:
I just don't get the Due concept. I just feel I must be missing something obvious. Someone please explain it to me. Surely, if I need more processor, then its because I'm doing something fundamentally unsuited to an operating system-less device like the Arduino. I.e., image processing, DSP, MP3 playing etc. If I need an OS I'd have Linux on a Raspberry Pi.

@Si: But doesn't that mean that ALL ARM Cortex M3 and various other companies' 32-bit microcontrollers, have no applications?

Even based just on their popularity, I am sure there must be many advantages and applications to a 84 Mhz, 32-bit architecture that make it suitable somewhere in between the domain targeted by 8-bit AVRs and the domain targeted by, e.g., Raspberry Pi.

retrolefty:
My fear is that too many begineers will choose a Due over a Uno based on their possible future requirements rather then picking the best board for their entry into this hobby. The experts will already know how to select the best board for each specific project or application, but too many begineers will 'over buy' based on the wrong reasons.

Lefty

I dunno, that assumes you expect people to have a different processor for each project. I suspect a lot of hobbyists are like me, and only have a few processors (or just one), and then builds things to get a specific action and then tears it down, and goes on to the next project. For example, on the UNO, I've bought several proto-shields so that I could keep the stuff wired up, but switch to the next project.

I see a lot of posts about people wanting to do video and audio on their embedded systems, so I don't think it is something you need to run an OS for. I certainly have projects I want to do that involve video that are hard to do with Arduinos, and I'm certainly thinking that the Arms I just bought (teeny 3.0, radioblock, raspberry pi) might fill the bill.

Also, it sounds rather like the 'old' timers that complain about newbies having it so easy, and that everybody should go through the steps they did. I started programming on IBM punch cards, but I don't expect kids starting out these days to go back to cards.