Linux Still Rules IoT, Says Survey, with Raspbian Leading the Way

By Eric Brown

The Eclipse Foundation’s Eclipse IoT Working Group has released the results of its IoT Developer Survey 2018, which surveyed 502 Eclipse developers between January and March 2018. While the sample size is fairly low—LinuxGizmos’  own 2017 Hacker Board survey had 1,705 respondents—and although the IoT technologies covered here extend beyond embedded tech into the cloud, the results sync up pretty well with 2017 surveys of embedded developers from VDC Research and AspenCore (EETimes/Embedded). In short, Linux rules in Internet of Things development, but FreeRTOS is coming on fast. In addition, Amazon Web Services (AWS) is the leading cloud service for IoT.

 Eclipse IoT Developer Survey 2018 results for OS usage (top) and yearly variations for non-Linux platforms (bottom)
(Source: Eclipse Foundation)
(click images to enlarge)
 

When asked what operating systems were used for IoT, a total of 71.8% of the Eclipse survey respondents listed Linux, including Android and Android Things (see farther below). The next highest total was for Windows at 23%, a slight decrease from last year.

The open source, MCU-focused FreeRTOS advanced to 20%. Last December, the FreeRTOS project received major backing from Amazon. In fact, the Eclipse Foundation calls it an “acquisition.” This is never an entirely correct term when referring to a truly open source project such as FreeRTOS, but as with Samsung’s stewardship of Tizen, it appears to be essentially true.

Amazon collaborated with FreeRTOS technical leaders in spinning a new Amazon FreeRTOS variant linked to AWS IoT and AWS Greengrass. The significance of Amazon’s stake in FreeRTOS was one of the reasons Microsoft launched its Linux-based Azure Sphere secure IoT SoC platform, according to a VDC Research analyst.

The growth of FreeRTOS and Linux has apparently reduced the number of developers who code IoT devices without a formal OS or who use bare metal implementations. The “No OS/Bare Metal category” was second place in 2017, but has dropped sharply to share third place with FreeRTOS at 20%.

Other mostly open source RTOSes that had seen increases in 2017, such as mBed, Contiki, TinyOS, and Riot OS, dropped in 2018, with Contiki seeing the biggest dive. All these platforms led the open source Zephyr, however, as well as proprietary RTOSes like Micrium PS. The Intel-backed Zephyr may have declined in part due to Intel killing its Zephyr-friendly Curie module.

Eclipse IoT results for OS usage for constrained devices (top)
and gateways (bottom)

(Source: Eclipse Foundation)
(click images to enlarge)

When the Eclipse Foundation asked what OS was used for constrained devices, Linux still led the way, but had only 38.7%, followed by No OS/Bare Metal at 19.6%, FreeRTOS at 19.3%, and Windows at 14.1%. The others remained in the same order, ranging from Mbed at 7.7% to Riot OS at 4.7% for the next four slots.

When developers were asked about OS usage for IoT gateways, Linux dominated at 64.1% followed by Windows at 14.9%. Not surprisingly, the RTOSes barely registered here, with FreeRTOS leading at 5% and the others running at 2.2% or lower.

Eclipse IoT survey results for most popular Linux distributions
(Source: Eclipse Foundation)
(click image to enlarge)

Raspbian was the most popular Linux distro at 43.3%, showing just how far the Raspberry Pi has come to dominate IoT. The Debian based Ubuntu and more IoT-oriented Ubuntu Core were close behind for a combined 40.2%, and homegrown Debian stacks were used by 30.9%.

Android (19.6%) and the IoT-focused Android Things (7.9%) combined for 27.5%. Surprisingly, the open source Red Hat based distro CentOS came in next at 15.6%. Although CentOS does appear on embedded devices, its cloud server/cloud focus suggests that like Ubuntu, some of the Eclipse score came from developers working in IoT cloud stacks as well as embedded.

Yocto Project, which is not a distribution, but rather a set of standardized tools and recipes for DIY Linux development, came next at 14.2%. The stripped-down, networking focused OpenWrt and its variants, including the forked LEDE OS, combined for 7.9%. The OpenWrt and LEDE OS projects reunited as OpenWrt in January of this year. A version 18, due later this year, will attempt to integrate those elements that have diverged.

AWS and Azure rise, Google Cloud falls

The remainder of the survey dealt primarily with IoT software. Amazon’s AWS, which is the cloud platform used by its AWS IoT data aggregation platform and the related, Linux-based AWS Greengrass gateway and edge platform, led IoT cloud platforms with 51.8%. This was a 21% increase over the 2017 survey. Microsoft Azure’s share increased by 17% to 31.2%, followed by a combined score for private and on-premises cloud providers of 19.4%.

The total that used Google Cloud dropped by 8% to 18.8%. This was followed by Kubernetes, IBM Bluemix, and OpenStack On Premises.

Other survey findings include the continuing popularity of Java and MQTT among Eclipse developers. Usage of open source software of all kinds is increasing — for example, 93% of respondents say they use open source data base software, led by MySQL. Security and data collection/analytics were the leading developer concerns for IoT while interoperability troubles seem to be decreasing.

There were only a few questions about hardware, which is not surprising considering that Eclipse developers are primarily software developers. Cortex M3/M4 chips led among MCU platforms. For gateways there was an inconclusive mix of Intel and various Arm Cortex-A platforms. Perhaps most telling: 24.9% did not know what platform their IoT software would run on.

They did, however, know their favorite IDE. It starts with an E.

Further information

More information on the Eclipse IoT Developer Survey may be found in this blog announcement by Benjamin Cabé, which links to a slides from the full survey.

This article originally appeared on LinuxGizmos.com on April 30.

Eclipse IoT Working Group | iot.eclipse.org/working-group

Q&A: Scott Garman, Technical Evangelist

Scott Garman is more than just a Linux software engineer. He is also heavily involved with the Yocto Project, an open-source collaboration that provides tools for the embedded Linux industry. In 2013, Scott helped Intel launch the MinnowBoard, the company’s first open-hardware SBC. —Nan Price, Associate Editor

Scott Garman

Scott Garman

NAN: Describe your current position at Intel. What types of projects have you developed?

SCOTT: I’ve worked at Intel’s Open Source Technology Center for just about four years. I began as an embedded Linux software engineer working on the Yocto Project and within the last year, I moved into a technical evangelism role representing Intel’s involvement with the MinnowBoard.

Before working at Intel, my background was in developing audio products based on embedded Linux for both consumer and industrial markets. I also started my career as a Linux system administrator in academic computing for a particle physics group.

Scott was involved with an Intel MinnowBoard robotics and computer vision demo, which took place at LinuxCon Japan in May 2013.

Scott was involved with an Intel MinnowBoard robotics and computer vision demo, which took place at LinuxCon Japan in May 2013.

I’m definitely a generalist when it comes to working with Linux. I tend to bounce around between things that don’t always get the attention they need, whether it is security, developer training, or community outreach.

More specifically, I’ve developed and maintained parallel computing clusters, created sound-level management systems used at concert stadiums, worked on multi-room home audio media servers and touchscreen control systems, dug into the dark areas of the Autotools and embedded Linux build systems, and developed fun conference demos involving robotics and computer vision. I feel very fortunate to be involved with embedded Linux at this point in history—these are very exciting times!

Scott is shown working on an Intel MinnowBoard demo, which was built around an OWI Robotic Arm.

Scott is shown working on an Intel MinnowBoard demo, which was built around an OWI Robotic Arm.

NAN: Can you tell us a little more about your involvement with the Yocto Project (www.yoctoproject.org)?

SCOTT: The Yocto Project is an effort to reduce the amount of fragmentation in the embedded Linux industry. It is centered on the OpenEmbedded build system, which offers a tremendous amount of flexibility in how you can create embedded Linux distros. It gives you the ability to customize nearly every policy of your embedded Linux system, such as which compiler optimizations you want or which binary package format you need to use. Its killer feature is a layer-based architecture that makes it easy to reuse your code to develop embedded applications that can run on multiple hardware platforms by just swapping out the board support package (BSP) layer and issuing a rebuild command.

New releases of the build system come out twice a year, in April and October.

Here, the OWI Robotic Arm is being assembled.

Here, the OWI Robotic Arm is being assembled.

I’ve maintained various user space recipes (i.e., software components) within OpenEmbedded (e.g., sudo, openssh, etc.). I’ve also made various improvements to our emulation environment, which enables you to run QEMU and test your Linux images without having to install it on hardware.

I created the first version of a security tracking system to monitor Common Vulnerabilities and Exposures (CVE) reports that are relevant to recipes we maintain. I also developed training materials for new developers getting started with the Yocto Project, including a very popular introductory screencast “Getting Started with the Yocto Project—New Developer Screencast Tutorial

NAN: Intel recently introduced the MinnowBoard SBC. Describe the board’s components and uses.

SCOTT: The MinnowBoard is based on Intel’s Queens Bay platform, which pairs a Tunnel Creek Atom CPU (the E640 running at 1 GHz) with the Topcliff Platform controller hub. The board has 1 GB of RAM and includes PCI Express, which powers our SATA disk support and gigabit Ethernet. It’s an SBC that’s well suited for embedded applications that can use that extra CPU and especially I/O performance.

Scott doesn’t have a dedicated workbench or garage. He says he tends to just clear off his desk, lay down some cardboard, and work on things such as the Trippy RGB Waves Kit, which is shown.

Scott doesn’t have a dedicated workbench or garage. He says he tends to just clear off his desk, lay down some cardboard, and work on things such as the Trippy RGB Waves Kit, which is shown.

The MinnowBoard also has the embedded bus standards you’d expect, including GPIO, I2C, SPI, and even CAN (used in automotive applications) support. We have an expansion connector on the board where we route these buses, as well as two lanes of PCI Express for custom high-speed I/O expansion.

There are countless things you can do with MinnowBoard, but I’ve found it is especially well suited for projects where you want to combine embedded hardware with computing applications that benefit from higher performance (e.g., robots that use computer vision, as a central hub for home automation projects, networked video streaming appliances, etc.).

And of course it’s open hardware, which means the schematics, Gerber files, and other design files are available under a Creative Commons license. This makes it attractive for companies that want to customize the board for a commercial product; educational environments, where students can learn how boards like this are designed; or for those who want an open environment to interface their hardware projects.

I created a MinnowBoard embedded Linux board demo involving an OWI Robotic Arm. You can watch a YouTube video to see how it works.

NAN: What compelled Intel to make the MinnowBoard open hardware?

SCOTT: The main motivation for the MinnowBoard was to create an affordable Atom-based development platform for the Yocto Project. We also felt it was a great opportunity to try to release the board’s design as open hardware. It was exciting to be part of this, because the MinnowBoard is the first Atom-based embedded board to be released as open hardware and reach the market in volume.

Open hardware enables our customers to take the design and build on it in ways we couldn’t anticipate. It’s a concept that is gaining traction within Intel, as can be seen with the announcement of Intel’s open-hardware Galileo project.

NAN: What types of personal projects are you working on?

SCOTT: I’ve recently gone on an electronics kit-building binge. Just getting some practice again with my soldering iron with a well-paced project is a meditative and restorative activity for me.

Scott’s Blinky POV Kit is shown. “I don’t know what I’d do without my PanaVise Jr. [vise] and some alligator clips,” he said.

Scott’s Blinky POV Kit is shown. “I don’t know what I’d do without my PanaVise Jr. [vise] and some alligator clips,” he said.

I worked on one project, the Trippy RGB Waves Kit, which includes an RGB LED and is controlled by a microcontroller. It also has an IR sensor that is intended to detect when you wave your hand over it. This can be used to trigger some behavior of the RGB LED (e.g., cycling the colors). Another project, the Blinky POV Kit, is a row of LEDs that can be programmed to create simple text or logos when you wave the device around, using image persistence.

Below is a completed JeeNode v6 Kit Scott built one weekend.

Below is a completed JeeNode v6 Kit Scott built one weekend.

My current project is to add some wireless sensors around my home, including temperature sensors and a homebrew security system to monitor when doors get opened using 915-MHz JeeNodes. The JeeNode is a microcontroller paired with a low-power RF transceiver, which is useful for home-automation projects and sensor networks. Of course the central server for collating and reporting sensor data will be a MinnowBoard.

NAN: Tell us about your involvement in the Portland, OR, open-source developer community.

SCOTT: Portland has an amazing community of open-source developers. There is an especially strong community of web application developers, but more people are hacking on hardware nowadays, too. It’s a very social community and we have multiple nights per week where you can show up at a bar and hack on things with people.

This photo was taken in the Open Source Bridge hacker lounge, where people socialize and collaborate on projects. Here someone brought a brainwave-control game. The players are wearing electroencephalography (EEG) readers, which are strapped to their heads. The goal of the game is to use biofeedback to move the floating ball to your opponent’s side of the board.

This photo was taken in the Open Source Bridge hacker lounge, where people socialize and collaborate on projects. Here someone brought a brainwave-control game. The players are wearing electroencephalography (EEG) readers, which are strapped to their heads. The goal of the game is to use biofeedback to move the floating ball to your opponent’s side of the board.

I’d say it’s a novelty if I wasn’t so used to it already—walking into a bar or coffee shop and joining a cluster of friendly people, all with their laptops open. We have coworking spaces, such as Collective Agency, and hackerspaces, such as BrainSilo and Flux (a hackerspace focused on creating a welcoming space for women).

Take a look at Calagator to catch a glimpse of all the open-source and entrepreneurial activity going on in Portland. There are often multiple events going on every night of the week. Calagator itself is a Ruby on Rails application that was frequently developed at the bar gatherings I referred to earlier. We also have technical conferences ranging from the professional OSCON to the more grassroots and intimate Open Source Bridge.

I would unequivocally state that moving to Portland was one of the best things I did for developing a career working with open-source technologies, and in my case, on open-source projects.

Scott Garman, Technical Evangelist

This article was a preview of an upcoming interview in the February issue of Circuit Cellar. The full interview is now available here.
Garman_web

Scott Garman is a Portland, OR-based Linux software engineer. Scott is very involved with the Yocto Project, an open-source collaboration that provides tools for the embedded Linux industry. Scott tells us about how he recently helped Intel launch MinnowBoard, the company’s first open-hardware SBC. The entire interview will be published in Circuit Cellar’s February issue.—Nan Price, Associate Editor

NAN: What is the Yocto Project?

 SCOTT: The Yocto Project is centered on the OpenEmbedded build system, which offers a tremendous amount of flexibility in how you can create embedded Linux distros. It gives you the ability to customize nearly every policy of your embedded Linux system.

I’ve developed training materials for new developers getting started with the Yocto Project, including “Getting Started with the Yocto Project—New Developer Screencast Tutorial.”

MinnowBoardWEB

Scott was involved with a MinnowBoard robotics and computer vision demo at LinuxCon Japan, May 2013.

NAN: Tell us about Intel’s recently introduced the MinnowBoard SBC.

SCOTT: The MinnowBoard is based on Intel’s Queens Bay platform, which pairs a Tunnel Creek Atom CPU (the E640 running at 1 GHz) with the Topcliff Platform controller hub. The board has 1 GB of RAM and includes PCI Express, which powers our SATA disk support and gigabit Ethernet. It’s an SBC that’s well suited for embedded applications that can use that extra CPU and especially I/O performance.

MinnowBoardOWI_web

Scott worked on a MinnowBoard demo built around an OWI Robotic Arm.

The MinnowBoard also has embedded bus standards including GPIO, I2C, SPI, and even CAN (used in automotive applications) support. We have an expansion connector on the board where we route these buses, as well as two lanes of PCI Express for custom high-speed I/O expansion.

NAN: What compelled Intel to make the MinnowBoard open hardware?

SCOTT: The main motivation for the MinnowBoard was to create an affordable Atom-based development platform for the Yocto Project. We also felt it was a great opportunity to try to release the board’s design as open hardware.