I recently attended the 2018 Embedded World conference in Nuremberg, Germany (February 27 – March 1). As usual, companies from around the world descended on Nuremberg to show off their latest and greatest embedded technologies. While I was there giving several talks, networking with colleagues, and walking the conference floor, I noticed several trends that will assist developers working with microcontroller-based solutions. These trends include:
- Embedded Security
- Real-time Visualization
- Cloud Connectivity and Bluetooth Mesh Networking
- Deep Learning
- Low Power Consumption and Optimization
|Figure 1 — Bosch demonstration showing automated vehicles using WiFi-based communication between vehicles and road. The vehicles use sensors to detect the road and roadway obstructions.|
Trend #1: Embedded Security
The theme that felt the most pervasive throughout the conference was the focus on security. It was nearly impossible to roam the conference halls without seeing a reference to security in nearly every booth. The security focus was welcome since so many developers will be connecting their systems to the IoT in the next several years. Developers need to see the solutions that are currently available and that can help accelerate their security implementation.
The capabilities that were revealed at Embedded World were far reaching. The technologies ranged from device key generators through entire MCU security solutions. There were several that caught my attention. For example, Intrisic ID was showcasing its BROADKEY software solution that can be used to create an unclonable device key. BROADKEY uses the non-deterministic start-up state of SRAM to generate the key which cannot be retrieved or duplicated.
Another solution I found to be quite intriguing is the new Cypress PSoC 6 security solution which includes multiple ARM Cortex-M cores on the device. The first core, a Cortex-M0, is used as a security processor which sets up a Trusted Execution Environment (TEE) and is able to completely isolate secure operations. The second core, a Cortex-M4, is then used as the non-secure performance core for normal software operations. What’s intriguing about this solution is that it fits the most secure implementation for ARM’s new Platform Security Architecture (PSA).
|Figure 2 — The Cypress PSoC 6 security solution which uses two cores in order to maximize the levels of isolation that can be used to secure the embedded target. (Source: Cypress)|
Trend #2: Real-Time Visualization
The ability to visualize software execution is one of the most powerful tools available to embedded software engineers. Nothing frustrates me more than not being able to see how the software is actually executing. If I can’t see it, the only option if something goes wrong is to make intelligent guesses and hope the issue can be found quickly. There were several tools I saw at Embedded World that were very impressive and provided the ability for developers to really gauge what their systems are doing.
First, I took a look at the new Percepio Tracealyzer 4, which was launched at the conference. Tracealyzer now allows a developer to visualize events in their RTOS-based application such as context switches between tasks, giving and taking semaphores, and many other event types. The trace data was always reviewed after it was recorded from the system but now developers can see the real-time data trace live. Percepio demonstrated this capability using a fully functional drone and streaming the live trace to its tool. That wasn’t the only cool new feature. Developers can now visualize state machines, record traces indefinitely, and load recorded traces for live playback.
|Figure 3 — Screenshot from Percepio Tracealyzer 4. This view is showing the task timeline, CPU utilization, and user events occurring in a test system. (Source: Percepio Tracealyzer example recorded trace for FreeRTOS)|
Another tool I found to be very interesting for developers is Silicon Labs’ uC Probe. uC Probe allows a developer to visualize their application variables in real time. Developers can graph or create numeric views to watch raw or processed sensor data, monitor their stack and dynamic memory usage, as well as many more properties of their application. What I thought was most powerful about this tool was that the data can be pulled from the microcontroller using a SEGGER J-Link with nearly no overhead to the application execution. The memory accesses occur simultaneously. I had always thought the uC Probe could only be used with Micrium uC OS real-time operating systems, but it turns out it can be used with any Cortex-M based solution.
|Figure 4 — A screenshot of Silicon Labs’ Micrium uC Probe. (Source: Silicon Labs Micrium uC Probe)|
Trend #3: Cloud Connectivity & Bluetooth Mesh Networking
A major trend at the conference was silicon companies showing off cloud connectivity capabilities designed to simplify connecting embedded systems to cloud-based services. For example, one solution I came across was the Renesas Synergy AE-Cloud1 development kit which includes software stacks designed to help developers connect to either Amazon Web Services (AWS) or Microsoft Azure in approximately 10 minutes. These types of solutions will no doubt help developers quickly get their systems connected to the internet in what could have taken weeks or maybe even months following traditional development cycles. These solutions even include capabilities for securing communication and provisioning devices.
Another solution I saw for securely connecting to the cloud was the Electric Imp. The Electric Imp is a platform that provides all the low-level drivers, security, and connectivity capabilities to a developer and allows them to write simple Squirrel scripts for their application. The Electric Imp abstracts out the hardware and connectivity and gives the developers the opportunity to just focus on their own end application. They had an interesting demonstration that showed where in the world all of their secure devices were when they broadcasted back to the cloud.
|Figure 5 —The map in this figure plots a geo-location point for every device that broadcasts to the cloud over the course of an hour. After each hour, the map is cleared and then repopulated over the next hour. (Source: Electric Imp)|
A connectivity option I saw at Embedded World was Bluetooth mesh networking. I had never heard of such a thing and thankfully it turned out that the mesh networking standard had just been fully approved in September 2017 and solutions and capabilities are starting to be announced. The ability to use Bluetooth in mesh networking solutions holds several advantages such low energy usage and decreasing costs through economies of scale. I first heard about it at the STMicroelectronics booth when they were showing off the Blue NRG Mesh Bluetooth Mesh Networking solution. For developers working with low-energy IoT devices, this is definitely an area to start investigating.
|Figure 6 — The STMicroelectronics BlueNRG Mesh Bluetooth Mesh Networking Solution. IoT Edge nodes are able to communicate over a BlueTooth mesh network. (Source: Beningo Embedded Group)|
Trend 4 – Deep Learning
There were several solutions at Embedded World that began discussing solutions for deep learning in embedded systems. These solutions were mostly focused around higher performance systems that were using Cortex-A type processors. These deep learning solutions were focused mostly around image analysis for video cameras; however, there was one solution that I found to be interesting. ARM recently released an example project on keyword spotting using the DSP capabilities built into the Cortex-M4 processor. The solution uses deep learning to train for spotting audio keywords which can then be provided to the embedded device. The heavy lifting (training) is done on a server or PC with the training result being deployed to the embedded target.
Developers right now are focused are connecting their devices to the cloud and system security, but over the next several years we will start to see the idea of using deep learning, machine learning, and other AI concepts slowly start to migrate from the cloud to the edge. For many low-energy, resource-constrained edge nodes, this will be a long time coming but with careful observations at Embedded World, it was easy to see that it is on its way.
Trend 5 — Lower Power Consumption & Optimization
Finally, low power design and optimization was the last major trend that I saw in the microcontroller design space at Embedded World. Any developer working on a battery-operated device knows how important low power consumption is in their devices. There were several solutions I thought were quite interesting. First, Nordic Semiconductor created an energy monitor for its nRF52840 development kit that allows developers to fine-tune the energy consumption of their Bluetooth module. The energy monitor, while designed to work with Nordic development kits, uses the Arduino shield pin-outs and could potentially be used to monitor any embedded system.
The second solution that was very interesting was Silicon Labs’ WFM200 WiFi module. Silicon Labs has traditionally stayed out of the WiFi module arena but what’s interesting about its new WFM200 device is that it was designed with low-power consumption as a major requirement for the module. An interesting demonstration at their booth showed that the module can decrease the WiFi energy consumption by approximately 50% on the transmit side and 30% on the receive side. I was also quite amazed at just how small this WiFi module was.
The first thought any engineer has when seeing comparisons like this is to query the conditions for the comparisons to make sure it isn’t just all smoke and mirrors. The more questions I asked about the setup, the more I realized that Silicon Labs had gone through great care and expense to ensure the comparisons were accurate on every level.
|Figure 7 — Example demonstration from Silicon Labs that compared its new WFx200 WiFi module to a typical industry WiFi module. The transmit energy consumption is nearly 50% of a typical solution. (Source: Silicon Labs)|
Finally, when it comes to energy consumption, I was impressed to see that there were several microcontroller programmers available that could monitor microcontroller and system energy consumption and plot it within the microcontroller development environment. First, Keil has released its U-Link plus, which they announced last year at Embedded World. I had the chance to see it running live not just to measure current but also with the ability to control I/O. Developers can use the Keil MDK to manually control the I/O or even write a script in Python. The second device was a P&E Micro debugger that was impressively fast and also had the ability to measure current on the device and correlate it to the executing code.
These are just a few highlights and trends that I noticed while I was attending Embedded World. There was certainly far more going on at the show than was possible for one person to attend or fully analyze, but focusing on the important trends in microcontroller-based systems, the points that we just discussed should help the reader understand where our industry is headed this year.
The embedded systems industry is currently undergoing an amazing transformation that will allow developers to build more robust and secure systems far faster than has ever been possible. Not only will systems become more secure and robust, they will also become more connected and automated. In order to stay relevant and compete, developers need to keep an eye on these trends and take advantage of the latest advances in techniques and technologies.
Jacob Beningo is an embedded software consultant who currently works with clients in more than a dozen countries to dramatically transform their businesses by improving product quality, cost and time to market. He has published more than 200 articles on embedded software development techniques, is a sought-after speaker and technical trainer and holds three degrees which include a Masters of Engineering from the University of Michigan. Feel free to contact him at [email protected], at his website www.beningo.com/, and sign-up for his monthly Embedded Bytes Newsletter.
Join Jacob Beningo at ESC Boston!
Join Jacob Beningo for three can't-miss sessions at ESC Boston, April 18-19, 2018. He will be on-hand live at the Boston Convention and ExhibitionCenter, where he will be discussing: "Transitioning Embedded Software From C to C++," "Jump Starting Code Development to Minimize Software Bugs," and "Verifying and Debugging Real-Time Systems Using Deep Insight Analysis." Click here to register today!