I am developing a graphics app that requires a lot more ram then can be found on the average Arduino IDE compatible SBC! (FYI - the ram is mainly for number crunching).
Any recommendations for an Arduino IDE compatible SBC with lots of ram (1G)? Preferably an Atmel or well behaved processor in the Arduino IDE environment.
Reefhermit:
Any recommendations for an Arduino IDE compatible SBC with lots of ram (1G)? Preferably an Atmel or well behaved processor in the Arduino IDE environment.
In Arduino world, 1GB is a huge amount of RAM.
For that much RAM you really need a 32 bit processor, and one with an external bus interface. That rules out every average Arduino.
The Due which may be considered a "high-end" Arduino has only 96KB of RAM. The upcoming Otto will have 16MB of external RAM. I think that will make the record for most RAM of any Arduino compatible system.
To get to 1GB you will probably need DDR, and a processor that has a DDR interface. Any module like that will most likely be running Linux.
I think a Raspberry Pi would be a better place to start.
Thank you for your replies. I would prefer to stay with a microcontroller. It's a competence problem for me (I don't have the training or expertise to deal with more complex IDE's or operating systems) I tried using the raspberrypi , the Upboard and Odroid. Reading sensors with those boards in the Linux system seem to create more problems than the effort is worth.
The 1GB requirement was probably a bit exaggerated on my part owing to the fact that I did use those above named boards for several months. I have been working lately with the Teensy 3.6. The DMA graphics for screen display is Awesome ( 1ms screen refresh for a 240x 320 display) and working very well. But the 256KB ram falls considerably short for my number crunching requirements.
The Otto 16 MB RAM sounds like it may work. Hoping it is under the Arduino IDE. Going to do a Google search now for more information.
Look for ARM M3 and M4 with external memory interface. Google "stm32 external ram" to start with... But it's very unlikely you will find something to easily use with the Arduino IDE.
More info about Otto at Arduino - Home, it should be fully supported in Arduino IDE. Rumor on the street is that it might be on sale end of this month [April 2017], but things can always get delayed. I have no word on price. It's quite a beast, so could be pretty interesting.
While most MCUs have < 1MB of RAM, there is an interesting chip from Renesas which has up to 10 MB RAM on board, it's also a Cortex A9 running at 400MHz! I mention it because it is supported in mBed, and there is a board available GR-PEACH | Mbed for $120 - not really cheap.
Another board supported in mBed and similar performance to Otto is DISCO-F469NI | Mbed, interesting because it is include an LCD, also has 16MB RAM, is not too expensive, but also uses exact same chip as the Otto, so it might be easy to support in Arduino IDE.
...
While most MCUs have < 1MB of RAM, there is an interesting chip from Renesas which has up to 10 MB RAM on board, it's also a Cortex A9 running at 400MHz! I mention it because it is supported in mBed, and there is a board available GR-PEACH | Mbed for $120 - not really cheap.
Another board supported in mBed and similar performance to Otto is DISCO-F469NI | Mbed, interesting because it is include an LCD, also has 16MB RAM, is not too expensive, but also uses exact same chip as the Otto, so it might be easy to support in Arduino IDE.
These boards sound exciting. Would a typical Arduino user enjoy learning to use the mBed environment?
Reefhermit:
Thank you for your replies. I would prefer to stay with a microcontroller. It's a competence problem for me (I don't have the training or expertise to deal with more complex IDE's or operating systems) I tried using the raspberrypi , the Upboard and Odroid. Reading sensors with those boards in the Linux system seem to create more problems than the effort is worth.
Have you considered using an RPi for the graphics coupled with an Arduino for the interface with the sensors?
ChrisTenone:
These boards sound exciting. Would a typical Arduino user enjoy learning to use the mBed environment?
That's a good question. I think for an experienced Arduino user it is certainly worth a try, an mBed board can be had for about $10 e,g, NUCLEO-F302R8. The compiler is free and online (registration required), and is quite easy to use.
For an opportunity to learn, it is a great bridge between Arduino and a really bare metal environment like Eclipse + JTAG debugger. There's a big range of boards, and many have Arduino style headers, although most board are 3.3V so will not work with all shields. It has many manufacturers on board, and continues to grow.
If one just wants a "faster Arduino" which is otherwise just like Arduino, it will probably be frustrating. None of the familiar Arduino code will run without changes in mBed. The processors are generally ARM and not AVR, so all the AVR specific stuff like registers, don't exist. There also a lot less help and support about, so it requires more self-study, and there are often issues which require more technical knowledge to resolve.
However, with a cheap mBed board, you should be able to get a blinky running in a few minutes. In theory, the principles learned with Arduino should carry over. It is a question of re-learning how to do things with the mBed API, which is a bit different.
Thanks Bob! I will investigate using this for the Fall semester. They use Arduino now, but I get requests for more iot-ish things all the time, like cloud and graphic interfacing.
Just an FYI . . . I tried the STM F7 mentioned above. Coming from several years on Arduino, the mbed experience was a nightmare for me. No support and cutting to the chase . . . Everything Bob says in paragraph 3 above is true!
promacjoe2:
Compatible with many of the Arduino boards, and it is software compatible as well.
What exactly does "software compatible" mean? I guess that means sketches that use standard libraries, unless their software emulates an AVR.
The pcDuino boards seem more like Raspberry Pi, some Linux knowledge is required. It didn't look really usable by a typical Arduino users, and the information available is quite patchy.
I don't want to raise hopes, this is a long shot, but there is some interesting stuff coming out of China these days. Like this $6 module LicheePi Zero:$6 extensible linux module on finger | Indiegogo These things are designed to run Linux, but in principle it is possible to replace the Linux bootloader with user code, and then it effectively becomes a super-Arduino.
The CPU is 1GHz with 64MB RAM on board, and at the price point blows everything else out the water. The bare chip can be bought for a few dollars on Aliexpress, and is in a package which makes it usable without needing BGA level production. Now, can I find a datasheet for it...
Jiggy-Ninja: This it? It's actually 512 MB of DDR2 RAM, not 64.
Yes, looks like datasheets from Allwinner are getting out into the wild
Depends on what the "B" stands for. "b" is often bit, and "B" is often byte (since bytes are bigger than bits), but case is easily mixed up. I normally use "B" for byte (since that is more useful to me as a programmer) and "bit" when I mean bits..
But anyway, the V3S actually has 512 Mbits = 64 Mbytes