Last week, I 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 started to see notice 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 Wi-Fi 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 through-out 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 their 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 that 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. (Image 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, then if something goes wrong the only option is to make intelligent guesses and hope that the issue can be found quickly. There were several tools that 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 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 their 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 that 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 and many more properties of their application. What I thought was the 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 that 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 and Bluetooth Mesh Networking
A major trend at the conference were silicon companies showing off their cloud connectivity capabilities designed to simplify connecting embedded systems to cloud based services. For example, one solution that 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 that I came across 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).
One connectivity option that I came across 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 back 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 ST Microelectronics booth when they were showing off their 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 ST Microelectronics 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 came across that I found to be interesting. Arm has recently released an example project on keyword spotting using the DSP capabilities built into the Cortex-M4 processor. The solution using 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 slowly 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 in coming but with careful observations at Embedded World, it was easy to see that it is coming.
Trend #5 – Lower Power Consumption and 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 that I thought were quite interesting. First, Nordic Semiconductor had created an energy monitor for their 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 I came across that was very interesting was the Silicon Labs WFM200 Wi-Fi module. Silicon Labs has traditionally stayed out of the Wi-Fi module arena but what’s interesting about their 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 their module can decrease the Wi-Fi 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 Wi-Fi module was as well.
The first thought any engineer has when seeing comparison like this is to query the conditions for the comparison to make sure that there isn’t any smoke and mirrors going behind the scenes. The more questions I asked about the setup, the more I realized that Silicon Labs had gone through great care and expense to ensure that the comparisons were accurate on every level. I was even shown behind the curtain at the equipment that was being used to measure the energy usage and finally concluded that this was a very exciting demonstration.
Figure 7 – Example demonstration from Silicon Labs that compared their new WFx200 Wi-Fi module to a typical industry Wi-Fi module. As can be seen, 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 their ULINKplus 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 as well. Developers can use the Keil MDK to manually control the I/O or even write-up 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 before. 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.