35 Open Source tools for Internet of Things

If you have heard about the Internet of Things many times by now, its time to join the conversation. Explore the many open source tools & projects related to Internet of Things.


IoT Development Tools

1. Arduino

Arduino is an open-source prototyping platform based on easy-to-use hardware and software. It is both a hardware specification for interactive electronics and a set of software that includes an IDE and the Arduino programming language. The website explains that Arduino is "a tool for making computers than can sense and control more of the physical world than your desktop computer."
Project: A Smart night lamp for kids- Lights up when dark and changes color automatically. Step by step tutorial with full source code!

2. Eclipse IoT Project

Have you heard of the Lua programming language yet? Eclipse is sponsoring several different projects surrounding IoT. They include application frameworks and services; open source implementations of IoT protocols and tools for working with Lua, which Eclipse is promoting as an ideal IoT programming language. Eclipse-related projects include MihiniKoneki and Paho.

Project: The Paho project provides reliable open-source implementations of open and standard messaging protocols aimed at new, existing, and emerging applications for Machine-to-Machine (M2M) and Internet of Things (IoT).

3. Kinoma

Kinoma, a Marvell Semiconductor hardware prototyping platform encompasses three different open source projects. Kimona Create is a DIY construction kit for prototyping electronic devices. Kimona Studio is the development environment that works with Create and the Kinoma Platform Runtime. Kimona Connect is a free iOS and Android app that links smartphones and tables with IoT devices. Github

Sparkle Motion: Create an LED world map driven by global Twitter traffic data.

4. M2MLabs Mainspring

M2MLabs Mainspring is an open source application framework for building machine to machine (M2M) applications such as remote monitoring, fleet management or smart grid.Its capabilities include flexible modeling of devices, device configuration, communication between devices and applications, validation and normalization of data, long-term data storage, and data retrieval functions. It's based on Java and the Apache Cassandra NoSQL database. M2M applications can be prototyped in hours rather than weeks and finally transfered to a high performance execution environment built on top of a standard J2EE server and the highly scaleable Apache Cassandra database.

Tutorial Sample project: This tutorial covers sensor and device modeling, device creation, data retrieval and data display in the M2M platform.

5. Node-RED

A visual tool for wiring the Internet of Things i.e wiring together hardware devices, APIs and online services in new and interesting ways. Built on Node.js, Node-RED describes itself as "a visual tool for wiring the Internet of Things." It allows developers to connect devices, services and APIs together using a browser-based flow editor. It can run on Raspberry Pi, and more than 60,000 modules are available to extend its capabilities.

Contribute to the Node-Red IBM project or on node-red github.


6. Arduino Yún

Arduino is an open-source electronics platform based on easy-to-use hardware and software. This microcontroller combines the ease of an Arduino-based board with Linux. It includes two processors—the ATmega32u4 (which supports Arduino) and the Atheros AR9331 (which runs Linux). Other features include Wi-Fi, Ethenet support, a USB port, micro-SD card slot, three reset buttons and more.

Project: Ultrasonic Map-Maker using an Arduino Yun- Generates maps based on distance between itself and obstacles autonomously and provides visual feedback.

7. BeagleBoard

BeagleBoard offers credit-card sized computers that can run Android and Linux. Because they have very low power requirements, they're a good option for IoT devices. Both the hardware designs and the software they run are open source, and BeagleBoard hardware (often sold under the name BeagleBone) is available through a wide variety of distributors. Experiment with Linux, Android and Ubuntu and jump-start development in five minutes with the included USB cable.

Project: Measuring Temperature with a BeagleBone Black, learn how to connect temperature sensor to a BeagleBone Black.

8. Flutter

Flutter is a programmable processor core for electronics projects, designed for hobbysits, students, and engineers.Flutter's claim to fame is its long range. This Arduino-based board has a wireless transmitter that can reach more than a half mile. Plus, you don't need a router; flutter boards can communicate with each other directly. It includes 256-bit AES encryption, and it's easy to use. Github

9. LightBlue Bean Punch Through

The LightBlue Bean is a low energy Bluetooth Arduino microcontroller. Using Bluetooth 4.0, it is programmed wirelessly, runs on a coin cell battery, and is perfect for smartphone controlled projects. With Bean, you can program wirelessly from any of your devices. No more unscrewing screws and ungluing glue. Github

10. Microduino

Microduino presents the world’s smallest series of Arduino-compatible smart modules that are small, flexible, stackable and powerful, and can be used to create a limitless amount of DIY projects. Microduino offers really small boards that are compatible with Arduino. Interactive Projects

11. OpenPicus

OpenPicus is an Italian hardware company who designs and produce Internet of Things system on modules called Flyport. Flyport is open hardware and the openPicus framework and IDE are open software. Its platform and hardware are open source, but its products can be used to create closed source commercial products. The company also offers its development services for hire. Project guides