Awesome IoT Awesome

A curated list of IoT. Everyone can contribute here!

Simliar Projects

  • Awesome Azure IoT45 3 - A curated list of awesome Azure Internet of Things projects and resources.
  • Awesome Android Things322 50 - A curated list of awesome Android Things tutorials, libraries and much more at one place
  • Awesome OpenIoT - A curated list of awesome open source IoT frameworks, libraries and software.
  • Awesome IoT749 98 - A curated list of awesome Internet of Things projects and resources.

ToC

Framework

  • Cylon3k 285 - JavaScript framework for robotics, physical computing, and the Internet of Things.
  • devify-server65 13 - s extremely light weight, and is very easy to use. It aims to help developers to create IoT application servers, faster.
  • Epoc.js - This framework provides an interface to access data from the Emotiv EPOC brain sensor using Node.js.
  • FogLight - is a lightweight runtime that enables makers of all ages and skill levels to create highly performant apps for embedded devices like Raspberry Pis.
  • framboos27 9 - is a small Java wrapper around the default GPIO driver on Linux boards like Raspberry Pi and BeagleBoard.
  • Freedomotic219 383 - is an open source, flexible, secure Internet of Things (IoT) application framework, useful to build and manage modern smart spaces.
  • GoBot4k 554 - Golang framework for robotics, physical computing, and the Internet of Things.
  • Grow IoT123 48 - is a full javascript based IoT stack with a simple API and basic user interface.
  • guh60 23 - is an open source IoT (Internet of Things) server, which allows to control a lot of different devices from many different manufacturers.
  • heimcontrol.js966 243 - Home-Automation with node.js and Raspberry PI.
  • IoT 433 MHz228 25 - IoT System to control 433 MHz RC power sockets, PIR, Door Sensors and much more.
  • IoT Edge186 79 - The Azure IoT Gateway SDK was our first step to enabling edge analytics in IoT solutions.
  • IoT SOL - The total solution that provides visual graphical programming for developing IoT applications.
  • IoTCloud 24 5 - An open source framework for IoT and Sensor Centric Applications.
  • johnny-five9k 1k - JavaScript Robotics and IoT programming framework, developed at Bocoup, Firmata Protocol.
  • Kura224 222 - an open-source framework for development of IoT applications
  • Lelylan - OpenSSL Source Lightweight Microservices Architecture for the Internet of Things. For developers.
  • Lightweight MQTT Machine Network ★ 21 ⧗ 1 - LWMQN is a machine network framework with MQTT. See also: IPSO Alliance Technical Archive.
  • Liota235 104 - is an open source offering for IoT solution developers and resides primarily on IoT gateways.
  • OpenDevice31 7 - Open IoT (Internet Of Things) Platform and Framework.
  • Pando Cloud96 56 - is the cloud part of Pando IoT solution. It's made of a bunch of tools, protocols and frameworks below: Pando Cloud, Pando Embedded Framework, Pando Protocol as so on.
  • Pingo - Generic API for controlling boards with programmable IO pins.
  • PolyMCU73 9 - has been designed from the beginning to be as flexible as possible: host OS independent, support any toolchain, any RTOS, any micro-controller vendor SDK.
  • rpi-gpio.js366 87 - Control Raspberry Pi GPIO pins with node.js.
  • SensorBee107 22 - Lightweight stream processing engine for IoT
  • Serverless17k 2k - Serverless is the application framework for building web, mobile and IoT applications exclusively on Amazon Web Services' Lambda and API Gateway.
  • Simgrid23 28 - is a scientific instrument to study the behavior of large-scale distributed systems such as Grids, Clouds, HPC or P2P systems.
  • Thingsboard IoT Gateway125 45 - open-source IoT Gateway - integrates devices connected to legacy and third-party systems with Thingsboard IoT Platform using OPC-UA and MQTT protocols.

Library

SDK

  • Armbian build SDK67 62 - for creating customized kernel and Debian based userspace for popular development boards.
  • AWS IoT Arduino Yún SDK115 48 - SDK for connecting to AWS IoT from an Arduino Yún.
  • Azure IoT Gateway SDK146 147 - contains the infrastructure and modules to create IoT gateway solutions.
  • Cylon.js For Intel IoT37 11 - is a JavaScript framework for robotics, physical computing, and the Internet of Things (IoT).
  • Electron - The Electron is a tiny cellular development kit based around U-Blox's SARA U-series (3G) or G-series (2G) cellular modem module and a STM32F205 ARM Cortex M3 microcontroller.
  • ESP8266 Arduino Core7k 4k - Arduino core for ESP8266 WiFi chip.
  • EZ-Connect Lite SDK84 54 - Marvell's Starter SDK for AWS IoT Service.
  • Microsoft Azure IoT SDK532 796 - SDKs for a variety of languages and platforms that help connect devices to Microsoft Azure IoT services.

Arduino

  • ArduinoJson3k 596 - An elegant and efficient JSON library for embedded systems.
  • Ino664 151 - Ino is a command line toolkit for working with Arduino hardware.
  • PJON847 107 - Digital communication framework for Arduino and IOT.
  • Windows Remote Arduino146 120 - Remote "Arduino Wiring" interface for Windows 8.1, Windows Phone 8.1 and Windows 10. Used to control an Arduino from a Universal Windows Platform application.
  • WiringPi277 106 - Gordon's Arduino wiring-like WiringPi Library for the Raspberry Pi.

Low Level

  • Amazon Echo Bridge572 182 - Amazon Echo Bridge allows you to quickly emulate a Phillips Hue bridge, bringing the ability to seamlessly integrate an Amazon Echo into various home automation systems.
  • aWOT41 6 - Web server library for Arduino, Teensy, ESP8266 and ESP32
  • btstack447 166 - Dual-mode Bluetooth stack, with small memory footprint.
  • CocoaMQTT547 125 - MQTT for iOS and OS X written with Swift.
  • Devices - Suite of libraries for IoT devices (written in Go).
  • fauxmoESP - Belkin WeMo emulator library for ESP8266.
  • inih436 150 - is a simple .INI file parser written in C.
  • IoT Helpers - A library that allows to easily interact with Windows 10 IoT Core features like GPIO, I2C and SPI devices.
  • IoTit Flashing tool2 1 - is an open source command-line utility for flashing (initializing) IoT devices.
  • krypton - Embedded TLS/DTLS library, source and binary compatible OpenSSL subset
  • Ladon172 34 - is a library written in Go for access control policies, similar to Role Based Access Control or Access Control Lists.
  • libtuv80 82 - Asynchronous I/O for IoT.js and embedded system.
  • LK861 164 - The LK embedded kernel. An SMP-aware kernel designed for small systems.
  • Magenta3k 491 - Magenta is a new kernel that powers the Fuchsia OS.
  • MATRIX OS42 16 - is a platform for running applications on the MATRIX Creator.
  • matrixssl63 17 - is an embedded SSL and TLS implementation designed for small footprint IoT devices requiring low overhead per connection.
  • MCUBoot55 25 - is a secure bootloader for 32-bit MCUs.
  • pingo-py - provides a uniform API to program devices like the Raspberry Pi, BeagleBone Black, pcDuino etc. just like the Python DBAPI provides an uniform API for database programming in Python.
  • polymcu73 9 - an open framework for micro-controller software.
  • Secure Device Grid - Secure device-to-device communication solution for IOT.
  • simbody1k 401 - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton.
  • SmartObject9 2 - A Smart Object Class that helps you with creating IPSO Smart Objects in your JS apps. See also: IPSO Alliance Technical Archive.
  • Soletta176 119 - Soletta Project is a framework for making IoT devices. With Soletta Project's libraries developers can easily write software for devices that control actuators/sensors and communicate using standard technologies.
  • SPIFFS402 163 - Wear-leveled SPI flash file system for embedded devices.
  • SUSI18 9 - is an application framework to build interfaces for arbitrary systems.
  • SwiftyGPIO664 67 - a Swift library to interact with Linux GPIO/SPI on ARM.
  • uIP136 67 - uIP is a very small implementation of the TCP/IP stack.
  • WifiDog458 279 - a complete and embeddable captive portal solution for wireless community groups or individuals.
  • Windows 10 IoT Core IoT Helpers38 12 - his library allows to easily interact with GPIO, I2C and SPI devices in Windows 10 IoT Core.
  • xfrp58 15 - frp client for openwrt&LEDE, frp is a fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
  • XiPKI81 25 - eXtensible sImple Public Key Infrastructure consists of CA and OCSP responder.
  • xkcptun73 16 - xkcptun is kcp tunnel for OpenWRT&LEDE, implemented in c language

App

  • Cordova BLE220 99 - Bluetooth Low Energy plugin for Cordova
  • Cordova MQTT Plugin - MQTT Cordova Plugin for Apache Cordova
  • IOT Espressif Android84 73 - is used to control ESP8266 device by Android pad or phone.
  • PhoneGap NFC413 240 - PhoneGap NFC Plugin
  • PWAify330 14 - Experimental project to convert your PWA (Progressive Web App) into a cross-platform Electron app. Brings PWAs to your desktop.
  • Summon - A platform for mobile devices that provides a convenient and scalable mechanism for IoT device interactivity, enabled by web-based interfaces and driven by the devices themselves.

Storage

  • hypergolix77 4 - is programmable cloud sync -- like Dropbox, but you integrate it into your applications instead of using it from the filesystem.
  • IoTDL - an SQL-like language for the IoT.
  • node-iotdb39 10 - Easily control the Internet of Things using Semantics.

Security

  • IoTSeeker This scanner will scan a network for specific types of IoT devices to detect if they are using the default, factory set credentials.

  • nShield24 5 - An Easy and Simple Anti-DDoS solution for VPS,Dedicated Servers and IoT devices based on iptables.

  • Scanners-Box - the toolbox of open source scanners.

  • trezor-crypto149 69 - 📙 Heavily optimized cryptography algorithms for embedded devices.

OS

  • Amazon FreeRTOS209 44 - is an operating system for microcontrollers that makes small, low-power edge devices easy to program, deploy, secure, connect, and manage.
  • Armbian - Debian based Docker enabled lightweight Linux for popular development boards. Optimised for embedded usage.
  • ARM mbed747 882 - The ARM® mbed™ IoT Device Platform provides the operating system, cloud services, tools and developer ecosystem to make the creation and deployment of commercial, standards-based IoT solutions possible at scale.
  • Brillo - Brillo extends the Android platform to all your connected devices.
  • Contiki3k 2k - The Open Source OS for the Internet of Things
  • f9-kernel234 78 - An efficient and secure microkernel built for ARM Cortex-M cores, inspired by L4
  • FlingOS245 42 - An educational operating system written in C#. A great stepping stone from high to low level development.
  • Huawei LiteOS203 181 - Huawei LiteOS Kernel.
  • Hypriot285 79 - HypriotOS for the Raspberry Pi is a Debian-based Container OS optimized for Docker.
  • JanOS98 17 - JanOS is an operating system designed to run on the chipset of mobile phones.
  • Linino66 26 - Linino is a GNU/Linux distribution based on OpenWRT and maintained by DogHunter.
  • Lua-RTOS-ESP32138 36 - is a real-time operating system designed to run on embedded systems, with minimal requirements of FLASH and RAM memory.
  • macchina.io340 115 - An open-source toolkit for building embedded IoT applications that connect sensors, devices and cloud services.
  • NodeOS - Lightweight operating system using Node.js as userspace.
  • NuttX - is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are Posix and ANSI standards.
  • OpenWrt1k 1k - OpenWrt is described as a Linux distribution for embedded devices.
  • pikoRT176 24 - A tiny Linux-like real-time kernel optimized for ARM Cortex-M chips.
  • Raspbian - Raspbian is a free operating system based on Debian optimized for the Raspberry Pi hardware.
  • RIOT2k 1k - The friendly Operating System for the Internet of Things
  • RT-Thread1k 865 - RT-Thread is an open source real-time operating system for embedded devices from China.
  • seL4 Microkernel2k 276 - The world's first operating-system kernel with an end-to-end proof of implementation correctness and security enforcement is available as open source.
  • Silk - is a free (as in free beer) firmware for a number of smartphones based on the open-source Android operating system with a nodejs layer on top of it that makes it possible to write programs and get access to hardware aspects using only simple JavaScript.
  • Snappy Ubuntu Core - Canonical, A new, transactionally updated Ubuntu for clouds and devices.
  • TachyOS11 3 - is the RTOS based on microkernel architecture which includes only minimal components like thread / synchronization, memory management, inter-thread communication while supporting execution context / address space isolation(protection) and extensible modular interface.
  • TinyAra16 4 - is a lightweight RTOS-based platform to support low-end IoT devices.
  • TinyOS329 209 - designed for low-power wireless devices, such as those used in sensor networks, ubiquitous computing, personal area networks, smart buildings, and smart meters.
  • Tock OS787 109 - is an operating system designed for running multiple concurrent, mutually distrustful applications on Cortex-M based embedded platforms.
  • trochili131 33 - A small RTOS optimized for the embedded/iot devices. Support Cortex M3.
  • Zephyr577 472 - is a small, scalable real-time operating system for use on resource-constrained systems supporting multiple architectures.

Android Things

Voice Controller

  • alexa-rubykit125 54 - implements a quick back-end service for deploying applications for Amazon's Echo (Alexa).
  • AlexaPi704 259 - Turn a Raspberry Pi into an Alexa Client.
  • flask-ask1k 152 - is a Flask extension that makes building Alexa skills for the Amazon Echo easier and much more fun.

Platform

  • [thing-it-node]36 11 - A device-independent IoT platform including support of complex event processing, storyboards, and a mobile app.
  • Blynk977 370 - is a platform with iOS and Android apps to control Arduino, ESP8266, Raspberry Pi and the likes over the Internet.
  • Clavin282 91 - Calvin is an application environment that lets things talk to things. It comprises of both a development framework for application developers, and a runtime environment that handles the running application.
  • DeviceHive - IoT Data Platform. Wide range of connectivity options, device management, security and data processing.
  • embARC Open Software Platform (OSP)12 4 - is a software distribution aimed at facilitating the development of embedded systems based on ARCv2 Processors.
  • flowchain-app - A Flowchain plugin that provides the flow-based programming (FBP) engine.
  • GrovePi261 272 - is an open source platform for connecting Grove Sensors to the Raspberry Pi.
  • I182024 2 - I1820 is a free open source platform which provides discovery, data collection and configuration services based on MQTT. I1820 implements a REST API for controlling the things and it stores all collected data in a Time-Series database named InfluxDB.
  • IoT.js1k 295 - Platform for Internet of Things with JavaScript.
  • IoTgo242 144 - is an open source IoT platform, like WordPress, ZenCart and all other open source software, you can deploy your own IoTgo cloud service.
  • Jasper - Jasper is an open source platform for developing always-on, voice-controlled applications.
  • Jasper - Jasper is an open source platform for developing always-on, voice-controlled applications.
  • KERBEROS.IO Web104 46 - a GUI to configure the machinery and to view events that were detected by the machinery.
  • Kitnic44 29 - A registry for ready to build open hardware electronics projects.
  • Lan283 124 - Internet of Things Server Layer with CoAP, WebSocket, MQTT, HTTP f
  • Mainflux52 11 - Mainflux is an open source and patent-free IoT cloud platform based on microservices.
  • Mobius6 9 - is the open source IoT server platform based on the oneM2M standard.
  • Mongoose IoT - is a full-stack IoT platform including firmware and cloud components available for ESP8266.
  • Nebula - A docker orchestrator designed to manage IoT devices
  • Pagenodes182 20 - Completely Browser Based IOT Platform, A Chrome Progressive Web App.
  • Particle(Spark) - Particle (formally Spark) is a complete, open source, full-stack solution for cloud-connected devices.
  • PharoThings - is a Live programming platform for IoT projects based on Pharo.
  • PlatformIO3k 472 - PlatformIO is a cross-platform code builder and the missing library manager.
  • Siemens MindSphere - Open, cloud-based IoT operating system (uses OPC UA as communication standard) from Siemens which is extensible with services.
  • ThingEngine12 3 - An open source platform for IoT rules that you can execute anywhere you want.
  • Thingsboard1k 373 - Open-source IoT Platform - Device management, data collection, processing and visualization.
  • Undercontrol80 7 - Simple realtime IoT Platform with MQTT and Web-sockets support
  • Hologram - Open source, full stack platform with standalone devices and usb plug in. Offers a free developer tier.

IoT Clouds

IIoT Clouds

APIs

  • OGC SensorThings API20 6 - The OGC SensorThings API is an OGC standard specification for providing an open and unified way to interconnect IoT devices, data, and applications over the Web
  • Qeo Tinq4 6 - Tinq is completely based on the Qeo publish/subscribe framework produced by Technicolor as explained in the license section.

Middleware

  • Kaa718 307 - Kaa open-source middleware platform for building, managing, and integrating connected products with the Internet of Everything.
  • Meact - task is to get metric from external stuff, write it to and perform various action.
  • OpenIoT311 167 - The OpenIoT middleware infrastructure will support flexible configuration and deployment of algorithms for collection
  • SiteWhere135 124 - SiteWhere open-source IoT platform for device connectivity & management, data persistence, processing, integration, and analytics -- both in cloud and on-premise.
  • ThingSpeak - ThingSpeak is an open source "Internet of Things" application and API to store and retrieve data from things using HTTP over the Internet or via a Local Area Network.

Toolkits Include Non-OS

Layered architecture of JTAG interface and TAP support

  • IoT Toolkit18 7 - Reference implementation of the smart object API
  • iot-adk-addonkit40 35 - Contains command line scripts for package creation and image creation process and samples for iot products based on RPi2/MBM.
  • KinomaJS397 53 - A JavaScript runtime optimized for the applications that power IoT devices.
  • macchina.io340 115 - An open-source toolkit for building embedded IoT applications that connect sensors, devices and cloud services.
  • OpenOCD22 15 - OpenOCD provides on-chip programming and debugging support with a
  • pyOCD166 123 - Open source python library for programming and debugging ARM Cortex-M microcontrollers using CMSIS-DAP.
  • Renode5 1 - a virtual development tool for multinode embedded networks.

Data Visualization

  • Arbela23 4 - Rich, Extensible, Customizable, and Configurable Dashboard.
  • Crouton144 39 - is a dashboard that lets you visualize and control your IOT devices with minimal setup.
  • D3.JS53k 15k - A JavaScript visualization library for HTML and SVG
  • Dashing12k 1k - Dashing is a Sinatra based framework that lets you build beautiful dashboards.
  • ECharts27k 9k - Echarts is a commercial charting solution originally intended to address the report need of the Company's various business systems.
  • Freeboard4k 911 - A damn-sexy, open source real-time dashboard builder for IOT and other web mashups. A free open-source alternative to Geckoboard.
  • HighCharts5k 2k - Highcharts JS, the JavaScript charting framework
  • iotdashboard18 14 - Fast Django server for IOT Devices.
  • Shelloid20 1 - is an open source IoT-ready real-time big data web application platform built using Node.js and Clojure.
  • Thingsboard1k 373 - Open-source IoT Platform - Device management, data collection, processing and visualization.

Hardware

  • APixel - APixel is a combination of a ESP8266 dev board with a WS2812B (Addressable RGB) LED all in one.
  • Arduino - open-source electronics platform based on easy-to-use hardware and software.
  • Arduino ZERO - This board aims to provide a platform for innovative projects in smart IoT devices, wearable technology, high-tech automation, crazy robotics, and much more.
  • BeagleBone - BeagleBone Black is a low-cost, community-supported development platform for developers and hobbyists.
  • Bitsy Bits - is an IoT composite project. This means it has all parts to implement the full user experience.
  • Carloop31 12 - Make apps for your car using signals from OBD-II, CAN and GPS. Publish data online using the Particle platform.
  • Cheapduino - CheapDuino is the most cheapest Arduino compatible processor in the world.
  • ESP8266 Smartwatch95 24 - ESP8266 DIY WiFi Smartwatch with MPU-9250, RTC, OLED, FT232, ...
  • Intel Galileo - Galileo is a microcontroller board based on the Intel® Quark SoC X1000 Application Processor, a 32-bit Intel Pentium-class system on a chip
  • Microduino - Microduino is about the size of a quarter and less than half the size of the original Arduino board.
  • NodeMCU - a firmware based on ESP8266 wifi-soc.
  • Powerduino43 5 - A fully programmable power strip with energy monitoring and wireless connectivity.
  • PULPino341 70 - PULPino is an open-source microcontroller system, based on a small 32-bit RISC-V core developed at ETH Zurich.
  • Raspberry Pi - a tiny and affordable computer that you can use to learn programming through fun, practical projects
  • SquareWear - An Open-Source Arduino-based Wearable Microcontroller
  • Tessel - Tessel is a completely open source and community-driven IoT and robotics development. platform.
  • Wemos - Very-cheap firmware based on ESP8266 wifi-soc.
  • Widora113 135 - Widora is open source WiFi development hardware prototype with sound card based on MT7688A running OpenWrt1k 1k .

Home Automation

  • CK.HomeAutomation25 14 - The first open source Home Automation SDK for Windows 10 IoT Core.
  • Eclipse SmartHome - Smart Home adoption will only gain momentum if the different devices can be connected into over-arching use cases, but currently the market for Smart Home systems and IoT gadgets is heavily fragmented.
  • Floorplan for Home Assistant14 2 - he Home Assistant front end provides a great way of viewing and interacting with your entities.
  • heimcontrol.js966 243 - Home-Automation with node.js and Raspberry PI
  • home-assistant3k 767 - Open-source home automation platform running on Python 3
  • home.pi189 65 - Home Automation with AngularJS and MQTT on a Raspberry Pi
  • Homebridge6k 903 - Homebridge is a lightweight NodeJS server you can run on your home network that emulates the iOS HomeKit API.
  • Lumos - aims to change that by pairing with WiFi and uses Machine Learning to adjust the light to match your sleep schedule.
  • Magic Mirror950 190 - A ⚡Magic Mirror⚡ powered by a UWP Hosted Web App.
  • Mozilla Smart Home6 2 - offers a middle ground between "in a box" solutions like Apple Homekit and DIY solutions like Raspberry Pi
  • MyController74 63 - is automation controller for home, office or any place.
  • Ninja Blocks - Smart home controller. A computer for the coffee table.
  • openHAB4k 2k - a vendor and technology agnostic open source automation software for your home.
  • [openhab 2](https://github.com/openhab/openhab4k 2k 2) - The open Home Automation Bus (openHAB) project aims at providing a universal integration platform for all things around home automation.
  • pimatic510 175 - A home automation server and framework for the raspberry pi running on node.js
  • Pimatic510 175 - A home automation server and framework for the raspberry pi running on node.js.
  • PrivateEyePi - Home Automation and Monitoring Projects for Raspberry Pi
  • RaZberry - RaZberry brings Z-Wave to the Raspberry PI platform.
  • Smart Mirror2k 789 - The fairest of them all. A DIY voice controlled smart mirror with IoT integration.
  • Sonoff-HomeAssistant127 27 - is alternative firmware for the brilliant & cheap ($ not quality) range of Sonoff range of ESP-8266 based WiFi controlled switches.
  • Vör36 5 - is open source software and hardware for turning your open office into an open, real-time map for finding people, open work places and current events.

IDE

  • Angular 2 IoT75 12 - is an experimental technology that allows you to program physical hardware (buttons, LEDs, etc.) using Angular 2.
  • DevIoT197 47 - Sublime Text plugin for IoT development.
  • Platformio Atom IDE372 65 - The next generation integrated development environment for IoT.
  • Stino2k 293 - is a Sublime Text plugin that provides an Arduino-like environment for editing, compiling and uploading sketches.
  • WyliodrinSTUDIO61 36 - Wyliodrin STUDIO is a Chrome based IDE for software and hardware development for IoT and Embedded Linux systems.

Robotics

  • AirSim4k 883 - is a simulator for drones (and soon other vehicles) built on Unreal Engine.
  • artoo2k 153 - Ruby framework for robotics and the Internet of Things.
  • hubot14k 4k - A customizable life embetterment robot.

Others

for embedded systems (IoT in mind).

  • Corto54 8 - Corto is a tested, proven architecture for normalizing data from different technologies into one view regardless of location, format or datamodel.
  • Emul870 16 - is an emulator of various embedded systems. With Emul8 you can develop embedded software entirely in a virtual environment that runs within your PC.
  • ESP8266 Deauther2k 594 - allows you to perform a deauth attack with an ESP8266 against selected networks.
  • fluent-bit456 97 - is a data collector for Linux, Embedded Linux, OSX and BSD family operating systems.
  • Kamanja24 6 - is an open-source continuous decisioning engine that is hardened for enterprise reliability requirements, scalable to IoT level data volumes, and enables low latency use cases.
  • Kuzzle520 48 - Open-source Back-end, self-hostable & ready to use - Real-time, storage, advanced search - Web, Apps, Mobile, IoT.
  • Node-RED6k 2k - A visual tool for wiring the Internet of Things.
  • Parlay9 1 - is software that brings visibility and accessibility to embedded devices.
  • redzilla13 3 - is a service which allow to create easily instances of node-red.
  • RemoteDebug36 8 - A library to remote debug over telnet connection!
  • rio78 7 - An open source library allowing you to create an internet connected LED wall
  • Sonoff-Tasmota2k 601 - Provide ESP8266 based itead Sonoff with Web, MQTT and OTA firmware using Arduino IDE.
  • tinyVP - is a very small and lean hypervisor using MIPS R5 hardware VZ option
  • vorto81 66 - is a toolset that lets you describe devices using a simple language and share these descriptions, so-called Information Models, in a centralized Vorto Repository.

Language

  • ELIoT1 1 - Extensible Language for Everyday (and the Internet of Things)
  • eLua256 108 - Quickly prototype and develop embedded software applications with the power of Lua and run them on a wide range of microcontroller architectures.
  • ESP Basic78 66 - Basic Interpreter for the ESP8266
  • JerryScript2k 259 - A JavaScript engine for Internet of Things.
  • luvit3k 346 - Node.JS for the Lua Inventor.
  • MicroPython6k 2k - MicroPython is a lean and fast implementation of the Python 3 programming language that is optimised to run on a microcontroller.
  • szl119 14 - is a tiny, embeddable scripting engine inspired by Tcl and shell.
  • Terra2k 142 - is a low-level system programming language that is embedded in and meta-programmed by the Lua programming language.
  • V71k 169 - V7 is a JavaScript engine written in C. It makes it possible to program Internet of Things (IoT) devices in JavaScript.

Others

  • ESP8266-Wifi-Relay78 29 - ESP8266-ESP12e Wifi Doppel Relay IOT Unterputz Montage möglich / Schaltaktor.
  • K3PO18 43 - is a network driver and language agnostic testing tool.
  • LittleD - A relational database for embedded devices and sensors nodes.
  • mbed TLS939 584 - An open source, portable, easy to use, readable and flexible SSL library
  • Mongoose4k 1k - Mongoose is ideal for embedded environments, it has been designed as an open source platform for connecting devices and bringing them online.
  • Mongoose Flashing Tool14 5 - Mongoose Flashing Tool (also called MFT) is the Mongoose IoT Platform flashing tool.
  • UniK1k 114 - is a tool for compiling application sources into unikernels (lightweight bootable disk images) rather than binaries.

Protocol Library

MQTT

  • Aphid46 19 - A lightweight MQTT 3.1.1 client written in pure Swift 3.
  • arduino-mqtt169 69 - MQTT library for Arduino based on the Eclipse Paho projects.
  • Eclipse Paho JavaScript client202 78 - The Paho JavaScript Client is an MQTT browser-based client library written in Javascript that uses WebSockets to connect to an MQTT Broker.
  • Eclipse Paho MQTT C client252 251 - This code builds libraries which enable applications to connect to an MQTT broker to publish messages, and to subscribe to topics and receive published messages.
  • emqttd3k 674 - Erlang MQTT Broker
  • ESP8266 MQTT723 258 - MQTT client library for ESP8266 Soc
  • Espruna - Firmware for ESP8266 based smart switches. Includes Web GUI, MQTT and AOT software updates.
  • gLeam36 3 - A operation cluster based on MQTT.
  • Homie for ESP8266617 153 - An Arduino for ESP8266 implementation of Homie, an MQTT convention for the IoT.
  • Homie Server70 15 - A Web server for Homie, an MQTT convention for the IoT.
  • Java mqtt-client679 264 - A Java MQTT Client.
  • LightMQTT14 2 - is a lightweight MQTT client, written in Swift.
  • m2mqtt89 51 - MQTT Client Library for .Net and WinRT.
  • microTT - is a lightweight and efficient MQTT broker designed to raise the bar for pub/sub performance.
  • moquette679 362 - Java MQTT lightweight broker.
  • mosca2k 461 - Mosca is a node.js mqtt broker.
  • Mosquitto856 399 - An Open Source MQTT v3.1/v3.1.1 Broker.
  • MQTT Kafka Bridge - Bridge which consumes MQTT messages and republishes them on Kafka on the same topic.
  • MQTT.js3k 553 - The MQTT client for Node.js and the browser.
  • neurite11 3 - A serial to MQTT bridge, an easier way to build IoT product with esp8266 Arduino.
  • paho.mqtt.wxapp - paho.mqtt.javascript可以让你在微信小程序里连接MQTT broker,实现在小程序里控制硬件,也可用于游戏。
  • strong-pubsub116 15 - PubSub for Node.js, Browser, Mobile and IoT
  • SurgeMQ - is a high performance MQTT broker and client library that aims to be fully compliant with MQTT 3.1 and 3.1.1 specs.
  • VerneMQ1k 140 - A distributed MQTT message broker.
  • WolfSSL MQTT67 29 - A C MQTT library that works with WolfSSL.

CoAP

  • Californium305 270 - Californium is a Java implementation of CoAP for the IoT backend and less constrained IoT devices.
  • CoAP.NET70 40 - A C# implementation of the CoAP protocol.
  • Copper28 3 - A Firefox add-on to browse the Internet of Things.
  • Go CoAP42 11 - Implementation of CoAP in go.
  • h5.coap16 5 - Implementation of the Constrained Application Protocol (CoAP) client for node.js.
  • iCoAP10 1 - Objective-C Client Implementation of CoAP.
  • lobaro-coap33 5 - Complete CoAP Implementation in C.
  • mbed CoAP5 6 - makes it easy to integrate a Java SE enabled device with coap based services like mbed Cloud.
  • [microcoap](https://github.com/ - -/microcoap) - A small CoAP implementation for microcontrollers.
  • MQTT Client Framework807 254 - iOS, OSX, tvOS native ObjectiveC MQTT Client Framework.
  • Node CoAP243 82 - node-coap is a client and server library for CoAP modeled after the http module.
  • PubSub Client1k 534 - A client library for the Arduino Ethernet Shield that provides support for MQTT.
  • Python CoAP50 53 - A CoAP Python library.
  • SwiftCoAP33 13 - Swift Server/Client Implementation of CoAP.
  • txThings46 20 - CoAP library for Twisted framework.

Spark

  • spark-protocol100 46 - Node.JS module for hosting direct encrypted CoAP socket connections.
  • spark-server470 143 - An API compatible open source server for interacting with devices speaking the spark-protocol

WeMo

SMCP

  • SMCP92 40 - is an experimental CoAP-based machine-to-machine (M2M) protocol that is in the early stages of development.

Lora

  • LoRa Gateway Bridge128 69 - is a service which abstracts the packet_forwarder UDP protocol running on most LoRa gateways into JSON over MQTT.
  • LoRa Server651 287 - LoRa Server is an open-source LoRaWAN network-server.
  • LoRaPI33 8 - Raspberry PI Lora Gateway/Node for RFM92/95/96/98/69HCW Modules.
  • LowCostLoRaGw161 93 - Low-cost LoRa IoT & gateway with SX1272/76, Raspberry and Arduino.

OSGP

  • OSGP Platform24 15 - is an open, generic, scalable and independent 'Internet of Things' platform, which enables various connected smart objects in the public space to be easily controlled and monitored.

OpenThread

  • OpenThread1k 432 - OpenThread is an open-source implementation of the Thread networking protocol.
  • OpenThread Border Router18 8 - An open source border router, built to work with OpenThread.

Others

  • Anjay36 18 - is a C library that aims to be the reference implementation of the OMA Lightweight Machine-to-Machine (LwM2M) device management protocol.
  • libimobiledevice1k 484 - A library to communicate with services of Apple iOS devices using native protocols.
  • MeQ - is a real-time communication service for connecting online devices.
  • OSS-720 29 - is an open source implementation of the DASH7 Alliance protocol for ultra low power wireless sensor communication.

Fork

  • AWS IoT Button6 5 - Emulate the AWS IoT Button on a Raspberry Pi with a simple push button using this C++ sample.

Hardware Com

Bluetooth

NFC

  • Adafruit_NFCShield_I2C96 79 - I2C Driver for Adafruit's PN532-based NFC Shield
  • Chrome App NFC Library50 23 - With this simple library, you can build a Chrome App that communicates over USB with NFC Readers.
  • LibLogicalAccess97 36 - C++ RFID Library for Windows/Linux/Mac. For PC/SC, NFC, ISO compliant and proprietary hardware.
  • libnfc308 156 - Platform independent Near Field Communication library.
  • NFC Tools for Java115 46 - NFCTools is a collection of libraries and tools for NFC in Java.
  • Node NFC57 35 - A first try at binding libnfc to node.
  • RFIDIOt195 51 - python RFID / NFC library & tools.

Serial

  • rxtx20 22 - a Java cross platform wrapper library for the serial port

Others

  • Balena129 3 - is a new container engine purpose-built for embedded and IoT use cases and compatible with Docker containers.
  • Drake882 582 - is a toolbox maintained by the Robot Locomotion Group at the MIT Computer Science and Artificial Intelligence Lab (CSAIL).
  • IBM messaging - Community around IBM Messaging products.
  • IotWeb22 15 - A Embedded HTTP and WebSocket Server for UWP/.NET 4.5.
  • Mender: Deployment Service9 14 - Microservice for managing software deployments for IIoT devices within Mender ecosystem.
  • meshblu858 223 - Machine-to-machine instant messaging platform for the internet of things.
  • Python Enocean24 34 - A Python library for reading and controlling EnOcean devices.
  • React Native ESP8266 Smartconfig29 12 - a react-native module for ESP8266 ESPTOUCH Smart config.
  • Servo13k 3k - is a prototype web browser engine written in the Rust language.
  • The Things Network311 250 - The Things Network is a global open crowdsourced Internet of Things data network.
  • The Things Network Arduino Library36 38 - is an Arduino Library for Arduino devices like The Things Uno and Node to communicate via The Things Network.
  • WAMP Protocol89 26 - The Web Application Messaging Protocol The Web Application Messaging Protocol.

Software

  • Copper28 3 - A Firefox add-on to browse the Internet of Things
  • Processing4k 1k - Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.

Tools

  • Paho - The Paho project provides open-source client implementations of MQTT and MQTT-SN messaging protocols aimed at new, existing, and emerging applications for Machine‑to‑Machine (M-2-M) and Internet of Things (IoT).
  • Smart.js505 78 - Embedded Javascript engine for C/C++ with networking, file, database and device interfaces

Voice

  • chelexa3 2 - Natural voice recognition IoT cloud chess solution via the Amazon Echo platform.

AI

  • libdeep66 48 - A deep learning library for C/C++.

Resources-Websites-Projects

Course

WebSite

  • Eclipse IoT - Eclipse Foundation IoT top level project and working group.
  • Hackday - Discover. Get inspired. Repeat. Hack things for the better.
  • IBM IoT - IBM DeveloperWorks for IoT
  • Infoq IoT Weekly - Weekly IoT News, Open Source Project, Hardware
  • Instructables - tech - Explore the Biggest How To and DIY community where people make and share inspiring, entertaining, and useful projects, recipes, and hacks.
  • Makezie - DIY Projects and Ideas for Makers.

Blog

Group

GitHub Org.

Free Book

  • Design IoT1k 420 - A Ebook to tech your create IoT System step by step.
  • IoT-Firstep - A Ebook to tech your create IoT System.
  • IPv6-WSN-Book63 21 - an easy guide to Wireless Sensor Networks (WSN), IPv6 and the Internet of Things (IoT).
  • Using the Web to Build the IoT - A collection of six hand-picked chapters that introduce the key technologies and concepts for building the application layer of the IoT.

Related Resources Projects

Tutorial

Edge

  • 346 77 - is an Open Source Framework for IoT Edge Apps & Integration.

AI

  • ELL307 62 - allows you to build and deploy machine-learned pipelines onto embedded platforms, like Raspberry Pis, Arduinos, micro:bits, and other microcontrollers.
  • Machinery240 51 - is a low-budget video surveillance solution, that uses computer vision algorithms to detect changes, and that can trigger other devices.
  • TensorFlow for Raspberry Pi843 178 - tep-by-step instructions for installing TensorFlow from source using Bazel (which is also compiled from-scratch), as well as pre-built TensorFlow binaries.

Analytics

  • NetData28k 2k - is a system for distributed real-time performance and health monitoring.
  • Piwik9k 2k - Piwik is the leading Free/Libre open analytics platform.
  • Samsara72 13 - is a real-time analytics platform.

Digital Twins

  • Eclipse Ditto9 3 is the open-source project of Eclipse IoT that provides a ready-to-use functionality to manage the state of Digital Twins.

Others

  • connectthedots167 139 - Connect tiny devices to Microsoft Azure services to build IoT solutions
  • django-th1k 113 - take the control of your data with this opensource clone of IFTTT, a bridge between your internet services.
  • Freeboard4k 911 - A damn-sexy, open source real-time dashboard builder for IOT and other web mashups. A free open-source alternative to Geckoboard.
  • Serverless Reference Architecture: IoT Backend139 35 - Serverless Reference Architecture for creating an IoT Backend.
  • souliss260 141 - Arduino based Distributed Networking Framework for Smart Homes and IoT.

Contributing

Your contributions are always welcome! Please submit a pull request or create an issue to add a new framework, library or software to the list. Do not submit a project that hasn’t been updated in the past 6 months or is not awesome.