Check out the new project site for Light Attack (IR Paintball)

Thursday, September 22, 2011

Exciting new embedded devices for developers (Raspberry Pi and Arduino Due)

The imminent release of two new hardware products are worth getting excited about.

Raspberry Pi

The first is the Raspberry Pi. It comes in two flavours:

The Model A

 The Model B

The best way to describe it is as a $25 (Model B is $35) equivalent of the first BeagleBoard in a smaller form factor hence fewer ports.  It is slated to be available in November 2011. (Note for the Australian and New Zealand audience: It is very likely I will be selling these locally to help avoid shipping costs from the UK. Stay tuned)

Whilst it has many differences with the BeagleBoard I feel it will serve the same type of applications.

The CPU is the Broadcom BCM2835 which is an ARM11 running at 700Mhz with 128MB RAM (Model B has 256MB). The Model B will have an Ethernet port.

There are rumours of a 512MB version down the track when 32nm is contemplated.

The boards have 16 GPIOs at 3.3V and separate TWI (I2C) bus connections. There are no built in ADC ports though.

The CPU has a graphics core built in and can handle Open GL ES 2.0.

Link to Raspberry Pi running Quake 3

It is aimed at the education market but anyone will be able to buy them and the not for profit foundation behind this hardware is committed to open source.  The foundation members have even promised a version that will boot straight into Basic just like the Commodore 64 or TRS80. They wish to promote a hacker culture for the device as well as recreate some of the fun users had with 8bit PCs in the 80s.

At $25 each I expect to see many and varied projects with this hardware.

32-bit Arduino

Yes you read that correctly and no, today is not 1 April.

Announced this week is the Arduino Due which is based on the Atmel SAM3U4E ARM processor.

The official blog post announcement

The official Atmel site for this microprocessor states:

The Atmel® SAM3U is the industry’s first ARM® Cortex™ M3 Flash microcontroller with on-chip high speed USB Device-and-Transceiver, SDIO/SDCard/MMC and SPI interfaces. This connectivity, together with the SAM3U’s 96 MHz/1.25 DMIPS/MHz operating frequency, makes the SAM3U the unique Cortex M3 device suited to applications with intensive communications requirements, such high speed gateways in industrial, medical, data processing and consumer applications. For rapid evaluation and code development, industry-leading third parties provide a full range of dev tools, RTOS, middleware and support services to reduce time-to-market to a minimum.

Link to Atmel site

The reason you should be excited is because the Arduino eco-system, including its user friendly IDE will now have a 32-bit member running at 96Mhz, with 256Kb or flash storage, 50Kb of SRAM, 16 ADCs (8 at 10-bit resolution, 8 at 12-bit resolution).

Having both AVR and ARM options will allow a lot more flexibility to developers.  Arduino is doing something amazing here for developers, unifying the development experience across two very different architectures.

Not only does this board open up new possible projects but also means if you hit the limit of the current 8-bit AVR based boards you have an expansion path available without developing completely from scratch. This is a lot of power being put into the hands of novices and professionals alike.

Full details of the microprocessor

The official cost of the Arduino Due boards is unknown but the good news is that the microprocessor costs about $10.50 in quantities greater than 100.  Hopefully this means eventually clones that will cost a similar amount to today's Arduino boards.


Why use one over the other?  Well the Raspberry Pi is a full PC, running a complete Linux Operating System so the developer does not have access to the very lowest levels of the hardware.

The strength of the Raspberry Pi will be in embedding a full PC in applications.  This means a small project can run a full Apache Webserver, output 1080p video, ping NTP time sources to keep accurate time.

What it will not be good at is taking in analog input from sensors directly. Absolute real time applications (ie applications where response times need to be in the microseconds not milliseconds).

The Arduino Due on the other hand, just like current Arduinos only runs a boot loader and not an Operating System. Therefore when you load your code, that is the only code running on the microprocessor. This means it will be able to deal with real time requirements better with its 96Mhz than the Raspberry Pi's 700Mhz.

Of course the Arduino Due will not be able to display video easily or run a full Ethernet stack on its own (there are shields for that though).

The Arduino Due will be the appropriate choice for projects that interact with Hard drives (50 Kb of RAM is more than enough for reading and writing to a FAT filesytem), controlling robots (real time response requirements) and doing tasks such as sound recording, and maybe even image signal generation.  The Arduino Due should also consume less power than the Raspberry Pi.

Each board is very different and serves a different purpose but the audience for both overlaps.


CumQuaT said...

I so badly want like 4 raspberry pis...

Dingo_aus said...

Comment from Raspberry Pi about availability:

The first batch of Raspis will be 10,000. We expect very high demand at first, so we’ll probably be limiting how you can buy them for the first two weeks, while we ramp up production, by only selling to those who are prepared to buy one and donate the cost of another to the charity. I should emphasise that this will only be the case for two weeks – by then production should have caught up.

One of many very nice things about the boards is that they are relatively simple, so cheap and quick to manufacture.