Built around a microcontroller (MCU) or a microprocessor (MPU), a development board allows a learner to get the correct design, along with the required speed and convenience to create an easy, interesting and foolproof project. The idea behind the creation of a development board was to make the task of a product designer easy. However, over time, this trend has changed. Now development boards are being widely used by hobbyists, young engineers and other learners.
For an amateur or a young engineer who has just started building projects, assembling a bunch of small components on a single hardware in a particular design so as to create a working project is a very tough job. A single mistake in designing the basic board for a project can lead to failure. This is where a development board proves useful. A designer does not have to keep modifying the basic circuit of the project while using a development board. The development board acts as the basic building block, leaving an engineer with time and effort to work on other parts of the project.
Basic uses of a development board
All development boards are used for certain type of work, be it an open source development board or another type that allows modifications in its existing design. Listed below are some uses:
1. To develop the software, benchmark and evaluate the MCU/MPU used. The software is developed to enable the MCU/MPU to work with the different on-board components in order to make the board suitable for the basic operations of any application.
2. To develop the software drivers, prototype and validate them for the new system-on-chip (SoC) intellectual property (IP) blocks, like a video engine or a modem.
3. To test the customised logic blocks, or the system IPs in a field-programmable gate array (FPGA), connected to the core of the MCU/MPU and running at the speed of an application-specific integrated circuit (ASIC).
4. To shorten the development time by providing a ready-to-use platform for firmware development and data collection.
Of course, there are other uses but these depend upon the application a development board is used for.
Open source development board
The development boards licensed under the open source licences allow engineers to add some value to their designs by incorporating them in the existing design, giving some credibility to the creator of the original board. These boards have circuits that can be modified or improvised and rebuilt. They facilitate the involvement of various open source communities with the associated engineers in order to provide their views on every aspect starting from selecting the board to creating a working model.
Working with an open source development board becomes easier with the availability of free drivers and development tools that can be easily downloaded from Internet.
Some popular boards in this category are the i.MX53, BeagleBone Black, Raspberry Pi, Arduino UNO, Gooseberry, Origen, Snowball and Intel Galileo. The list of boards is quite long and additions are made to it every year. These open source development boards provide an open design, size, processing speed and a great price to start with. Other features include the open source software tools that inspire application developers to build third party applications around the projects based on these boards.
Seetharaman Devendran, general manager, MCU, LPRF, sales & marketing, Texas Instruments, says, “The open source development boards like MSP430 are like cupcakes for the student community as these provide the debugging facility at the initial steps. The other development boards that do not have the open source design do not allow any debugging, and this makes it tough to work with those designs.”
We can get a better understanding of these boards by going through their detailed specifications given in Table I.
Recently launched in India by STMicroelectronics, the Nucleo development board features the STM32 MCU family line and allows one to choose the right MCU from amongst the various combinations of power consumption, performance and features. It supports the Arduino connectivity ST Morpho headers that make it easy to expand the functionality of the development platform for Nucleo to choose any specialised shielding. It has an integrated programmer or debugger, and therefore does not need any separate probe for the same. It comes with the STM32 comprehensive HAL library of software and other software examples, along with some online resources.
Tiny development boards
The requirement of compact devices with maximum efficiency and power led to the development of several tiny, Lilliputian-sized development boards. Despite their size, the boards have wireless communication facilities built-in, encouraging the connection of embedded devices and revolutionising the term Internet of Things (IoT). Some of these are described below.
Femtoduino (price: $22). Considered to be the clone of Arduino, Femtoduino is ultra-small (20.7×15.2 mm) and uses Arduino libraries and compiler. It has a computing power similar to Arduino UNO and uses ATMEGA 328p, 0.13-centimetre connectors, 0402 components and weighs only about two grams. It has 0.25-centimetre-sized pins, and thus can be used on a standard breadboard or perfboard.
Intel Edison. Compatible with open source software tools, Edison features Intel’s Atom, a 22nm Silvermont micro-architecture based SoC. It has a dual-core CPU and a single-core MCU with integrated Wi-Fi, Bluetooth low energy (BLE) memory and storage. Edison supports more than 30 industry-standard I/O interfaces via a 70-pin connector. It also supports projects like Arduino, Python, Node.js, Yocto Linux and Worlfram.
Digispark (price: $8.95). A USB development board with Attiny85 microcontroller, it is also similar to the Arduino board, yet is smaller and cheaper. It supports Arduino IDE 1.0 and is compatible with Linux, Windows and MAC operating systems. It has six I/O pins, of which two are reserved for USB only—this is in case the program communicates over USB. It automatically selects the required power from the external source connected via USB.
mbed LPC11U24 (price: $44.95). A low-cost development board with the NXP LPC11U24 MCU, it has been mainly designed for rapid prototyping of low-cost USB devices. But it can also be used for battery-powered applications and 32-bit ARM Cortex-M0-based designs. It has a built-in drag-and-drop Flash programmer with 32kB Flash. It uses a proprietary online compiler that is given access to when the board is purchased. Although this prohibits the need to download and install anything, it encourages the requirement of an active Internet connection to push the codes to the board.
Flora (price: $24.95). Designed to empower wearable projects, Flora is round in shape and has a diameter of 4.45 centimetres. It has a flexible and easy-to-use power supply with a 2A power FET, which is usually not included in wearable options. Flora is fully Arduino compatible, and so, all the Arduino tutorials and libraries are supposed to work on it.
Teensy 3.1 (price: $19.80). An ARM Cortex M4-based development board at such low price is a steal. 18mm × 30.5mm in size, Teensy 3.1 is a complete USB-based MCU board. It allows single push-button programming and works with MAC, Linux and Windows operating systems. It supports a WinAVR C compiler and Teensyduino–an add-on for Arduino IDE. It has about 34 I/O pins suitable for a solder-less breadboard.
USB Bit Whacker (price: $24.95). The USB Bit Whacker is a PIC-processor-based development board featuring the PIC18F2553 MCU. It is 25mm × 40mm in size and has 16 I/O ports. It produces HEX files with almost any compiler. With the transmission and reception ports, it can be used as a USB to UART converter board.
Mini-32 (price: $29). Another PIC-based development board, it features the PIC32MX534F064H MCU and operates on 3.3V power supply. It supports CAN communication and can be used as a DIP40 PIC32 substitute for PIC18 and PIC16 MCUs. It has a USB HID boot-loader, which simply means that no additional software is needed to access the board. The compiled files can be simply dragged and dropped.
Other development boards
There are some development boards that do not allow any modification in the existing design and the codes, and they are sometimes compatible with only a few specific software. These boards have very specific development tools that are available either at a very high price or only through specific manufacturers and distributors. These development resources also have very limited support systems.
Most of these boards are available as packaged evaluation kits that contain the development boards along with the required tools and software. Some of these are:
Tiva C series. It features the Tiva TM4C129x-series ARM Cortex-M4-based MCU. It supports the evaluation version of Keil RealView MCU development kit along with IAR Embedded Workbench development tools and Sourcery CodeBench development tools (for a limited time). It is compatible with Texas Instruments’ Code Composer Studio IDE. Although it has an in-built debugger, it allows one to connect an external debugger through the ARM 20-pin connector, J1.
Kinetis K22 Tower System Module. It features the latest Kinetis K22 32-bit ARM Cortex-M4 MCUs from Freescale and allows USB connectivity with a crystal-less operation. It operates on a stand-alone debugging tool and has an independent battery-operated power supply for real-time clock (RTC). It uses the Kinetic Design Studio IDE along with Freescale MQX real-time operating system for MCU software development along with a Kinetis software development kit.
LPCXpresso. This development board features the LPC11U68 Cortex-M0+ MCU from NXP. When used with Eclipse-based IDE and the low-cost target board with an attached JTAG debugger, it can be used to evaluate all the LPC11E6x devices. This board supports the GNU C/C++ tool chains available both in free and pro versions. Its compatibility with Arduino UNO and peripheral module (PMOD) standards opens up options for its existing peripheral board.
How to select
It can be a daunting task for anyone selecting the right development board from a plethora of options, having so many features and specifications, available in the market. Luckily, there are some pointers that can help narrow down the choices. Here is how you should proceed with your selection:
1. First select the project to be built and the components required for it.
2. Identify the right MCU with the required number of pins, I/O ports, interface and other features, such as live input power, speed, memory, etc.
3. Create a list of the development boards that match the project requirement.
4. Identify the availability of the integrated development environment (IDE) and the development tools required for the listed boards.
5. Check the associated simulators and compilers—some boards do not allow GCC compilation.
6. Identify the right board as per the budget of the project.
Although the steps listed above are not the only parameters needed to make a decision, engineers often find these to be useful while selecting a development board for their projects. The idea behind listing these steps is to narrow down the research and select the right development board at an affordable price.
However, Sani Theo, a team leader at EFY Labs says, “Working every now and then with various types of development boards, I feel that the main criteria to select them is to first understand the requirement of the project and to understand what type of MCU will be essential. Then, the other important factor that comes into picture is our familiarity with the MCU. I consider two MCUs—one from Atmel and the other one from some other manufacturer. If I am familiar with Atmel, my approach will be to select the development board based on Atmel MCU.”
Bhupender Singh, consultant-Embedded System, Multisoft Systems says, “Identifying the main features on the drivers and the availability of free drivers play an important role when it comes to the selection of a development board.” He adds that, currently every manufacturer is tying up with an open source community to come up with an open source development board so that it becomes easy for an engineer to get the associated free software along with free support.
The author is a technical journalist at EFY