NXP FTF 2016: Eliminating tradeoffs of Java versus C in embedded, IoT

A little more than a month ago I wrote an article on picking the right IoT operating system, which emphasized RTOSs for portability. Shortly after publishing, the following comment popped up (plug: read on to find out why you should comment):

The comment was from Vincent Perrier, who works for MicroEJ, a software company that specializes in portable operating system and application development based on Java virtual machines and C programming. The ensuing conversation sparked my interest enough that I started asking around industry for thoughts on the applicability of Java in embedded devices today, given its historically large footprint and uber abstraction that disallows developers from being able to get the most out of silicon. The opinions were mixed (see the second podcast interview here with Howdy Pierce of Cardinal Peak entitled “IoT and the software engineering toolbox”).

Upon arriving at NXP’s FTF in Austin last week, however, I realized I had a meeting scheduled with Fred Rivard, Founder and CEO of MicroEJ, as well as one of the authors of the Java JDT compiler. It was a great opportunity to keep the conversation going, so I did.

During our meeting, Fred emphasized that the use of virtual machines today allows Java to get down to 30-50 kb footprints, which is comparable with many RTOS options available on the market today. While his company emphasizes solutions based on both Java and C, Fred explained that through the use of a virtualization layer, products such as the MicroEJ OS are able to not only port to any hardware architecture, but can also be built in a modular fashion similar to RTOSs where files and libraries are layered on as needed. This architecture furthered the concept of app stores that is becoming so popular in the IoT conversation, whereby devices can be deployed with basic OS functionality and have additional features piecemealed on later, perhaps even using over-the-air updates.

But, for a complete explanation, listen to my interview with Fred below, and watch the virtual machine technology in action in the concluding video. A final, shameless plug, MicroEJ will be conducting a hands-on tutorial of JVMs at Embedded TechCon in Austin on June 8th. You can still register to get all the education you need.