It’s summertime and there is no better time of the year. The weather is great, baseball is in full swing, and the summer blockbusters are in the theatres. As a movie buff I can’t help but look at the similarities between taking my family out for the night to escape into the world of tinsel town and the choices facing today’s embedded system designer when selecting their next demo or development platform. Especially when great tools are very inexpensive, more fun to play with, and leave me feeling a lot more satisfied than like I have just wasted two hours of my time and my hard earned money.
Over the last few years, there have been a plethora of sub $100 modular development and demo boards from all different sources and, although the price points are all similar, the user experience, functionality, and flexibility differ immensely. They have wonderfully catchy names like Raspberry Pi, Arduino, BeagleBoard, and Tower. Each of them offer pluses and minuses when trying to meet the challenging needs of today’s designer. Even at under $100, it is worth spending a few cycles up front to make sure your needs are met down the road.
Arguably, one of the most prominent of these platforms is the Raspberry Pi. For only $25 you get a board, a GNU based IDE and a community ready to help you get on your way. It is a good platform that may be all you need if you are creating an automated refrigerator door alarm for your home (since your kids never close the door) but there must be a reason for all the alternatives.
A recent survey of the crowd-sourcing site Kickstarter.com shows that there were 23 live projects looking for funding around the Raspberry Pi platform and were 97 focused around the Arduino platform. That is because if you have hopes of taking your design into production you will want to make sure you not only make it through design but that prototypes and scalability to production are possible as well. The Raspberry Pi uses an ARM1176 based SoC from Broadcom and even though there are still licensees for the ARM11 core most licensees have moved past the classic ARM® architectures to the more modern Cortex™ devices. Even ARM recommends looking at Cortex A5 based devices for newer SoC designs (see “Considering an ARM1176-based design?”). Additionally, all the alternatives to Raspberry Pi have multiple versions to exercise the specific peripheral set of the particular MCU family member they feature. To date, there are only two versions of the Raspberry Pi and the only difference is memory configuration, number of USB ports, Ethernet connectivity, a reset circuit, and a mounting hole. Overall functionality remains pretty consistent between the two Pi platforms.
So what else is out there? This is why there is no better time to be a designer. Companies and communities have spent millions of dollars making sure you can find what you need and support you all the way through production at the lowest cost to entry ever imagined.
Let’s start with Arduino. First created around Atmel’s 8-bit AVR MCUs, Arduino offers a complete easy to use language that can help almost anyone effectively program their tools. Engineers can also use a standard C environment if they so choose and the platform has now been expanded through the family all to way up to Atmel’s 32-bit ARM solutions. Of course there is an entire ecosystem and community to help your design come to fruition. To date, there are more than 50 core boards available from Arduino and 3rd parties and “shields” can expand a good portion of them. Shields are separate add-on modules that combine with a standard Arduino board to expand functionality. Some add wireless capabilities, sensors, LCD displays, Ethernet, GPS, motor controls and so on. Multiple shields can be stacked to create a more elaborate system. The Arduino platform has been so popular that there are some shield compatible boards available from suppliers and 3rd parties for Texas Instruments, Freescale, Microchip, and NXP MCUs as well. As an example, Freescale’s Freedom platform for their ARM Cortex based MCUs are Arduino shield compliant and offer great software development solutions to help designers get to market quickly. Arduino platforms start at about $25 and most are available for under $50.
Figure 1: Arduino Due featuring an Atmel SAM3X ARM Cortex-M3 Flash-based MCU.
BeagleBoard, BeagleBone, and BeagleBone Black are another set of low-cost, highly functional demo/development environments. Like the Pi and Arduino, the BeagleBoard community is rich with content and support. These solutions are centered around processors and MCUs from Texas Instruments and while the BeagleBoards are a little more costly than some of the other platforms, you get a lot of functionality with only a little more investment. For instance, the BeagleBone Black is only $49 and features an AM355x 1 GHz ARM® Cortex-A8 processor (includes 3D graphics accelerator, floating point accelerator and 2x PRU 32-bit MCUs) has USB client and host, Ethernet and HDMI and supports Linux, Android, Ubuntu, and others. Expansion to the BeagleBoard environment is made via “Capes” which are small daughter cards that connect via headers to the board. Capes add various functions to the original board including motor control, LCD displays, wireless, multiple bus implementations, and more.
Figure 2: BeagleBone Black featuring an AM355x 1 GHz ARM Cortex-A8 core.
Another great demo and development environment is the Tower system from Freescale. Tower is a modular platform that has core modules across many different Freescale families from their 8-bit devices through their 32-bit ARM-based Kinetis MCUs all the way up to some of their Power architecture devices. One thing that is a little different with Tower is that almost all of the modules and add-on modules are available as Freescale part numbers. Their add-on modules include advance sensing, high performance A-to-D, Wi-Fi, LCD, motor control, and more. One nice feature of the Tower Kinetis and ColdFire solutions is that they are enabled with complimentary MQX RTOS, so if you need a real-time of the Tower solution then the Kinetis and ColdFire families of MCUs are a great alternative. Prices for Tower platforms start at around $50 and with some of the advanced features you can see a lot of value for very little investment.
Figure 3: Freescale Tower Development System enables HCS08, Coldfire V1, Kinetis, and Power Architecture based designs.
For those who want a solution based around NXP LPC MCUs, there are mbed and Xpresso low cost demo and development platforms. NXP also has low cost platforms available from 3rd parties such as Keil and IAR that are integrated with their software suites. Designers can take comfort in knowing that NXP has developed LPCware, a complete online community focused on NXP MCU solutions.
Even more low-cost feature rich platforms are available such as the Wandboard with its $79 single core i.MX6 based solution which offers Android Jellybean, Ubuntu, and Linux BSPs. Other 3rd parties like Olimex offer various platforms across multiple devices (STMicroelectronics STM32, Freescale i.mx21, Microchip PIC…) so the list of possibilities is virtually endless.
This is where Hotenda can help. In Table 1 you will find a high level summary of some of these solutions. For a more detailed and complete listing, we have created an easy to use low cost demo/development board selector tool. Of course we are always ready to support you and help you find the right solution to meet your needs via web chat, telephone at (800) 344-4539, our eeWiki, or our online technical community TechXchange. With so many choices it is easy to see why embedded designers need to spend some cycles investigating which low-cost alternative they should use and we at Hotenda are here to help navigate the way.
Table 1: Overview of low cost development platforms. Click for full-size.
Cost is no longer the barrier to entry but time is the critical factor. How much longer will it take you to design with one platform versus another, is there an add-on board that will meet your needs, what type of software development environment is available, is the online community going to help me along the way, and can I go into production are all questions you should ask before deciding on which board to buy. It’s the same thing as summer movies. There is no shortage of titles available. By spending a little time upfront to research who makes it, what reviews are available and if it will leave you fulfilled (or in the case of boards - will it fulfill your needs), you’re sure to have an overall better design experience.
Questions or comments?
Email the author here.