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.
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 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. It is available from EFY associates Kits’n’Spares for Rs. 997. If you are buying in bulk, it could cost you as low as Rs. 615.
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.
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. It was voted as the second most popular developer board by the EFY Electronics Design Community on Facebook.
All Arduino boards are available from Kits’n’Spares and element14.
The BeagleBoard is yet another fan-less, Open Source hardware single-board computer. It’s produced by Texas Instruments (TI) and Digi-Key, and uses the ARM Cortex A8 processor clocked at 600 MHz. The board is just 7.6×7.6 cm2 (3×3 inch2) in size and comes coloured in what I like to call as the TI Red. It can run Linux, Risc OS, Symbian, Nokia’s Maemo OS and Android. The board also supports OpenGL ES 2.0 through its PowerVR SGX530 GPU.
The BeagleBoard comes in BeagleBoard-xM and BeagleBone versions. Up to four expansion boards, called capes, can be added to the BeagleBoard. Other expansion boards include the BeagleJuice—a Li-ion battery pack.
The BeagleBone is a stripped-down version of the BeagleBoard. It is amazingly compact at 8.6×5.3 cm2 (3.4×2.1 inch2) and sold online for Rs. 6560. On the other hand, the BeagleBoard XM is available for Rs. 10,920.
STMicroelectronics’ STM32 Discovery
This board from the STMicroelectronics stable is yet another inexpensive development board that runs on ARM Cortex-M3 prototyping platform. The STM32 Discovery line comes in STM32L and STM32VL versions.
The STM32L Discovery is an ultra-low-power discovery board based on the STM32L core [STM32L1xxx] and includes an ST-Link/V2 embedded debugging tool interface, an LCD (24 segments, four commons), LEDs, pushbuttons and a linear touch sensor. Non-intrusive debug is possible with the in-circuit debugger available on STM32 Value Line Discovery. The kit can also be used as an ST-link for your own board.
The board’s power supply can be either through the USB bus or an external 3.3V or 5V supply. The STM32 is also said to be one of the lowest power-consuming, 32-bit, 72MHz computer in the market today. It costs around Rs. 940 in India.
If you are new to STM32 Discovery boards, you can check out numerous examples based on this board at www.st.com/stm32-discovery.
The STM32VL Value Line board is priced at ` 865 in India. Unlike the Discovery kit, it is based on the STM32F core (STM32F1xxx). The STM32L is meant for ultra-low-power devices and hence uses a different core.
Keep in mind that the STM32L and STM32VL are different families of boards. These are not as compatible as their almost similar names suggest. Debugging is different for both these boards.
TI MSP430 Launchpad
Unveiled in 2010, this board is a development platform for Texas Instruments’ MSP430 line of low-cost microcontrollers. It is a mixed-signal integrated circuit based development board that costs just Rs. 393. The kit features built-in flash emulation for debugging and programming and a 14- or 20-pin dual-in-line package (DIP) socket. It also comes with ten general-purpose input-output (GPIO) pins. GPIO pins are generic pins. Their behaviour can be controlled through software.
“The USP for the MSP430 is ultra-low power consumption (TI’s online document shows that at 0.1 per cent active, an MSP430 can last for over 20 years on a 200mAh coin cell). It is used as an ultra-low-power MCU in niche devices such as blood group meters, general metering, home automation and wireless smoke detectors. We do have success with other architectures as well, but 70 per cent of our success can be attributed to the MSP430. That’s why we have also launched the low-cost Launchpad based on the MSP430, which sells for $4.30. It has all the debug capabilities and one can do all the prototyping on the Launchpad itself,” says Shailesh Thakurdesai, general manager-business development, Texas Instruments.
Each Launchpad board comes bundled with some extras. In addition to the onboard 32.768kHz clock crystal, you get half-a-metre USB cable, two-pin headers and two-pin sockets for the pin breakout pads, two different MSP430s (MSP430G2553 and MSP430G2452), and two free integrated development environments (Code Composer Studio 4 and IAR Embedded Workbench Kickstart). Note that the IAR Embedded Workbench Kickstart has a 4k or 8k code limitation depending on the processor used. The Launchpad board also works with any programming tool that supports the two-wire Spy-bi-Wire interface.
MSP430G2553. It’s a low-power, 16-bit MSP430 microcontroller with an 8-channel, 10-bit analogue-to-digital converter (ADC), on-chip comparator, touch-sense-enabled inputs/outputs (I/Os), universal serial communication interface, 16kB flash memory and 512 bytes of RAM (preloaded with a sample program).
MSP430G2452. This too is a low-power, 16-bit MSP430 microcontroller with an 8-channel, 10-bit ADC, on-chip comparator, touch-sense-enabled I/Os and universal serial interface but it has an 8kB flash memory and 256 bytes of SRAM.
Microchip’s chipKIT Uno32
The chipKIT platform from Microchip is a PIC32-based developer board that is natively compatible with the Arduino programming language and development environment. This board uses a modified version of the Arduino integrated development environment and existing Arduino resources like code examples, libraries, references and tutorials.
“Microchip’s foundation started with the hobbyist community and we are also well entrenched in the academic community worldwide. We were constantly receiving multiple requests and inquiries for a PIC MCU-based Arduino solution. So we decided to act on the voices we were hearing from these two groups and launched the PIC32-based chipKIT platform,” said Cheri Keller, senior design partner program manager, Microchip Technology Inc.
These chipKIT boards are clocked at 80 MHz, and provide 512kB Flash and 128kB RAM. The boards feature connectivity peripherals, including Ethernet, CAN and USB (full-speed host, device and OTG), plus peripherals such as multiple timers, a 16-channel 1MSPS ADC, two comparators, and multiple I2C, SPI and UART interfaces. In addition, the chipKIT platform features the MIPS32 M4K core from MIPS Technologies.
The chipKIT Uno32 development board costs just Rs. 2300 in India, compared to Rs. 2500 for the Arduino Uno on which it is based.
This kit is shipped with an Atmel microcontroller in the socket marked SCKT3000D3. The default jumper settings allow the microcontroller to execute from the clock source and voltage regulator on the STK500 itself. However, the starter kit can be programmed for various clock and power sources.
The STK500 can be controlled from the AVR Studio (v3.2 or higher). AVR Studio is an integrated development environment for developing and debugging AVR applications. It also provides a project management tool, source file editor, simulator, in-circuit emulator interface and programming interface for the board.
There also exists another model, the STK600. It has routing cards, but is far more expensive (at Rs. 17,330) than the STK500. The STK500 is available from element14 for around Rs. 7230. It was voted as the most popular developer board by the EFY Electronics Design Community on Facebook.
Freescale’s i.MX53 Quick Start board
Freescale offers the Quick Start board targeting such applications as human-machine interface in embedded consumer, industrial and medical markets. The board comes integrated with the ARM Cortex-A8 processor and Freescale’s own MC34708 PMIC. It also includes a display controller, hardware-accelerated graphics, 1080p video decode, 720p video encode as well as some connectivity options. With Cortex-A8 clocked at 1 GHz and a full gigabyte of DDR3 memory, this board is built to perform.
The i.MX53 Quick Start board comes pre-installed with Linux OS. Android and Windows Embedded Compact 7 board support packages are also available through third parties. In addition to optimised board support packages, Freescale provides a large portfolio of optimised video, speech and audio codecs. Also included is a VMware player image running ready-to-go Linux. This allows those with a Windows PC to bypass the typical setup of a standard Linux-based development system.
The author is a tech correspondent at EFY