According to Mouser, one of the Arduino distributors, the Arduino Due A000062 is obsolete, is this true?
Also, looking through the Arduino store, it's not there either...
in Germany I can buy Arduino Due at many electronic shops (>50$).
I did buy all my Arduino Dues as China clones on aliexpress.com (12$).
Below I copied out the Arduinos with more than 16MHz, I cannot see why one would want something different than Due given the features. The killer argument for me is the 96KB and high clock rate (I have no 101 to compare Due with 101). The additional 101 features can be added to Due for few $s.
Kind of... They don't seem overly interested in making too many more Due boards. The problem with the Due is that nobody bought it. It's MUCH more powerful than the little garbage Arduinos that most people buy and really isn't more money. But, it was unpopular because of the large change in processor and drop to 3.3v. So, I guess they've prioritized on the things that people buy. That's understandable even if it sucks.
But, there is a cottage industry of other companies that make clones of the board. EVTV.me sells a Due clone with a USB-B plug, EEPROM, and CANbus built-in. It's more money but they still make them and the board is more capable. If you don't need EEPROM or CAN then find a Chinese knock off. However, I've also been informed that Atmel is scheduling an end of life for the SAM3X processor on the Due. This probably won't fully happen for another couple of years but the writing is on the wall.
Personally I'm really liking the Cortex M7 processors from Atmel. The processor is leaps and bounds better than the M3 on the Due. Faster, more capable, more space, etc. I'd love to see a Due like board but with an M7. In fact, I very well might do just that.
To me the real problem is the Due has lots of attractive features but many of them are disabled by the board. You can't use the real-time clock properly, the DAC would be 100 times more useful with a 0-5V amplifier, the ethernet pins are inaccessible, I2C has silly pullups (but only on one).
Some different design choices might have pushed the Due in a different direction. The Teensy is much more useful for a bigger range of things, although it's hampered by its desire to be small, so some useful pins are more difficult to access. It also has better library support for USB type things which the Due would also be good at.
I can't see the Due going away. It may not be stocked at Mouser next year but I'm sure you will be able to buy new ones at reasonable prices 10 years from now.
Due was factor 92(83) slower, but I was surprised that it was only a factor 92(83) [depending on compiler setting -Os, optimize for size, the default in Arduino IDE, or -O3, optimize for speed].
It would be interesting to just get the runtime reported for the other three (>16MHz) Arduinos in above table, the 101, MKR1000 and Zero.
If you do have access to one of those three Arduinos, could you please flash the sketch from the the thread mentioned and report the reported runtime here?
I did some test with the different Arduinos (incl. MKR1000 and Due) and also the ESP8266 and the Maple (STM32). It is not your benchmark, but could give you some ideas.
Thanks Andreas, you made a good point in the comparison, I just did compute the ESP8266-12E (nodemcu dev board) numbers with Arduino IDE 1.6.4. This is the current table:
model
-Os
-O3
101
Due
548
494
MKR1000
Zero
ESP8266-12E
612
304
"-O3" does make a great difference for ESP8266-12E.
Can you please provide the numbers for the MKR1000?
I did contact Andreas (sensorsiot) and asked whether he could determine the numbers for the MKR1000, and he did -- thanks Andreas!
This is the updated table, and since MKR1000 and Arduino Zero seem to have very similar SAMD21... microcontrollers the table can be considered complete:
model
-Os
-O3
speed
processor
Wifi
101
846
791
32MHz
Intel® Curie
-
Due
548
494
84MHz
ATSAM3X8E
-
MKR1000
1038
825
48MHz
SAMD21 Cortex-M0+
yes
Zero
-
-
48MHz
ATSAMD21G18
-
ESP8266-12E
612
304
80MHz
Tensilica Xtensa LX106
yes
Summary:
The Arduino Due outperforms the other >16MHz Arduinos integer compute power wise, and is only beaten by the ESP8266-12E.
here I did benchmarks about several tests, both low level and high-level API, and it's clear to see the advantages of the DUE and different ARM-based boards.
Unfortunately the documentation of the libs and the ARM-compatibility is a nightmare!
a suggestion for improving and simplifying this board:
for the future, please remove the built-in i2c pullups!!
and please implement completely ANSI C / stdio.h compatible libs
for USB host to HID keyboards (getchar, gets,...)
and for reading/writing SD files (fopen, fprintf, fscanf, fgets, fclose...)
plus libs for pre-emptive multitasking similar to pthread or to C++11 std::thread !
for the future, please remove the built-in i2c pullups!!
I don't see any i2c pullups on the board. Are you complaining that the library enables them in the chip? That should be easy enough to change (but why?)
and please implement completely ANSI C / stdio.h compatible libs [for keyboards and SD cards]
plus libs for pre-emptive multitasking similar to pthread or to C++11 std::thread !
Those don't sounds very Arduino-like. Presumably they're not hard to add, since the Due code is newlib-based (ie file system code exists, but it's not used, nor are the low-level drivers for any HW implemented.)
westfw:
I don't see any i2c pullups on the board. Are you complaining that the library enables them in the chip? That should be easy enough to change (but why?)
There are two 1K5 pullups (RN5A/RN5B) connected to the i2c pins (SDA(86)/SCL(87)). They are part of a quad RN array resistor located besides the 7CE33Z regulator (besides the square coil)....but why?
Since only Arduino dot ORG is still manufacturing Due, any requests for improving the hardware would probably be better sent to them. They really do seem to be competent and interesting in the hardware side, so perhaps there's some chance these long-standing Due hardware limitations might get fixed? Maybe?
Likewise for Due's software & libraries, but so far the dot ORG folks haven't shown much interest or ability on the software side. Their approach seems to be mostly copying from Arduino dot CC. They're trying to start up a "foundation" that will basically crowdsource open source software development for their hardware products. How well that really support Due or any other boards remains to be seen. I'm trying really hard not be too cynical...
The Arduino dot ORG folks are also making a powerful STM32-based board. At the risk of gratuitous self promotion, I should probably mention a more powerful Teensy is in development with a 180 MHz Cortex-M4F chip. A more powerful ESP chip is also coming. These 3 are probably the near-term future for people wanting more powerful Arduino-compatible boards. The ESP stuff seems to now be maturing pretty well. I have a pretty good idea how I'm going to do the software side for Teensy (you can expect more of the same sort of software support I've always done). It'll be interesting to see how Arduino dot ORG do on software for their first couple boards that aren't related to anything Arduino dot CC ever did.
Oh THOSE SCL/SDA pins. I was looking at the ones to the R3 SCL/SDA connector (which are xxx1 rather than xxx0-3, and don't have any pullup.) Yes, it seems particularly weird to put pullups on pins that aren't specifically dedicated to I2C...
Teensy is no option because of far too few IO pins.
The 50-60 dPins and 12 Apins of a Due (like on a mega) plus 2x i2c + 4x UART plus the RAM and the cpu power are of invaluable advantage.
just the SD file system is missing plus stdio.h keyboard key reading from host USB.
yes, and the built-in pullups in i2c0 are messing everything up (thank God at least i2c1 hasn't got them, too). IIRC, they can't be disabled by software.
ArthurD:
The 50-60 dPins and 12 Apins of a Due (like on a mega) plus 2x i2c + 4x UART plus the RAM and the cpu power are of invaluable advantage.
How does 40 digital pins (20 of them with analog), plus a dozen more on a connector, with 6 UART, 4 I2C, 3 SPI, 2 DAC, 2 USB (one 480 Mbit/sec) sound to you? How about running at 180 MHz with FPU?