According to the market researchers at IDC, there were 9.1 billion Internet of Things (IoT) devices installed at the end of 2013. They expect that number to grow 17.5 percent each year and hit 28.1 billion in 2020, when the total IoT market could be worth more than $7 trillion.

The open source community has been at the forefront of this new trend, creating software and hardware designs that enable nearly anyone to experiment with IoT devices and applications. And the number of open source projects dedicated to IoT has been growing rapidly. Last year, we put together a list of 35 open source IoT projects, and this year, we've extended it to 51 tools.

As always, if you know of additional open source projects that you think should be on our list, feel free to make note in the comments section below.

Look five or ten years into the future, and which open source operating system will be dominant in the Internet of Things sector? That’s very hard to say at this point in the emerging IoT market’s life, but it’s clearly possible that one of the open source OSes on this list will be the winner. Will it be one of the already familiar names, or an underdog that is less well known? Take a look at this list and make your best guess.

The Internet of Things conjures an image of millions – billions – of sensors across a vast physical area. But this sprawling network also requires a platform to support it. And in some cases, more than one platform. The following list details some of the pioneering open source platforms in the rapidly growing Internet of Things sector.

Given the advantages of open source hardware, which is created with freely licensed and modifiable specifications, it’s a natural for the highly integrated and diverse world of the Internet of Things. This list of open source hardware likely contains a few items whose adoption will benefit enormously from its role in the exponential growth of the Internet of Things.

Middleware doesn’t get a lot of attention, but it provides valuable services by enabling the connection of disparate software components. This is particularly important in the diverse world of the Internet of Things, in which a vast universe of components must be tied together. The following open source middleware IoT tools – from AllJoyn to OpenRemote – are providing unsung but highly important support.

Connectivity Software

DeviceHive

DeviceHive is a machine-to-machine (M2M) communication framework for smart energy, home automation, remote sensing, telemetry, remote control and monitoring software and other IoT applications. It supports Java, C++, .NET, Python, Javascript, and other platforms.

IoTivity

Sponsored by the Open Interconnect Consortium, The IoTivity software allows for device-to-device connectivity. It is an implementation of the OIC's standard specification. Operating System: Linux, Arduino, Tizen

Database

InfluxDB

InfluxDB is a "distributed time series database with no external dependencies." That makes it ideal for collecting data from IoT sensors; in fact, it can track data from tens of thousands of sensors sampling more than once per second. Operating System: Linux, OS X

Development Tools

Eclipse IoT Project

The Eclipse Foundation has a long list of IoT-related projects that include standards and development frameworks. The project also offers a wealth of videos, tutorials, sandboxes and other tools to help new IoT developers get started on their first projects.

KinomaJS

The Kinoma platform encompasses both hardware and software tools for prototying IoT devices and applications. KinomaJS, its JavaScript-based application framework, is available under an open source license. Operating System: Windows, Linux, OS X

M2MLabs Mainspring

Based on Java and the Apache Cassandra NoSQL database, Mainspring describes itself as "an open source application framework for building machine to machine (M2M) applications such as remote monitoring, fleet management or smart grid." Features include flexible device modeling, device configuration, communication between devices and applications, data validation and normalization, long-term data storage and data retrieval. Operating System: Windows, Linux, OS X

Node-RED

This "visual tool for wiring the Internet of Things" simplifies the process of connect IoT devices with APIs and online services. It is built on Node.js and includes a browser-based flow editor. Operating System: Windows, Linux, OS X

Home Automation Software

OpenHAB

This Java-based open source home automation software promises a vendor-agnostic way to control all the IoT devices in your home through a single interface. It allows users to set up their own rules and control their home environment. You can download the software from the site or use it through the my.openHAB cloud service. Operating System: Windows, Linux, OS X, Android

The Thing System

The Thing System's website says, "Today, you have to fight your things. They don't talk to each other, the apps don't work, it's a tower of babel. Our solution — the Thing System — is open source. We'll talk to anything, you can hack the system, it has an open API." It supports a huge list of IoT devices, including those made by Cube Sensors, Parrot, Next, Oregon Scientific, Samsung, Telldus, Aeon Labs, Insteon, Roku, Google, Apple and other manufacturers. Operating System: Windows, Linux, OS X, others

Monitoring

Freeboard

This project promises "ridiculously simple dashboards for your devices." It offers a widget-based, drag-and-drop development tool that makes it easy to track the data from your IoT devices. Both free and paid plans are available. Operating system: OS Independent

Printing

Exciting Printer

This unusual project makes it possible to create your own small, internet-connected printer. Want to talk to the project owners? You can send a message or draw a picture that will be printed on the Exciting Printer in their office.

Photo courtesy of Shutterstock.