# Arduino-like system-on-chip?

Arduino is a microcontroller, so it won't help if you need complex tasks potentially involving standard hardware, like reading from an sd-card, or accessing ethernet/wifi. Is there a system-on-chip with the same amount of openness/documentation available ?

• Arduino is a development board. AVR is a microcontroller. Nov 8 '10 at 6:59
• @Nick : what's the difference ? Sorry, I'm a newb ;) Nov 8 '10 at 8:29
• Borini, the AVR is the biggest black chip with the most pins, on your Arduino. Or to use a bad car analogy, Arduino is a car, with an AVR engine from the Atmel company. Nov 8 '10 at 13:00
• Many hardware options : [products for .NET Micro Framework ](helloapps.com/MF/HW) Nov 9 '10 at 11:24

Well, an Ardunio can access ethernet and can read from an SD card.

That being said check out the BeagleBoard for a more powerful development board. The current version doesn't have ethernet on board but works fine with several USB ethernet/wifi adapters, the new beagleboard-xM has ethernet on board. They are both cortex-A8 based boards, with the xM being a bit faster and having more ram (600mhz vs 1ghz and 256MB vs 512MB). Theres are also some other differences. Both run linux among other operating system choices.

• Two questions: 1) arduino can access sd cards, but I guess there's no filesystem support, am I right? 2) How does BeagleBoard compare with another similar object, Gumstix ? gumstix.com Nov 7 '10 at 18:08
• i don't use ardunios but a quick google turned up a FAT16/32 library: code.google.com/p/sdfatlib
– Mark
Nov 7 '10 at 18:15
• as for the gumstix, the overo series uses the same SoC that the beagleboard does, the OMAP 3530. If the beagleboard has all the peripherals you need i'd go that way (its cheaper), if there is some peripheral you need thats only on one of the gumstix expansions boards, that may be the way to go.
– Mark
Nov 7 '10 at 18:17
• @Stefano - "Filesystem support" is a very high level concept. You can interface with filesystems using nearly any microcontroller with enough memory to contain a library (Like Mark's link), but it lacks two key features which you'll want for heavy filesystem stuff: Direct Media Access[DMA] and a Memory Management Unit[MMU]. You can't point execution at a file on your SD card and have the AVR run it without first copying it into RAM on the AVR, but on a micro with DMA and an MMU you can tell it how to fetch the next instruction. Nov 8 '10 at 16:06
• I think ya mean low level :)
– Mark
Nov 8 '10 at 20:10

Arduino is not a microcontroller. Arduino is a piece of hardware which contains a microcontroller, which happens to be an Atmega328 (I believe - not very experienced in Arduino's). They use a simplified language to make it easy for beginners to get into it.

But that doesn't mean you can't read from a SD card. A SD card just has a SPI interface, so not much truoble there if you get it hooked up correctly and find/write a library for it. There are also ethernet and bluetooth modules/editions available for Arduino.

Althuogh shields are available, I think you're going to discover that such small proccesors lack any power for such operatings. Especially when computing >8 bit data it becomes tedious. Beagleboard is a much more expanded board with a very different architecture, and I think something that integrates into hardware it self less easily. The arduino is so simple that it doesn't take that much work to transfer the programmed code into a 'real' embedded environment.

• Actually the "simplified language" is just C++ with yet another preprocessing step and some extra libraries (known as libWiring.a). Mar 13 '11 at 16:34

Most microcontrollers are as open as the AVR. Granted Atmel does a better job than other companies, that doesnt make the others closed, their documents are just not done as well. As far as that goes you can go with any of the Atmel ARM series and stick with atmel. The sam7 series for example. Olimex sells a nice little header board (sparkfun.com). Also look for the armmite pro while at sparkfun. It is arduino like but arm based. ARM based, microchip pic, mips, ti msp430, 8051, avr, etc. All offer similar levels of open documentation. ARM and the 8051 you are going to find a wider selection of in the sense that many vendors use these cores. (mips is open but not really found in this market other than the pic32) The pic, msp430, avr are locked to one vendor. If you want to try boards with sd, ethernet, usb, etc on board you can look at the ti stellaris eval boards, in the $50 to$100 range.

• "Most microcontrollers are as open as the AVR"--which is to say "not at all". While they have good documentation, that's not what's usually meant when people say "open" nowadays. :P Nov 8 '10 at 7:00
• +1 for the Stellaris kits. Here's a link to their page. Nov 8 '10 at 15:59

If you need more power, but want to save your investment in Arduino shields, then take a look at the FEZ Domino. (Edit: now deprecated, but there are lots of alternatives that also implement the .NET micro framework.

It is an affordable ARM board with the .NET Micro Framework, programmable in C# with Visual Studio Express and compatible with Arduino shields. There is even a simpler and cheaper version called FEZ Mini, but it doesn't take Arduino shields from the box.

Beware that .NET Micro Framework keeps developer a little away from the bare metal and abstracts it sometimes too much. You will hardly have real time analysis and generation of composite TV signal with that like you can have with just AVR, but after all that is not what it's made for.

Btw. There are plenty of Arduino shields for SD and Ethernet/Wifi. Just google around.