Development and prototype boards are computer boards that are used to develop or test electronic modules. These are used to evaluate programs for embedded devices such as controllers, point-of-sale (PoS) terminals, kiosks and information appliances.
Development boards combine a processor, chipset, memory and onboard peripherals with debugging features. Specifications for development boards include bus type, processor type, form factor, number of ports, port type, memory and operating system.
Factors to keep in mind
There are a number of conventional benchmarking factors that we all use in sorting through alternatives. These include capabilities of the target controller (speed, power consumption and on-chip peripherals), available features (memory being the major consideration along with supported communication protocols), onboard peripherals and technical support (compiler tool chain and sample applications) from the vendor.
There are a number of other considerations that should drive us while looking at development boards. Described below are a few of these:
Open design. Take any popular development board that has been registering an active user community, timely enhancements and hundreds of developers working towards porting new applications to the board. Openness in a design has got more to do with the mental satisfaction of the buyer.
One such path-breaking philosophy surrounds Arduino’s business model, which goes like this: “It does not matter anymore whether your product is open source, someone in another country is going to open it up and reverse-engineer it anyway.”
So how does one sustain in this volatility? “Basically, what we have is the brand,” says Tom Igoe, an associate professor at Interactive Telecommunications Program at New York University, USA.
Looks. Steve Jobs once said, “I do not need engineers. I need artists.” What is a product that is low on looks, usability and visual appeal? Sophisticated looks and smart finishing contribute to mass appeal even for a product meant for a technical audience.
Clarity on user segment/intended apps. Very often than not, it is noticed that people stuff development boards with anything and everything since it is not too clear what the hardware is meant to do and what sort of audience does it cater to. This is a direct contributor to the fact that most companies are unable to come up with cost-effective hardware. Moreover, we are often unaware of the real computational capabilities of the board.
Avoiding premature optimisation. Optimisation is something that you should keep back for the end product. It is very common for the project scope to be refined or redefined at every stage of your project. Due to client demand for more flexibility in the product we have to keep a lot of related options open while freezing the development board instead of trying to optimise prematurely.
MCU based development boards
Some development boards are general microcontroller (MCU) specific and are available from semiconductor manufacturers. These boards include Arduino boards, STM32-Discovery kits, TI Launchpad (MSP-EXP430G2), Xplained boards from Atmel and others. Additionally, some economically-available boards are designed by local companies.
Today, single-board computers (SBCs) can be grouped into two main categories: proprietary and open source.
Proprietary SBCs are generally designed for use in end applications or as a reference to be evaluated. These are often industrialised designs that have gone through the same type of testing that an end product requires and are often integrated into end product designs.
Open source SBCs, on the other hand, offer users access to both the hardware design and layout as well as access to the source code used on the board. This is ideal for all users as they can easily understand how the software and hardware operates and adopt the design to meet their end designs requirements or simply learn how a piece of hardware or software works.
Current SBCs come with a wide variety of processor types, most with GPUs onboard. These processors range from X86 based processors from the traditional PC space (AMD and Intel) to ARM processors that have traditionally been used in the industry and more recently mobile spaces.
The most prevalent form of software used on SBCs is Linux with numerous derivations including Android, Ubuntu, Fedora, Debian and Arch Linux, as well as FreeBSD and Windows CE.
Programming/debugging tools are also often free and open source, such as those based on Eclipse IDE. Other tools that are tailored to a specific processor often used by professionals include ARMs DS-5 or vendor-specific tools such as Freescale’s CodeWarrior or Texas Instruments’ Code Composer Studio.
While SBCs can be used for most purposes, many have originally been designed for a specific purpose or application. A perfect example of this is Raspberry Pi, which was developed as an educational tool to help encourage and strengthen students’ programming skills.
BeagleBoard and BeagleBone were also developed to help educate and promote the benefits and usage of open source hardware and software in embedded computing.
Atmel’s SAMA5D3 Xplained has been designed for rapid prototyping development, and RIoTboard focuses on Android development to enable the development of the Internet of Things (IoT).
Other well-known boards include PandaBoard, OlinuXino as well as a whole host of Allwinner ARM system on chip (SoC) based SBCs.
The long-term success of an SBC relies heavily on the performance-price ratio. The best performance-cost ratio comes from ODROID-U2, ODROID-X2, Raspberry Pi model B+, UG802, MK802, Cubieboard, VIA APC and HAckberry Board. The best RAM-cost ratio can be found in ODROID-U2, Hackberry Board and Raspberry Pi model B+.
Although hardware and software designs are freely available
The future of development boards
Many of today’s SBCs have the capability of modern-day PCs and tablets. This trend will continue as more powerful processors make their way into the embedded computing market as ever-increasing performance-price ratios rise, as well as additional manufacturers enter into this wild-west frontier of supporting open source hardware and software for both DIYers and professionals alike.
An additional trend we will continue to see is the availability of more accessories or add-on boards to be added to current SBC platforms, giving users more options to control and have access to the outside world.
Professional engineers, on the other hand, can take these accessories and quickly add additional functionalities to their SBCs to develop working prototypes for currently on-hand projects.
System on module (SoM)/computer on module (CoM). This is a more appropriate choice for building embedded products. It is a complete embedded computer built on a single circuit board. With Moore’s Law in action, microprocessors and memories have moved to smaller process nodes within two years, which is less than the expected standard product life time.
Customers’ demands, which include advanced performance, low power consumption and compact machines, necessitate frequent design updates to the embedded platform. These design updates add to the development cost. By using pin-compatible SoMs for embedded development, we can escape from this deficiency.
Pin-compatible modules from Toradex enable plug-and-play for scaling-up platforms based on future technologies and market requirements. New modules can be easily connected to existing carrier boards; the application software may need some minor updates.
Biswajit Das is manager-R&D, EFY Labs