A look at three example SBCs suitable for the latest mbed OS

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.

WCJH_1S_Oct201624

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.

WCJH_2S_Oct201624

 

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 I2C
bus interface and graphics-related functions.

WCJH_3S_Oct201624

 

The GR-PEACH board has 8 Mbytes of flash, two USB
host/device interfaces, one Ethernet port, five SPI ports, three I2C
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.