Find out how HackerEarth can boost your tech recruiting

Learn more

17 open source IoT projects to work on in 2017

opensource IoT projects

2017 is round the corner and it’s time to build a checklist of New Year resolutions. And I am sure one resolution is common among all the IoT developers, i.e, contributing to open source IoT projects. If you are looking for interesting open source IoT projects to contribute to, I have compiled a list of 17 open source IoT projects where you can find something interesting to work on!

Eclipse Kura

Eclipse Kura is a platform for building IoT gateways. It enables remote management of gateways and provides APIs for writing and deploying your own IoT applications.

It runs on Java Virtual Machine and uses OSGi. APIs offered by Eclipse Kura gives easy access to underlying hardware such as serial ports, GPS, watchdog, USB, GPIOs, and I2C.

Eclipse Kura simplifies network configuration management, communication with servers, and remote gateway management with the help of OSGI bundles.

Languages used: Java, HTML, C, Shell, C++, JavaScript

License: Eclipse Public License – v 1.0

Find Eclipse Kura on Github


ThingSpeak is a IoT platform and API for data collection and analytics. It serves as a bridge connecting edge node devices, such as temperature and pressure sensors that collect data and data exploratory analysis software that analyzes the data.

In addition to storing and retrieving numeric and alphanumeric data, the ThingSpeak API allows numeric data processing which includes

  • Time scaling
  • Averaging
  • Median
  • Summing
  • Rounding

ThingSpeak has integrated support from the numerical computing software such as MATLAB from MathWorks.

Languages used: Ruby, HTML, JavaScript, CSS

License: GPL Version 3

Find Thingspeak on Github


It is a platform for creating IoT servers which run across geo-distributed computers and cloud. Zetta is built on Node.js. It combines, REST APIs, WebSockets, and reactive programming. Zetta server is capable of running in cloud, PC, and single-board computers.

Zetta can turn any device into an API. The Zetta servers communicates with microcontrollers like Arduino and Spark Core, giving every device a REST API both locally and in the cloud.

Languages used: JavaScript, Shell

License: MIT

Find Zetta on Github

Open Hybrid

Open Hybrid is a platform for interacting with everyday objects. It amalgamates the benefits of a flexible augmented user interface with physical objects.

It superimposes the cellphone app directly onto the devices we want to operate in daily life with an interactive set of knobs and buttons.

The interface of Open Hybrid is viewed through the lens of a tablet or smart mobile device.

Language used: JavaScript, C++, C

License: Mozilla Public License, version 2.0

Find Open Hybrid on Github

Casa Jasmina

Casa Jasmina is a two-year pilot project on building Internet of Things in the home. It brings together traditional Italian skills in furniture and interior design with emergent skills in Italian open-source electronics. In short, Casa Jasmina is an open source project to build a smart apartment.

The idea of Casa Jasmina is conceived in part by futurist and science fiction author Bruce Sterling.

After the project is complete, Casa Jasmina will be available for rent on Airbnb for a short time. The idea is not just to showcase the various contributions but to provide an opportunity for anyone and everyone to experience a “smart” living space.

Languages used: Arduino, JavaScript, C, PHP, Shell

License: GNU lesser general public license Version 2.1

Find Casa Jasmina on Github


Node-RED is a visual application for building IoT systems by wiring together hardware devices, APIs, and other services.

It is a browser-based flow editor which allows you to create JavaScript functions with ease. It also has a built-in library with which you can save useful functions and flows for reuse.

Node-RED is built on Node.js, taking full advantage of event-driven and non-blocking models, making it ideal to run on low-cost hardware such as Raspberry Pi and in cloud.

The flows created in Node-RED is stored using JSON, which can be easily imported and exported.

Language used:JavaScript,HTML, CSS

License: Apache License V2.0

Find Node-Red on Github

Wio Link

Wio Link is an ESP8266 SoC-based Wi-Fi development board. It has an associated platform that allows you to create IoT applications by virtualizing plug-n-play modules to RESTful APIs with mobile Apps. In other words, there is no need of hardware programming, breadboard, jumper wires, and soldering.

All you need to do is to install an App on your mobile phone, and you are can build a simple IoT project in 5 minutes.

Languages used: C, C++, Python, HTML

License: GNU GPL v3 License

Find Wio Link on Github


OpenThread is a open source implementation of Thread networking protocol. The project is led by Nest Labs with an aim to accelerate the development of products for smart homes.

Thread makes device-to-device connections, simple, secure, and reliable. It is an IPv6 networking protocol built on open standards.

Project OpenThread is backed by leading technology companies such as ARM, Big Ass Solutions, Nest Labs, NXP Semiconductors, OSRAM, Qualcomm, Samsung Electronics, Schneider Electric, Silicon Labs, Somfy, Tyco, and Yale Security.

Languages used: C++, Python, C, MakeFile, M4, C#

License: BSD-3-Clause

Find OpenThread on Github is a toolkit for quickly building embedded applications for IoT. It run on Linux-based devices like the Raspberry Pi, Beaglebone, RED Brick or Galileo/Edison.

It implements a web-enabled, modular and extensible JavaScript and C++ runtime environment and provides readily available, easy to use building blocks. These building blocks allow your application to talk to various sensors and devices and cloud services. brings together power of JavaScript in rapid application development with the performance of native C++ code. is based on V8 JavaScript engine and POCO C++ libraries.

Languages used: C++, C, Objective-C, Makefile, HTML, Shell

License: Apache License V2.0

Find on Github

The physical Web

The physical web extends the capabilities of the web we know into our physical world. This creates an open ecosystem where smart devices can broadcast URLs into the physical world around them. Devices such as phone or tablet captures these URLs and users can see a list of URLs and their offerings. This makes user experience with smart objects much like links in a web browser and interaction with just a tap, eliminating the need to download an app.

Any object can be embedded with a Bluetooth Low Energy (BLE) beacon, which is a low- powered, battery-efficient device that broadcasts content over Bluetooth. Beacons use Eddystone protocol to broadcast the URLs.

Languages used: Java, Objective-C, Python, HTML, Shell

License: Apache License V2.0

Find The physical web on Github

DragonBoard™ 410c

It is the first development board based on the Qualcomm® Snapdragon™ 400 series processor.

OS Support: Android 5.1 (Lollipop) on Linux Kernel 3.10, Linux based on Debian 8.0, and Windows 10 IoT Core

Memory/storages: 1GB LPDDR3 533MHz / 8GB eMMC 4.5 / SD 3.0 (UHS-I)

Connectivity and Location:

  • Wi-Fi 802.11 b/g/n 2.4GHz, integrated digital core
  • Bluetooth 4.1, integrated digital core
  • Qualcomm® IZat™ location technology Gen8C
  • On-board Wi-Fi, BT, and GPS antenna

The DragonBoard™ 410c is designed to support rapid software development, education, and prototyping.

It is ideal for building IoT products such as the following

  • Robotics
  • Cameras
  • Medical devices
  • Vending machines
  • Smart buildings
  • Digital signage
  • Casino gaming consoles


Netbeast is an environment-agnostic IoT platform where you need not worry about details like wireless protocols, brand-specific public APIs, or device detection when developing IoT systems.

“Plugins are the ‘secret sauce’ behind Netbeast’s API engine.” They allow you to control the devices through Netbeast API.

Netbeast applications allow you to control devices-to-device interaction. This brings in the interoperability between the devices of two or more different brands.

Languages used: JavaScript, HTML, Shell, Java, CSS

License: GNU Public License

Find Netbeast on Github

Ubuntu Core Snappy

It is a tiny operating system designed for IoT devices. At the heart of Ubuntu Core Snappy there is a super-secure, remotely upgradable, Linux application package known as “snaps.”

Ubuntu Core Snappy is transactional in nature; i.e., failures are automatically rolled back. This gives developers enough confidence to build new features into the system and fix issues without messing it up.

Ubuntu Core Snappy is compatible with desktops, servers, Intel Joule, Qualcomm Dragonboard, Samsung Artik, Raspberry Pi2, and Raspberry Pi3.

Languages used: Shell, Go, Python, C++, C

Find Ubuntu Core Snappy on Github


IoTivity is a software framework which enables seamless connectivity between the devices. This project is sponsored by OIC, which is a group of technology companies, including Samsung and Intel.

IoTivity is designed for constrained devices and supports multiple operating systems. Server component of IoTivity is designed to run on small devices, however, the client applications can run on high-end devices like tablets, cell phones, televisions, etc.

It supports Bluetooth Low Energy using GATT, Bluetooth EDR (Enhanced Data Rate) using RFCOMM, Dual IPv4/v6 stack, and XMPP (remote access connectivity).

Languages used: C++, C, Shell, JavaScript, Python

License: Apache License V2.0

Find IoTivity on Github

AllJoyn (AllSeen Alliance)

AllJoyn is an open source software framework which enables devices and frameworks to discover, communicate, and collaborate with each other, independent of product category, platform, brand, and connection type. AllJoyn achieves interoperability among the products and applications using D-Bus message bus.

Project AllJoyn is led by Qualcomm and is supported by major OEM and ODM partners such as LG, Xiaomi, LeTV, Foxconn, Technicolor, and Innotek. Applications of AllJoyn can be found in the field of Connected Home, Broadband Gateways, Smart TV, Automotive, etc.

Languages used: C, C++, Java, Objective-C, JavaScript

License: Creative Commons License

Find AllJoyn on Github


Graphically design your farms with just a drag and drop and the rest is taken care of by FarmBot. It is the first commercial version of this autonomous gardening idea.

FarmBot is an all-in-one kit with almost everything you need to get started, which includes

  • All the metal frames
  • Nozzles
  • Motors
  • Belts
  • Pulleys
  • Raspberry Pi 3 and others

Kaa project

Kaa project is a platform for building, managing, and integrating applications in IoT. It also provides a mechanism for the delivery of configurable event messages across the connected devices.

Kaa has a innovative concept of the endpoint profile which includes client-side and server-side components. Client-side endpoint profile has a set of data that the client components have exposed to Kaa application.

Server-side endpoint profile has a set of data that is controlled by Kaa server users via Admin UI or by other server apps via REST API. These profiles can be used to organize the endpoints into groups. These endpoint groups can be used, to send targeted notifications, etc.

Languages used: Java, C, Objective-C, C++, Python, Shell

License: Apache License V2.0

Find Kaa project on Github

"In real source, you have the right to control your own destiny" - Linus Torvalds

Hackerearth Subscribe

Get advanced recruiting insights delivered every month

Related reads

8 Top Tech Skills to Hire For in 2024
8 Top Tech Skills to Hire For in 2024

8 Top Tech Skills to Hire For in 2024

Hiring is hard — no doubt. Identifying the top technical skills that you should hire for is even harder. But we’ve got your…

How HackerEarth and Olibr are Reshaping Tech Talent Discovery
How HackerEarth and Olibr are Reshaping Tech Talent Discovery

How HackerEarth and Olibr are Reshaping Tech Talent Discovery

In the fast-paced tech world, finding the right talent is paramount. For years, HackerEarth has empowered tech recruiters to identify top talent through…

Subjective Match on HackerEarth Assessments: Make Technical Screening Smarter
Subjective Match on HackerEarth Assessments: Make Technical Screening Smarter

Subjective Match on HackerEarth Assessments: Make Technical Screening Smarter

In tech or coding assessments, subjective questions are open-ended questions that require the candidate to provide a more detailed or nuanced response than…

7 New HackerEarth Assessments Product Updates in 2023 You Should Know About
7 New HackerEarth Assessments Product Updates in 2023 You Should Know About

7 New HackerEarth Assessments Product Updates in 2023 You Should Know About

This year, as the industry went through a hiring freeze, we at HackerEarth took the time to elevate our product lineup so that…

AI Recruiting Software: Revolutionizing the Hiring Process
AI Recruiting Software: Revolutionizing the Hiring Process

AI Recruiting Software: Revolutionizing the Hiring Process

In today’s dynamic business landscape, organizations are constantly seeking ways to optimize their talent acquisition strategies to attract and retain top performers. The…

A Detailed Guide on Conducting Effective System Design Interviews
A Detailed Guide on Conducting Effective System Design Interviews

A Detailed Guide on Conducting Effective System Design Interviews

System design interviews are becoming increasingly popular, and important, as the digital systems we work with become more complex. The term ‘system’ here…

Hackerearth Subscribe

Get advanced recruiting insights delivered every month

View More

Top Products


Engage global developers through innovation

Hackerearth Hackathons Learn more


AI-driven advanced coding assessments

Hackerearth Assessments Learn more


Real-time code editor for effective coding interviews

Hackerearth FaceCode Learn more

L & D

Tailored learning paths for continuous assessments

Hackerearth Learning and Development Learn more