Hire top tech talent with our recruitment platform
Access Free Demo17 open source IoT projects to work on in 2017
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 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
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
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
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
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
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
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
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
Macchina.io 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.
macchina.io brings together power of JavaScript in rapid application development with the performance of native C++ code. macchina.io is based on V8 JavaScript engine and POCO C++ libraries.
Languages used: C++, C, Objective-C, Makefile, HTML, Shell
License: Apache License V2.0
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
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
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
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
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 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
Get advanced recruiting insights delivered every month
Related reads
Benchmark Metrics to Improve Your Recruiting Funnel
In a competitive job market, recruiting the right talent efficiently and effectively can set your organization apart. However, even with a streamlined hiring…
What Is a 30-60-90 Day Plan for New Managers?
Transitioning to a managerial position can be both thrilling and a bit daunting. To help managers establish themselves quickly and gain success in…
Top 10 SaaS Recruitment Software
The competition for good jobs is very high, and SaaS recruitment software is used in modern companies to manage the vast pool of…
How Talent Assessment Tests Improve Hiring Accuracy and Reduce Employee Turnover
Recruiting the right candidates is a science and an art. In the current world where employment opportunities are scarce, employers require more than…
10 Digital Interviewing Tips for Employers
The shift to remote work has brought digital interviewing to the forefront of recruitment strategies. Video interviews, live coding challenges, and online assessments…
Best Offboarding Software in 2025
Offboarding is as important to an organization’s talent management system and strategy as onboarding is. An effective offboarding process is how employees are…