When Arduino Uno is not enough, the next step is...???

2KB RAM on the Arduino Uno is a very limiting factor for “complex” programs. My question is: If I use the Arduino as a means of entertainment (I’m not trying to create a real project) and self learning C++/peripherials/communication/etc - what is better as the next step? Buying of 8-bit Arduino Mega 32KB of ROM and 8KB of RAM or 32-bit Arduino DUE with 512KB of ROM and 96KB of RAM? Price is the same for both, DUE offers more space, but I’m not a fan of Microsoft .NET and I have no desire to learn it. I’m fully satisfied with Arduino IDE*), therefore I do not see DUE as a clear choice.

Thank you in advance for your opinions.

*) When I started Arduino IDE for the first time, I was able to program it immediately due to the large number of different examples. Offers .NET a similarly rich sources of knowledge?

The DUE doe's use the Arduino IDE (the 1.5.x version) which works very well.

Mark

which is it
a) not enough program space (flash memory)
b) not enough variable storage (RAM)

if it's b) add an SD card, eeprom, ...

Teensy 3.0 might be another option. Very reasonable price, too. I'm look forward to thinking up a project that would justify using one!

for example: atmega1284p - 128kB flash, 16kB ram, supported with IDE.

2KB RAM on the Arduino Uno is a very limiting factor for "complex" programs.

So, have you actually had issues, or suspect you may? If you have not become familiar with memory optimization, have a quick read here: PROGMEM - Arduino Reference

You may find that you have ample RAM for most fun projects. If you just are wanting new toys and need a compelling reason, then "limited RAM" will work for several jumps :smiley:

Ray

K5CZ:
(I'm not trying to create a real project) and self learning C++/peripherials/communication/etc - what is better as the next step? Buying of 8-bit Arduino Mega 32KB of ROM and 8KB of RAM

Since the 328 and 2560 have the same instruction sets, all you'd teach yourself by going to the 2560 is how to be less efficient with your code.

K5CZ:
DUE offers more space, but I'm not a fan of Microsoft .NET and I have no desire to learn it.

Okay that's nice to know your feelings about .NET. I fail to see what it has to do with the Due.

K5CZ:
Buying of 8-bit Arduino Mega 32KB of ROM and 8KB of RAM or 32-bit Arduino DUE with 512KB of ROM and 96KB of RAM? Price is the same for both, DUE offers more space, but I’m not a fan of Microsoft .NET and I have no desire to learn it. I’m fully satisfied with Arduino IDE*), therefore I do not see DUE as a clear choice.

The thing to remember about the DUE is that it has not been “in the wild” very long; there isn’t a very large user base around it, so finding examples and help may not be as readily available as with the Mega. Also, the DUE is a 3.3 volt device - so anything needing 5 volts (many, possibly most, shields) will either not work, or will require level translation, which while fairly easy to do, may require many modifications, depending on the number of pins needed.

I am not sure where the .NET line comes in; the DUE is supported by the current Arduino IDE, so that shouldn’t be an issue…?

One last thing - when it comes to the Mega (1284 or 2560) and the DUE - the microcontrollers used on those boards only come in SMT packages; if that is a concern (either you are not comfortable or have the tools needed to solder such packages - in the case you wanted to make a “standalone” implementation of a project), or you need a DIP component for your project - have you considered an ATMega644 based board/controller (ie - Arduino Sanguino)? It’s an often overlooked “intermediate” step between the Uno and the Mega that offers a larger amount of memory and flash (though not as much as Mega), while still being available in a DIP IC package.

Lets get the facts straight:
164/324/644/1284P are all available in 40 pin DIP (as well as SMD). 1280/2560 and 1281/2561 are SMD only.
1284P has 16K SRAM, twice that of the Mega.
You can buy a board, or make one up easily, with the 40 pin DIP parts (I just mailed out 3 boards today even)
http://www.crossroadsfencing.com/BobuinoRev17/

Or u can try make yourself a SANGUINO cip on it is ATMEGA644

Processor atmega644P atmega168
GPIO Pins 32 20
Analog Pins 8 6
PWM Pins 6 6
Flash Memory 64K 16K
RAM 4096 bytes 1024 bytes
EEPROM 2048 bytes 512 bytes
External Interrupts 3 2
JTAG yes no
I2C yes yes
SPI yes yes
USARTs 2 1
Onboard USB<->Serial Converter? no yes

that was my decision for more go to http://sanguino.cc/start

Thank you for your opinions. I will think about.

For my money, the DUE is the obvious choice. You needn't worry about memory or speed issues and as correctly pointed out, the cost is a wash. I went with the DUE for the ADC resolution, number of channels and DAC inclusion. The only thing it doesn't have is EEPROM which I'm sure there's a workaround. You also get nine timers. As for support, there is a separate DUE section on this forum. My only issue with some of the libraries is they were written by experienced programmers and are not often easy to follow for a newbie if you want to change something. For example, the chip has 16 ADC channels and they can be either 16 single-ended or 8 differential. How to set up something like that is not included in the library. -- Rob