Finally, An ARM-powered Arduino

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

70 thoughts on “Finally, An ARM-powered Arduino

  1. I think this is a really great step for the arduino and I only hope that they can keep the low cost that ended the basic stamp era. Allot of people complain about how the power of the arduino isn’t keeping up with the needs of developers and I think this is a step in the right direction!

  2. For me the really exciting thing here is that it might get some critical mass behind a robust, documented, community-supported FOSS toolchain for arm development and debugging. Currently it often seems to be some dude’s patched version of $X on his github that is broken a couple of months later, or doesn’t support the FPU, or this other library has completely changed its name and API, or something.

    It should really be as easy as AVRs in an ideal world. I hope this is a step towards it.

  3. Although I must say I HATE those mini usb jacks… they are needlessly small and fragile and since I just threw out all my spare ones because my gf was riding my ass about all the crap i have lying around I will need to buy a new cord too

    1. I keep hearing this about mini/micro USB ports. What exactly are you doing to your stuff that causes them to break? I’ve had tons of different stuff that was connected via USB and I have never even come close to have one of them fail on me (even after catching devices “by the tail” so to speak as they fall of a table). The micro plug is rated for 10k cycles, a number no one will come close to in normal use for any type of gadget I can think of.

      1. then you’re lucky. i’ve had countless micro usb ports fail.

        my korg nano midi keyboard. dead. micro usb connector shot.

        simply from using the thing too, didnt even drop it once, yet it died within a year. my ps3 gamepad is now getting really wobbly, and thats merely from plugging in to charge the thing.
        i could go on, but i’m lazy.

      2. I think you guys are confusing micro and mini USB. Mini is what the Ardunio Nano and PS3 gamepads have, micro is the one on the Uno, Due and most Android phones.
        Micro USB is, by spec, a far more robust plug than Mini was ever designed to be, with at least ten times as many plug cycles as Mini.

      3. Yes Mini are much robust and to my preference when available. I bought a lot of micro plugs usually they get loose. On my side 0 issue with mini USB.
        Anyway I had to repair a mini one for a friend who plugged a bad sized cheap male plug into it. It can be soldered to the board the same way as the micro. This way it is pretty weak on shear loads.

      4. I’ve only had the micro plugs fail on me (the newer smaller/super thin ones) — the old mini ones (the slightly fatter ones) worked great — never had an issue — I wish the industry would go back to them.

      5. The micro USB is theoretically more robust, but micro USB jacks have a tiny notch on it to make the cable tighter, and it’s this notch that makes it fail because it’s harder to pull out the cable. I’ve already had countless micro USB ports fail on me as well, including many new portable hard drives that have micro USB built in.

        Never had any problems with mini USB…

  4. i have been watching the DUE for over a year now, since they first publicly mentioned it last year. now i have a project that will use some of its potential.
    Does anyone know about the interrupts? how meny and what pins they use, like taking functionality from CAN or from SERIAL, or PWM?

  5. Not sure I like the new board. With a chip that big (in term of pins), the DUE becomes less of a prototyping board. I am unlikely to want to try and manually soldering that many pins – so do I just use a DUE in the final project ?

    I have only ever run out of specs (memory/RAM/EEPROM/CPU speed) when using a ATTINY.

    Hopefully, this will just be one of the family rather than pulling the arduino in to a world of “big” chips.

    My 2p worth,

      1. Yes, drag soldering is amazing! Just make sure you have lots of flux/clean it up after. I tried it out some tssop TLC5940’s and it was so easy. Between that and my other experiences with smd parts, I kind of wished I switched over to them sooner.

  6. The arduino has needed to make this move for a long time now. With STI discovery boards comming out at less than 10$ it was becoming clear the 8-bit AVR chips were outdated and overpriced.

    I agree that coming out with ARM versions of all the form factors would be great.

  7. Well I guess it will revigorate (is that a word?) faith in arduino’s future as a platform, but I think they dropped the ball by not taking the opportunity to get rid of that awful 1.5x spacing between the single rows of headers. Breaking existing shield compatibility IMO is a small price to pay for the convenience of perfboard/stripboard prototyping.

    1. I have thought for a while that there should be a new, transitional, slightly wider form. It would have the current ‘normal’ Arduino headers with the funny spacing on the inside but also a second set of headers just outside the first set with normal spacing (thus the slightly wider profile).

      Shield deevelopers would be encouraged to use the new, outer headers with the sane pin spacing. Eventualy the inner headers could be left unpopulated, the holes still there for users that really need them. Finally even the holes would go away and we could forget about the bad spacing forever!

  8. Of all the stuff HaD has reported on the NY Maker Faire, you only got around to posting this now?

    I guess if this had been posted earlier, the tentacle girl might have been overlooked…

  9. While I love this I’m also a bit discouraged… the cool thing about the duemillanove was that you could just pop out the chip and add a crystal to it.

    Or is this a “replacement” for the mega? So the new “small” lineup wont be using a chip that can’t be popped out? :)

  10. Only cool if you are already into the Arduino movement and want a 45 degree move with more powerful CPU and the built in peripherals.

    Otherwise a dozen or more Olimex boards already better the price point while matching the features. The development side (IDE), community and distribution channel for the Arduino movement stands out and beats these other offerings – but I am more price conscious.

    Sticking with Atmel makes me cringe a bit. A lot actually. ST, TI, & NXP are more established with mature M3 chips in production.

  11. I’d rather go for a slower <$20 solution.. It's a prototype board..

    Besides it still doesn't do things like high-bandwidth sampling which justifies faster clocks. Robots and automation rarely need fast chips..

  12. I was wondering when this would show up on Hackaday. It’s due out Oct 22nd, from what I heard from Massimo.

    While I can’t wait to get my hands on an ARM-based Arduino, I am extremely disappointed that they didn’t get rid of the effed-up spacing on the headers, and that they didn’t break out the lines needed to use external RAM. :(

  13. Atmel SAM3X is a horrible chip! While writing the code for this year’s ADK (I wrote a lot of the code that shipped with the ADK 2012), we found numerous hardware bugs in it, some of which are still “pending” with Atmel support. DMAs will hang the chip, I2C controller will splatter data all over RAM, RTC will stop if you update it twice in one second, etc… Avoid at all costs.

    1. So the current Arduino-Due version which will be sold on releasedate is basically for the trashbin? Are there any software-workarounds for these µC-problems or will they ship the Due with a less buggy µC-version?
      Ive waited so long for the board, would be a shame to buy a not-fully-working-board.
      Thanks.

  14. A Nice spec board.

    Discounting the additional room needed for 32 bit code the 512KB ROM/100KB RAM is really quite enormous (512K will be enough for anyone:-) ).

    The wiring IDE is great for small programs but gets a bit tired when you move to larger ones and have to split your project into modules. I really hope the IDE gets an update too such as proper search replace across multiple files, integrated debugger for breakpoints and examining values etc, (hopefully while not becoming like the usual tool-chain behemoths.)

  15. I remember seeing an Arduino compatible ARM board called a maple over a year ago.

    Guess someone finally came around and realized there was demand for it beyond a separate group of people.

    I still stand by the Cypress PSoC, but then again I’ve worked with them for 5 years and have a programer pod

  16. To bad this chip only has 512K of memory
    Thats a bit sad finally there is a 32 bit micro controller that could address more memory.
    I’d love to see support for a 1 Gig memory chip and msata support. So we could put Arduino at more serious industrial locations.

      1. Well i just wanted to like this reply.

        because i am working with an arduino mega 1280, running a 3.2″ touch screen, RTC, RS232, THERMAL PRINTER, 2 ANALOG READS, SD CARD, and BATTERY MONITORING.

        my code compiles to “66,020 bytes” and i still have room for an array of 500 floating point data samples. on the microcontroler before topping out.

        it would be nice to give myself a little more wiggle room thoe.

  17. Boards like this tend to miss the point. It is great that it is a more powerful processor, it is great it has more memory, can use arduino shields, but it sucks that it still will use the arduino IDE and code base and will inherit the limitations as a result.

    I have been through 2 other boards the chipkit and the maple, both are horrible at re-using existing arduino code. There are so many issues that most people give up trying to run arduino code and just run native code by using microchip or ARM targeted tools.

    It wasn’t shields that made arduino popular , it was the easy to use programming. Putting the arduino IDE with a powerful arm chip is a terrible idea and very wasteful on resources.
    for example, to blink an led using the arduino ide on the chipkit max32 uses 8KB of code, 8KB of code to blink an led, are you serious ? , it isn’t even 1KB using native tools.

    The person who writes an easy to use, free, ARM ide with libraries that are as easy to understand as the arduino will make a ton of money.

    1. > can use arduino shields

      CANT, it is NOT 5V tolerant

      > but it sucks that it still will use the arduino
      >IDE and code base and will inherit the limitations
      >as a result.

      Arduino ide is the main selling point for all those women/artist/painter types that cant program their way out of autoexec.bat

      1. @rasz
        don’t you think your comment “Arduino ide is the main selling point for all those women/artist/painter types that cant program their way out of autoexec.bat” is a bit offensive?
        I know women who are for sure 100 times better than you as a programmer.

        More than a year ago we launched the R3 layout that has specific pins that make it easier for shield makers to design products that can run both on 3.3v and 5v boards. Infact our Eth/Wifi shields work seamlessly on the Uno and the Due.

        @AdamOutler the price we announced is $49

      2. Seriously, @rasz, Massimo is right. That is offensive.

        The genius of Arduino is its accessibility and the IDE and libraries are designed with that as the foremost goal.

        There are thousands of pre-teens (all genders) designing some pretty cool microcontroller applications with it. Sure, maybe 10% of applications require something a bit closer to the hardware, but the simplified Arduino IDE has clearly found a sweet spot for the other 90%. There are tools to address the other 10%. Nothing prevents you using those tools with the Arduino hardware.

        I have developed software for a living since the early 1980s. Coding microcontroller applications using the abstractions provided by the Arduino IDE is a lot of fun even for an experienced professional like myself. I only rarely feel limited by the tools and I know how to get closer to the hardware if needed. Keeping track of which pins map to IO ports and bit twiddling hardware registers is not that hard, but it’s amazing what can happen when those details are abstracted away by your development tools.

    2. > The person who writes an easy to use, !!!free!!!, ARM ide with libraries that are as
      > easy to understand as the arduino will make a ton of money.

      How does making a free tool make you lots of money?
      1. write tool
      2. give it away
      3. ???
      4. Profit?

  18. It’s nice to see Arduino finally take the leap in the ARM world. That being said, the result is still overpriced and the inability to break with the header placement mistake is quite disappointing.

    As a shameless plug, a few of us are working on the MC HCK, a smaller, cheap (~$5) ARM development board with similar specifications [http://www.mchck.org/] to the DUE. We’re currently in the process of bringing up a toolchain for this board, but we’ll likely be looking at doing an initial production run by the end of the year.

      1. The quotes we’ve received so far suggest a total cost of around $3 built and tested. This means that the price will hopefully be somewhere in the range of $6 to $9 for the first run.

        That being said, the design is an open source project; we are working on it because we feel there is a region of the design space which needs to be filled. As with most projects, the work is largely to scratch personal itches. However, I believe there are many others like us who would benefit from such a board. This is why we are pursuing a large-scale run.

  19. I was excited about this board back in January. However, it never materialized when I needed it for a project I needed speed for. So I found out about the Uno32 and it solved my need for a high speed simple development environment board. It took me 1 week to convert a atmega8u2 project to the Uno32. I even had to write a custom pin change handler as well. Considering how much the BT Arduino costs (I found a competing BT clone for $38 BTW) I am not certain this will be able to compete with either the Uno32 or the Max32 for price/features. If they can keep this board under $50 I might be interested. However, much higher than that and I can grab an Uno32 or Max32 which already has a nice Arduino IDE as well.

  20. After some 10 minutes trying to rephrase my thoughts in order to sound polite …

    TL2

    I wish the “team” the best luck, but i guess the DUE is gonna be a big pain on the “reverse” to get finished. I would not buy something based on sam3x.

    BTW It would be nice to forget about the “clone” word specially in reference to proper efforts like the Microchip or ST based boards and try to have a proper open IDE

    Wiring and Maple are working on this direction and it would be very nice on Arduino to get into the same effort, the fragmentation helps nobody and delays innovation.

    I’m sure the “cloners” will came with some other sam3/sam4 based devices at better price/performance. Having proper code running on an ARM is far more complicated than doing it for the AVR’s, and that’s far beyond the competences of a closed club of amateurs

    They must release early release often and learn from other people, I guess this has not been the case and it will get reflected on the final product, you can’t expect to get such a complicated work done by others for free until you get really open on the design and implementation

    1. Thanks for your feedback.
      Monday the github repository opens up and anybody can contribute. We have a different development process that we will describe on monday.
      The new IDE is designed to make it easier for people to add different cores even for processors we don’t support.

      It always takes time to get stuff done but this platform is now at a stage where people can contribute meaningfully because there is a good base where to start from.

      We don’t use the term “clone” for people who make their own derivative/compatible board.. other people use that term.
      We use “clone” only for the ones who take our eagle file, change the name on it and make it without adding any value.

      Check the blog on monday afternoon US time and you’ll know more.

      1. Hi! Massimo,

        ¿Could you coment on the points that Dmitry Grinberg has commented some posts ago?

        Dmitry Grinberg says:
        October 3, 2012 at 11:51 am

        Atmel SAM3X is a horrible chip! While writing the code for this year’s ADK (I wrote a lot of the code that shipped with the ADK 2012), we found numerous hardware bugs in it, some of which are still “pending” with Atmel support. DMAs will hang the chip, I2C controller will splatter data all over RAM, RTC will stop if you update it twice in one second, etc… Avoid at all costs.

        1. @dhnoracing

          Every processor I’ve worked with had some issue. Many times it was the documentation that was wrong, other times it was the silicon etc etc.

          Dmitry was working under a tight deadline and the processor is still failry new within ATMEL so I’m sure it was painful for him at time. Once they delivered the code, I believe, they stopped working on it.

          Several sections of our code have been written with the assistance of ATMEL engineers who worked on the SAM3X so if anything should arise we’re going to get them to fix it.

          Final comment: Some people just want the opportunity to brag about stuff and in the technology world ranting about the perceived schorcomings of a product seems the preferred way.

  21. Massimo,

    Thank you very much for the answer. Will look forward to that improvement on the IDE, count on me as a contributor for other sam3/sam4 devices.

    The use of clone is coming out of an event with Telefonica which was broadcasted coming out of one of the Team member’s lips. Probably was not your intention to point Maple or uno32 as clones.

    I (and hope other concerned people) accept this as a proper explanation of the gap.

    Good luck

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.