By Jim Harrison
The ARM mbed IoT Device Platform provides the operating system, cloud services, tools, and developer ecosystem to make the creation and deployment of commercial, standards-based Internet of Things solutions possible at scale. Mbed is uniquely positioned with all the tools needed to develop these IoT solutions, the support of over 60 partner companies, and a community of 170,000 developers.
ARM mbed emergeed in 2009 as an online IDE for processors using any of the M cores. In 2014, the mbed platform was revised to make mbed OS (or mbed 3.0), an end-to-end system stack that linked a client-side operating system with a server-side management platform called the mbed Device Server. ARM has now merged mbed 2.0 and 3.0 into one cohesive ecosystem that bridges the gap between embedded developers and programmers working at the service layer. The result, announced in early August, is mbed 5 (mbed 2.0 + mbed 3.0 = mbed 5).
With mbed OS 5.1, the system incorporates an RTOS in the core of the operating system. The much-requested feature provides native thread support to the OS and applications, simplifying development and integration of complex and robust application components like networking stacks. It also enables both blocking and non-blocking design patterns. The RTOS adds very limited system overhead.
mbed OS 5 includes a real-time kernel based on Keil’s RTX implementation of the CMSIS-RTOS. The RTOS core lies beneath the OS delivering native thread support to drivers and applications, and also integrates with networking stacks and mbed’s uVisor security kernel. The “Eventing OS” model has also been reinvented as a library, so users of the feature don’t lose any functionality. Some designers have said the new features require a much larger code memory size, but I have not verified this as of yet. Let’s look at a few processor boards you could use with OS 5. These are all really development kits, but you can turn them into a super volume board with little stress and strain.
The FRDM-K64F from NXP
The Freedom-K64F from NXP is a very low-cost development platform for Kinetis K64, K63, and K24 MCUs. The K64 version uses a Cortex-M4 core running at up to 120 MHz with 1 Mbyte of flash, 256 Kbytes RAM, and lots of peripherals. It has two 16-bit A/D converters, two 12-bit D/As, a bunch of timers, and interfaces for 10/100 Ethernet, CAN, SPI, and USB. The development board includes extension headers compatible with Arduino R3 shields, a USB debug port, and a flash programmer.
The card has hardware CRC and random-number generator modules and hardware encryption supporting DES, 3DES, AES, MD5, SHA-1, and SHA-256 algorithms. It also sports a FXOS8700CQ 6-axis combo sensor accelerometer and magnetometer, two user push-buttons, and an RGB LED. $35 ea/single qty.
Kit uses STM32F746NG microcontroller
The 32F746GDISCOVERY evaluation kit from STMicroelectronics seems to have a few different names, but stick with this part number and you will find it for just $50 in distribution. The board features a 4.3-inch 480 x 272 color LCD-TFT display with capacitive touch. It uses an STM STM32F746NGH6 microcontroller with a fast Cortex-M7 core, 1 Mbyte of flash, and 340 Kbytes of RAM.
The CPU implements a full set of DSP instructions and has a memory protection unit (MPU) for enhanced application security. It has three 12-bit A/D converters, two D/A converters, a low-power RTC, thirteen general-purpose 16-bit timers, including two PWM timers for motor control, and one low-power timer available in Stop mode, along with a true random-number generator and a 96-bit unique ID. The chip has a LCD-TFT controller with up to XGA resolution and a Chrom-ART Accelerator for enhanced graphics. It has dual CAN ports, USB 2.0, and a 10/100 Ethernet MAC. And, finally, the MCU has an 8- to 14-bit parallel camera interface running at up to 54 Mbyte/s.
The board has a camera connector, an SAI audio codec, audio line-in and line-out jacks, stereo speaker outputs, two ST MEMS microphones, and an SPDIF RCA input connector.
A peach from Renesas
The Renesas GR-PEACH is an mbed-enabled evaluation board (in a very odd color) that combines the advantages of the mbed ecosystem and Arduino form factor. The 53.34 x 68.58-mm board's 400-MHz RZ/A1H processor includes a Cortex-A9 core and a full 10 Mbytes of RAM, plus a 128-Kbyte data-retention RAM. The CPU also offers a 32-Kbyte L1 instruction cache, a 32-Kbyte L1 data cache, and a 128-Kbyte L2 cache. This LSI also includes various timer functions, a real-time clock, a UART, and I2 C bus interface and graphics-related functions.
The GR-PEACH board has 8 Mbytes of flash, two USB host/device interfaces, one Ethernet port, five SPI ports, three I2 C I/Os, eight UARTs, 7 x 12-bit A/D converter, dual CAN ports, dual camera inputs, and an LVDS display driver. Optional shields include audio camera, LCD, and a Wi-Fi module. The board is available now for $119 ea.
Learn more about NXP SemiconductorsRenesas Electronics AmericaSTMicroelectronics