Image

ARM Continues to Enhance mbed

Nov. 23, 2015
ARM’s mbed technology is designed to make Cortex-M platforms an integral part of the IoT, and the latest mbed thrust is toward the mbed infrastrucure rather than the Web-based tools of the mbed Developer Site.

ARM’s mbed technology is designed to make Cortex-M platforms an integral part of the Internet of Things (IoT). The latest mbed thrust is toward the mbed infrastructure rather than the Web-based tools of the mbed Developer Site that were center stage for earlier versions. Those are still available, but the mbed OS and mbed Client were the centerpieces for the latest mbed presentations.

The mbed Client API provides an interface between the underlying operating system and the rest of the mbed stack and options. The Thread Group’s wireless Thread support can also be part of the mbed mix (Fig. 1).

1. Thread can be part of the mbed stack that incorporates the mbed Client APIs.

The mbed OS is an optional component and eliminates the need for an underlying operating system. It is possible to use a different operating system that maps services between the OS and mbed APIs, but this is similar to using the mbed Client on top of an operating system. The mbed Client allows a device to utilize the mbed Device Connector Service, mbed Device Server (mDS), and to connect to mbed-enabled cloud services from companies like Bug Labs and Zebra Technologies. Bug Lab’s dweet and freeboard (Fig. 2) are a device tweeting system and dashboard system, respectively. They can be used for free, but your data is public, or privately for a fee.

2. Freeboard is a configurable dashboard service from Bug Labs that supports a range of IoT devices including those running mbed.

One of the other new pieces of mbed is the mbed TLS stack. This includes both a client and server side that support SSL version 3 and TLS version 1.0, 1.1, and 1.2. It also supports standard extensions like Server Name Indication (SNI), Session Tickets, and Secure Renegotiation.

The mbed TLS stack is one area where commercial licensing can come into play. There is an open-source version that comes under an Apache 2.0 license, but third parties, typically chip vendors or software vendors, will be providing commercial support for a price.

The mbed tools are also maturing. There is the yotta module specification that uses a json file along with directories for source code and documentation that define a reusable module (see “What’s the Difference Between JSON, XML, and YAML?” on Electronic Design).

The mbed environment was highlighted everywhere there was a Cortex-M at ARM TechCon 2015. For example, Silicon Labs has a neat development platform (Fig. 3) that uses the same EFM32 Gecko microcontroller that is in the Basis Peak watch. The Silicon Labs kit also includes the same technology and software to handle the heart rate monitor found in the Peak. The board is not quite as stylish or waterproof as the Peak but it is a lot more flexible when it comes to development and access to the Gecko.

3. Silicon Labs development kit (bottom) uses the same microcontroller that is in the Basis Peak watch (top), including the pulse sensor under the unit next to the wrist.

Freescale’s Freedom line includes Cortex-M chips. These were on display as well at the show (Fig. 4). They were also used in a range of demos that includes peripheral boards with additional sensors that were controlled by the mbed running Cortex-M microcontrollers. This includes the ARM mbed IoT Start Kit–Ethernet Edition for IBM Internet of Things Foundation (see “mbed IoT Starter Kit Links to IBM's Cloud” on Electronic Design). This uses a standard Freedom board with a sensor board.

4. The Freescale Freedom line of development boards includes a number of Cortex-M chips that can support mbed.

STmicroelectronics was showing its new STM32 F7 Discovery kit with a built-in 4.3-in LCD capacitive touchscreen (Fig. 5). The 216 MHz Cortex-M7 also has access to 64 Mbits of SDRAM and 128 Mbits of QuadSPI flash. There is an Arduino-compatible header on the back along with three USB ports, a microSD socket, Ethernet, and audio support.

5. STmicroelectronics STM32 F7 Discovery kit has a built-in 4.3-in. LCD capacitive touchscreen as well as Ethernet and Arduino expansion support.

NXP’s wireless module actually has a Cortex-M running mbed controlling the radio (Fig. 6). The module is available alone or with the header shown here that allows it to be plugged into the NXP development kit that has another Cortex-M microcontroller in the hardware stack.

6. NXP tasked its Cortex-M to handle mbed as part of its wireless chores.

Not surprisingly, almost every Cortex-M platform on display at ARM TechCon 2015 was running one incarnation of mbed or another, depending upon on the programmers and how much time they had before the show to get the latest software up and running.

The mbed environment is just one of many IoT stacks that run on a Cortex-M or Cortex-A platform. It has garnered a good bit of support from chip vendors that have licensed the Cortex-M family as well as third parties, especially those with cloud-based services. This coming year should be ripe for developers to exploit the underlying framework and services. 

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!