New 32 Bit Arduino Due...

So arduino is going to start dishing out some new boards soon, 32 bit Atmel Sam3u,

now what does this mean in terms of what is possible with these new devices.. I am assuming the Ide will remain the same aside from supporting 32 bit boards but language wise are we going to have an all new arsenal ? or is it all the same but with more power under hood? I have lingered around arduino only a couple of months and been reading up on 32 bit uControllers but aside from the architectural talk just wondering what the differences are going to be, aside from the obvious speed, and memory ..

At the “Arduino level” I doubt there would be much difference except the obvious speed and memory as you mentioned. If you wanted to delve a little deeper though there’s a world of difference.


Rob

with 128k being the "standard" on current pic32 boards I feel abit meh about this product

This one?

To fully exploit the SAM3U's high speed communications peripherals, the device is built around a high data-bandwidth architecture with a 5-layer bus matrix, 23 DMA channels and distributed on-chip memory including up to 52k Bytes of SRAM split in three blocks and up to 256k Bytes of Flash in two banks

Only 52k, but I like "96 MHz/1.25 DMIPS/MHz operating frequency" , just getting tired on 16...

Graynomad: At the "Arduino level" I doubt there would be much difference except the obvious speed and memory as you mentioned. If you wanted to delve a little deeper though there's a world of difference.


Rob

Some major difference seems to me will be:

  1. No one will be building standalone versions to be run on their breadboard or simple protoboard projects.
  2. Concerned about computability with 5vdc shields and interface components. Will the input pins be '5 volt tolerant'?
  3. Compatibility with the zillion contributed arduino library files is going to be a mess. Future libraries will have to clearly state if they support just 8 bit or just 32 bit (or both?)

It's going to be a major addition to the Arduino platform and may add a lot of confusion to newcomers (and oldies) on board purchase decision and expectations of what will work or not work.

I will most likely stay with the 8 bit boards, unless some 'killer' app comes along that requires the new board and is something I just must have. ;)

Lefty

No one will be building standalone versions to be run on their breadboard or simple protoboard projects.

Maybe there will be a “mini” version soon? Maybe like the mbed, Netduino Mini, or MicropendousX?

wondering what the differences are going to be, aside from the obvious speed, and memory …

Judging from the picture of the Due board, you are not going to notice much. It’s basically a Mega that runs faster.

Faster will mean more FPS on LCDs
You get better ADC readings, 12 bits now
USB device capabilities

I don’t think there’s a SD bus but accessing SD cards via SPI should be faster, plus the multiple busses means more concurrent communication, if you know how to code in such a way to take advantage of that

I’ve used the AT91SAM7X512 before, it’s SPI bus has a neat feature where CS lines are dedicated, my code didn’t need to manually lower and raise a CS line. Also the code worked in a way such that each device has it’s own SPI clock frequency, so I didn’t have to worry about switching SPI speeds manually. In the code, you just tell it which device you want to talk to, and that’s it.

Maybe there will be a "mini" version soon? Maybe like the mbed, Netduino Mini, or MicropendousX?

Quite possibly as the chip itself is probably not that costly. If done, I'm sure it will be 3rd party firms that fill that need for for standalone support. As far as soon, I don't think the board will be avalible to the public till early next year, and 3rd party support some months after that.

Lefty

The PIC32 used in the Digilent chipKIT Arduino offers a lot more performance than the SAM3U used in the Due.

If the “standard” funcs are ported then beginners may be OK for awhile if they stick to pinMode/digitalRead etc. But the first example they try with a PORTD = (1<<AD2) or whatever will crash and burn.

And as Lefty said all the existing libraries will almost certainly have trouble. Luckily I don’t have any published code but I can see a lot of #ifdef NEW_32_BIT_ARDUINO s on the horizon for some people.

On the bright side a version of “blink” that uses linked DMA lists to set the LED port pin from an array in RAM would really fly.

As for the 5v/3v3 issue, I just searched 1000+ pages of SAM3 manual (is that the chip they are using?) and didn’t find the word “tolerant” once, not a good sign. I’m dealing with this 5v/3v3 thing right now with a different processor and it’s a real PITA.


Rob

First of all I would change Mini-B USB connector to USB-B, since I bought STM32L-DISCOVERY and I broke Mini-B next day. =)

[quote author=Leon Heller link=topic=72664.msg545852#msg545852 date=1316423255] The PIC32 used in the Digilent chipKIT Arduino offers a lot more performance than the SAM3U used in the Due. [/quote]

How come? Isn't the PIC32 80Mhz and the Due 96Mhz?

http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,892,893&Prod=CHIPKIT-UNO32

Wk

Osgeld: with 128k being the "standard" on current pic32 boards I feel abit meh about this product

The Due has 256K of Flash and 50K of RAM, while the other ChipKit Uno32 I saw are much lower than that. Yes, the MAX32 has more memory, that I will say. ;-)

ChipKit Uno32 - 128K of Flash and 16K of RAM ChipKit Max32 - 512K of Flash and 128K of RAM

Wk

I think the Due will be great, I just hope it is fast enough that it can run larger LCD screens, like an iPad replacement screen. I hope to get one of these for the New Year.

http://arduino.cc/blog/2011/09/17/arduino-launches-new-products-in-maker-faire/

Arduino Due, a major breakthrough for Arduino because we’re launching an Arduino board with a 32bit Cortex-M3 ARM processor on it. We’re using the SAM3U processor from ATMEL running at 96MHz with 256Kb of Flash, 50Kb of Sram, 5 SPI buses, 2 I2C interfaces, 5 UARTS, 16 Analog Inputs at 12Bit resolution and much more.

Hey if you guys want to compare the PIC32 with ARM Cortex-M3, we should be comparing FLOPs and other benchmarks, not just pure clock speed and memory.

And I'd rather have USB mini-B rather than USB B, I know USB B is stronger but it's just way too big.

frank26080115: Hey if you guys want to compare the PIC32 with ARM Cortex-M3, we should be comparing FLOPs and other benchmarks, not just pure clock speed and memory.

Good point. Any idea where to get those data?

Wk

WilliamK:

frank26080115: Hey if you guys want to compare the PIC32 with ARM Cortex-M3, we should be comparing FLOPs and other benchmarks, not just pure clock speed and memory.

Good point. Any idea where to get those data?

Wk

No idea, and it also varies with your compiler. Although I'd like to see a standardized benchmarking method for microcontrollers, maybe a platform independant piece of C code to find prime numbers and digits of Pi? And also maybe something to test sequencial and random memory access. Although a lot of this info can be determine from careful analysis of the datasheets

other benchmarks

http://www.coremark.org ?

Added: There are some existing results. AVR seems to do about 0.5 CoreMarks/MHz, ARM CM3 around 1 to 1.7 CM/MHz, and PIC32 1.5 to 2.5 CM/MHz.

Will we be seeing a new IDE for the 32-bit Arduino?

And what about compatibility, especially for low level libraries like NewSoftSerial (now called SoftSerial and bundled in Arduino 1.0 IDE)?

especially for low level libraries like NewSoftSerial

I assume everything in the official release will be ported. As for everyone else, better brush up on your SAM3 architecture :slight_smile:


Ron