The Complete Magazine on Open Source

Best development boards to suit your embedded project

ATMEL STK500 board

There are different choices of development boards available, whether you want to use an operating system (OS) or work on a pure embedded project. You would require a single-board computer (SBC) with enough random-access memory (RAM) and a fast central processing unit (CPU) to be able to run an OS like Linux. On the other hand, you could go for a microcontroller-based board with lots of interfaces if you are not using an OS.

Here is a look at some of the options you have.

Raspberry Pi

The Raspberry Pi is an ultra-cheap complete computer that can run Linux, Fedora, OpenELEC and Arch Linux. Developed by the Raspberry Pi Foundation to get the youth try their hand at engineering, it is a credit-card sized, bare-bones PC to which you can connect a TV, keyboard and mouse. On it, you can surf the Web, play Full-HD movies and do almost anything you could do on a normal PC—provided you have the patience to make it work.

The first-generation Raspberry Pi hardware consists of a 700MHz ARM11 CPU supported by a Broadcom VideoCore IV GPU. This SBC has a total of 256MB SD RAM, which it generously shares with the GPU. The board is powered by a 5V microUSB or GPIO header and consumes between 500 mA (2.5W) and 700 mA (3.5W) depending on the model. The system-on-chip (SoC) that hosts the CPU, GPU, DSP and SD RAM is from Broadcom (BCM2835).

Another thing to note about the Raspberry Pi is that it does not come with a real-time clock. So an OS must use a network time server or ask the user for time information at boot time to get access to time and date information for file time and date stamping. However, a real-time clock (such as the DS1307) with battery backup can be easily added via the I2C interface.


Arduino is one of the most popular microcontroller-based boards used in robotics. Just like there are two models of the Raspberry Pi, Arduino has a large number of models that are differentiated based on the size, power consumption and processing capabilities. However, all Arduino boards use the ATMEGA AVR series microcontrollers from ATMEL, which feature both analogue and digital pins. Another common feature is the software. An Open Source, ‘C’-based software, called Arduino, can be used to program any Arduino board. Users are free to use any other software to program the microcontrollers.

STMicroelectronics’ STM32L Discovery board
STMicroelectronics’ STM32L Discovery board

The smaller Arduino boards are part of the series of Arduinos that are mountable on a breadboard. The smallest is the Arduino Mini Light, which is based on ATmega168 running at 16 MHz. Then comes the Arduino Pro Mini, which is available with both 8MHz and 16MHz clock speeds. Lower clock speed allows this version to run on 3.3V instead of 5V. All the Arduino Mini series boards have 512 kB of EEPROM and 1 kB of SRAM.

Next up is the Arduino Nano, which can be directly mounted on a breadboard. This board runs on the ATmega328 microcontroller and has a whole kilobyte of EEPROM and twice as much SRAM. Flash memory is 32 kB. In addition, the Nano version has the USB to serial chip and connector onboard.

The mainstream Arduino boards consist of the Arduino Mega and the highly popular Arduino Duemilanove. The Arduino Mega runs on the ATmega1280 microcontroller and offers a lot more digital and analogue pins. A 4kB EEPROM, 8kB SRAM and 128 kB of flash memory make this Arduino capable of handling bigger program sizes.

You can pick your favourite development board from

This article was first published in