Awesome IoT 
A curated list of IoT. Everyone can contribute here!
Framework
- Cylon ★ 2339 ⧗ 0 - JavaScript framework for robotics, physical computing, and the Internet of Things.
- devify-server ★ 53 ⧗ 1 - s extremely light weight, and is very easy to use. It aims to help developers to create IoT application servers, faster.
- GoBot ★ 2062 ⧗ 1 - Golang framework for robotics, physical computing, and the Internet of Things.
- Grow IoT ★ 7 ⧗ 7 - is a full javascript based IoT stack with a simple API and basic user interface.
- heimcontrol.js ★ 1306 ⧗ 4 - Home-Automation with node.js and Raspberry PI.
- IoT 433 MHz ★ 121 ⧗ 11 - IoT System to control 433 MHz RC power sockets, PIR, Door Sensors and much more.
- IoT SOL ★ 38 ⧗ 0 - The total solution that provides visual graphical programming for developing IoT applications.
- IoTCloud 2 ★ 14 ⧗ 50 - An open source framework for IoT and Sensor Centric Applications.
- johnny-five ★ 6024 ⧗ 0 - JavaScript Robotics and IoT programming framework, developed at Bocoup, Firmata Protocol.
- Kura ★ 85 ⧗ 1 - an open-source framework for development of IoT applications
- Lelylan ★ 647 ⧗ 1 - OpenSSL Source Lightweight Microservices Architecture for the Internet of Things. For developers.
- Liota ★ 162 ⧗ 2 - is an open source offering for IoT solution developers and resides primarily on IoT gateways.
- OpenDevice ★ 23 ⧗ 8 - Open IoT (Internet Of Things) Platform and Framework.
- Pando Cloud ★ 75 ⧗ 2 - 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 ★ 211 ⧗ 0 - Generic API for controlling boards with programmable IO pins.
- rpi-gpio.js ★ 221 ⧗ 5 - Control Raspberry Pi GPIO pins with node.js.
- SensorBee ★ 54 ⧗ 33 - Lightweight stream processing engine for IoT
- Serverless ★ 7951 ⧗ 0 - Serverless is the application framework for building web, mobile and IoT applications exclusively on Amazon Web Services’ Lambda and API Gateway.
Library
SDK
Arduino
- ArduinoJson ★ 873 ⧗ 0 - An elegant and efficient JSON library for embedded systems.
- Ino ★ 874 ⧗ 1 - Ino is a command line toolkit for working with Arduino hardware.
- PJON ★ 427 ⧗ 4 - Digital communication framework for Arduino and IOT.
- Windows Remote Arduino ★ 98 ⧗ 13 - 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.
- WiringPi ★ 455 ⧗ 11 - Gordon’s Arduino wiring-like WiringPi Library for the Raspberry Pi.
Low Level
- Amazon Echo Bridge - 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.
- btstack ★ 151 ⧗ 1 - Dual-mode Bluetooth stack, with small memory footprint.
- CocoaMQTT ★ 210 ⧗ 0 - MQTT for iOS and OS X written with Swift.
- Devices ★ 134 ⧗ 0 - Suite of libraries for IoT devices (written in Go).
- fauxmoESP - Belkin WeMo emulator library for ESP8266.
- inih ★ 312 ⧗ 3 - is a simple .INI file parser written in C.
- krypton ★ 7 ⧗ 35 - Embedded TLS/DTLS library, source and binary compatible OpenSSL subset
- Ladon ★ 114 ⧗ 2 - is a library written in Go for access control policies, similar to Role Based Access Control or Access Control Lists.
- libtuv ★ 19 ⧗ 17 - Asynchronous I/O for IoT.js and embedded system.
- LK ★ 312 ⧗ 0 - The LK embedded kernel. An SMP-aware kernel designed for small systems.
- Magenta ★ 286 ⧗ 0 - Magenta is a new kernel that powers the Fuchsia OS.
- matrixssl ★ 36 ⧗ 0 - is an embedded SSL and TLS implementation designed for small footprint IoT devices requiring low overhead per connection.
- 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.
- node-iotdb ★ 19 ⧗ 60 - Easily control the Internet of Things using Semantics.
- Secure Device Grid ★ 4 ⧗ 20 - Secure device-to-device communication solution for IOT.
- simbody ★ 540 ⧗ 0 - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton.
- Soletta ★ 96 ⧗ 2 - 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.
- SPIFFS ★ 174 ⧗ 0 - Wear-leveled SPI flash file system for embedded devices.
- SUSI ★ 13 ⧗ 150 - is an application framework to build interfaces for arbitrary systems.
- uIP ★ 246 ⧗ 3 - uIP is a very small implementation of the TCP/IP stack.
- WifiDog ★ 291 ⧗ 1 - a complete and embeddable captive portal solution for wireless community groups or individuals.
- Windows 10 IoT Core IoT Helpers ★ 25 ⧗ 0 - his library allows to easily interact with GPIO, I2C and SPI devices in Windows 10 IoT Core.
- XiPKI ★ 34 ⧗ 10 - eXtensible sImple Public Key Infrastructure consists of CA and OCSP responder.
App
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.
-
trezor-crypto ★ 94 ⧗ 1 - 📙 Heavily optimized cryptography algorithms for embedded devices.
OS
- ARM mbed ★ 629 ⧗ 0 - 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.
- Contiki ★ 1813 ⧗ 0 - The Open Source OS for the Internet of Things
- f9-kernel ★ 316 ⧗ 4 - An efficient and secure microkernel built for ARM Cortex-M cores, inspired by L4
- FlingOS ★ 176 ⧗ 0 - An educational operating system written in C#. A great stepping stone from high to low level development.
- Hypriot ★ 54 ⧗ 13 - get you started with Docker on a Raspberry Pi in no time.
- JanOS ★ 138 ⧗ 0 - JanOS is an operating system designed to run on the chipset of mobile phones.
- Linino ★ 83 ⧗ 13 - Linino is a GNU/Linux distribution based on OpenWRT and maintained by DogHunter.
- macchina.io ★ 144 ⧗ 0 - An open-source toolkit for building embedded IoT applications that connect sensors, devices and cloud services.
- NodeOS ★ 3605 ⧗ 0 - 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.
- OpenWrt ★ 230 ⧗ 173 - OpenWrt is described as a Linux distribution for embedded devices.
- Raspbian - Raspbian is a free operating system based on Debian optimized for the Raspberry Pi hardware.
- RIOT ★ 748 ⧗ 1 - The friendly Operating System for the Internet of Things
- RT-Thread ★ 493 ⧗ 0 - RT-Thread is an open source real-time operating system for embedded devices from China.
- seL4 Microkernel ★ 1344 ⧗ 1 - 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 ★ 74 ⧗ 2 - 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.
- TachyOS ★ 7 ⧗ 82 - 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.
- TinyOS ★ 543 ⧗ 0 - designed for low-power wireless devices, such as those used in sensor networks, ubiquitous computing, personal area networks, smart buildings, and smart meters.
- Tock OS ★ 243 ⧗ 1 - is an operating system designed for running multiple concurrent, mutually distrustful applications on Cortex-M based embedded platforms.
- trochili ★ 75 ⧗ 6 - A small RTOS optimized for the embedded/iot devices. Support Cortex M3.
- Zephyr ★ 12 ⧗ 5 - is a small, scalable real-time operating system for use on resource-constrained systems supporting multiple architectures.
IoT Clouds
IIoT Clouds
APIs
- Qeo Tinq ★ 6 ⧗ 392 - Tinq is completely based on the Qeo publish/subscribe framework produced by Technicolor as explained in the license section.
Middleware
- Kaa ★ 234 ⧗ 0 - Kaa open-source middleware platform for building, managing, and integrating connected products with the Internet of Everything.
- Meact ★ 6 ⧗ 43 - task is to get metric from external stuff, write it to DB and perform various action.
- OpenIoT ★ 205 ⧗ 0 - The OpenIoT middleware infrastructure will support flexible configuration and deployment of algorithms for collection
- SiteWhere ★ 61 ⧗ 0 - SiteWhere open-source IoT platform for device connectivity & management, data persistence, processing, integration, and analytics – both in cloud and on-premise.
- ThingSpeak ★ 743 ⧗ 0 - 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.
Layered architecture of JTAG interface and TAP support
- IoT Toolkit ★ 39 ⧗ 41 - Reference implementation of the smart object API
- iot-adk-addonkit ★ 8 ⧗ 1 - Contains command line scripts for package creation and image creation process and samples for iot products based on RPi2/MBM.
- KinomaJS ★ 293 ⧗ 0 - A JavaScript runtime optimized for the applications that power IoT devices.
- macchina.io ★ 144 ⧗ 0 - An open-source toolkit for building embedded IoT applications that connect sensors, devices and cloud services.
- OpenOCD ★ 10 ⧗ 34 - OpenOCD provides on-chip programming and debugging support with a
- pyOCD ★ 112 ⧗ 0 - Open source python library for programming and debugging ARM Cortex-M microcontrollers using CMSIS-DAP.
Data Visualization
- [iotdashboard ★ 7 ⧗ 14 - Fast Django server for IOT Devices.
- Arbela ★ 12 ⧗ 2 - Rich, Extensible, Customizable, and Configurable Dashboard.
- Crouton ★ 75 ⧗ 0 - is a dashboard that lets you visualize and control your IOT devices with minimal setup.
- D3.JS ★ 49188 ⧗ 0 - A JavaScript visualization library for HTML and SVG
- Dashing ★ 10067 ⧗ 0 - Dashing is a Sinatra based framework that lets you build beautiful dashboards.
- ECharts ★ 11457 ⧗ 0 - Echarts is a commercial charting solution originally intended to address the report need of the Company’s various business systems.
- Freeboard ★ 3034 ⧗ 0 - A damn-sexy, open source real-time dashboard builder for IOT and other web mashups. A free open-source alternative to Geckoboard.
- HighCharts ★ 4949 ⧗ 0 - Highcharts JS, the JavaScript charting framework
Hardware
- APixel ★ 8 ⧗ 31 - 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 ★ 3 ⧗ 36 - is an IoT composite project. This means it has all parts to implement the full user experience.
- Carloop ★ 6 ⧗ 0 - 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 Smartwatch ★ 39 ⧗ 0 - 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.
- Powerduino ★ 53 ⧗ 102 - A fully programmable power strip with energy monitoring and wireless connectivity.
- PULPino ★ 201 ⧗ 0 - 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.
- Widora ★ 15 ⧗ 21 - Widora is open source WiFi development hardware prototype with sound card based on MT7688A running OpenWrt.
Home Automation
- CK.HomeAutomation ★ 15 ⧗ 9 - 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.
- heimcontrol.js ★ 1306 ⧗ 4 - Home-Automation with node.js and Raspberry PI
- home-assistant ★ 3237 ⧗ 0 - Open-source home automation platform running on Python 3
- home.pi ★ 145 ⧗ 1 - Home Automation with AngularJS and MQTT on a Raspberry Pi
- Homebridge ★ 3030 ⧗ 0 - Homebridge is a lightweight NodeJS server you can run on your home network that emulates the iOS HomeKit API.
- Magic Mirror ★ 503 ⧗ 0 - A ⚡Magic Mirror⚡ powered by a UWP Hosted Web App.
- Mozilla Smart Home ★ 4 ⧗ 8 - offers a middle ground between “in a box” solutions like Apple Homekit and DIY solutions like Raspberry Pi
- Ninja Blocks - Smart home controller. A computer for the coffee table.
- openHAB ★ 2536 ⧗ 0 - a vendor and technology agnostic open source automation software for your home.
- openhab 2 - The open Home Automation Bus (openHAB) project aims at providing a universal integration platform for all things around home automation.
- pimatic ★ 313 ⧗ 0 - A home automation server and framework for the raspberry pi running on node.js
- Pimatic ★ 362 ⧗ 0 - 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 Mirror ★ 1181 ⧗ 0 - The fairest of them all. A DIY voice controlled smart mirror with IoT integration.
- Vör ★ 31 ⧗ 2 - 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 IoT ★ 10 ⧗ 4 - is an experimental technology that allows you to program physical hardware (buttons, LEDs, etc.) using Angular 2.
- DevIoT ★ 70 ⧗ 1 - Sublime Text plugin for IoT development.
- Platformio Atom IDE ★ 108 ⧗ 2 - The next generation integrated development environment for IoT.
- Stino ★ 1280 ⧗ 1 - is a Sublime Text plugin that provides an Arduino-like environment for editing, compiling and uploading sketches.
- WyliodrinSTUDIO ★ 25 ⧗ 2 - Wyliodrin STUDIO is a Chrome based IDE for software and hardware development for IoT and Embedded Linux systems.
Robotics
Others
- Corto ★ 15 ⧗ 4 - Corto is a tested, proven architecture for normalizing data from different technologies into one view regardless of location, format or datamodel.
- Emul8 ★ 50 ⧗ 71 - is an emulator of various embedded systems. With Emul8 you can develop embedded software entirely in a virtual environment that runs within your PC.
- fluent-bit ★ 90 ⧗ 4 - is a data collector for Linux, Embedded Linux, OSX and BSD family operating systems.
- Kamanja ★ 21 ⧗ 1 - 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.
- Kuzzle ★ 267 ⧗ 0 - Open-source Back-end, self-hostable & ready to use - Real-time, storage, advanced search - Web, Apps, Mobile, IoT.
- Node-RED ★ 2513 ⧗ 0 - A visual tool for wiring the Internet of Things.
- RemoteDebug ★ 17 ⧗ 11 - A library to remote debug over telnet connection!
- vorto ★ 32 ⧗ 3 - 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
- ELIoT ★ 76 ⧗ 48 - Extensible Language for Everyday (and the Internet of Things)
- eLua ★ 393 ⧗ 1 - Quickly prototype and develop embedded software applications with the power of Lua and run them on a wide range of microcontroller architectures.
- IoTDL ★ 9 ⧗ 8 - an SQL-like language for the IoT.
- JerryScript ★ 1244 ⧗ 0 - A JavaScript engine for Internet of Things.
- luvit ★ 2237 ⧗ 0 - Node.JS for the Lua Inventor.
- MicroPython ★ 3070 ⧗ 0 - MicroPython is a lean and fast implementation of the Python 3 programming language that is optimised to run on a microcontroller.
- Terra ★ 1248 ⧗ 0 - is a low-level system programming language that is embedded in and meta-programmed by the Lua programming language.
- V7 ★ 576 ⧗ 0 - V7 is a JavaScript engine written in C. It makes it possible to program Internet of Things (IoT) devices in JavaScript.
Others
- ESP8266-Wifi-Relay ★ 31 ⧗ 19 - ESP8266-ESP12e Wifi Doppel Relay IOT Unterputz Montage möglich / Schaltaktor.
- K3PO ★ 22 ⧗ 9 - is a network driver and language agnostic testing tool.
- LittleD ★ 545 ⧗ 3 - A relational database for embedded devices and sensors nodes.
- mbed TLS ★ 601 ⧗ 0 - An open source, portable, easy to use, readable and flexible SSL library
- Mongoose ★ 2625 ⧗ 0 - Mongoose is ideal for embedded environments, it has been designed as an open source platform for connecting devices and bringing them online.
- Mongoose Flashing Tool ★ 36 ⧗ 7 - Mongoose Flashing Tool (also called MFT) is the Mongoose IoT Platform flashing tool.
- node-iotdb ★ 19 ⧗ 61 - Easily control the Internet of Things using Semantics.
- UniK ★ 593 ⧗ 0 - is a tool for compiling application sources into unikernels (lightweight bootable disk images) rather than binaries.
Protocol Library
MQTT
CoAP
Spark
WeMo
Fork
- AWS IoT Button ★ 5 ⧗ 4 - Emulate the AWS IoT Button on a Raspberry Pi with a simple push button using this C++ sample.
Hardware Com
NFC
Serial
- rxtx ★ 67 ⧗ 4 - a Java cross platform wrapper library for the serial port
Others
- Drake ★ 500 ⧗ 0 - 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.
- IotWeb ★ 4 ⧗ 9 - A Embedded HTTP and WebSocket Server for UWP/.NET 4.5.
- meshblu ★ 738 ⧗ 0 - Machine-to-machine instant messaging platform for the internet of things.
- Python Enocean ★ 13 ⧗ 45 - A Python library for reading and controlling EnOcean devices.
- Servo ★ 7821 ⧗ 0 - is a prototype web browser engine written in the Rust language.
- The Things Network ★ 67 ⧗ 4 - The Things Network is a global open crowdsourced Internet of Things data network.
- WAMP Protocol ★ 228 ⧗ 1 - The Web Application Messaging Protocol The Web Application Messaging Protocol.
Software
- Copper ★ 46 ⧗ 14 - A Firefox add-on to browse the Internet of Things
- Processing ★ 2644 ⧗ 0 - Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.
- 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.js ★ 487 ⧗ 0 - Embedded Javascript engine for C/C++ with networking, file, database and device interfaces
Voice
- chelexa ★ 2 ⧗ 25 - Natural voice recognition IoT cloud chess solution via the Amazon Echo platform.
Resources-Websites-Projects
Course
- A developer’s guide to the Internet of Things (by IBM) - None
- Advanced Penetration Testing - Free
- An Introduction to Programming the Internet of Things (IOT) Specialization - Landing page of 6 courses (Introduction to the Internet of Things and Embedded Systems / The Arduino Platform and C Programming / Interfacing with the Arduino / The Raspberry Pi Platform and Python Programming for the Raspberry Pi / Interfacing with the Raspberry Pi / Programming for the Internet of Things Capstone).
- Architecting Smart IoT Devices - Free
- Build an Intelligent System: From Embedded to Cloud (NOT FREE) - None
- Cryptography - Free
- Cyber Security Graduate Certificate - Courses: Operating Systems and Systems Programming, Introduction to Computer Networking, Computer and Network Security, Bitcoin and Crypto Currencies, Introduction to Cryptography, Technology and National Security (Paid).
- Introduction to Architecting Smart IoT Devices - Free
- IoT Software Architecture - None
- Low-Level Software Security: Attacks and Countermeassures - None
- Penetration Testing and Ethical Hacking - Free
- Secure Coding - Free
- Social Engineering and Manipulation - Free
- Software Architecture for the Internet of Things - Free
- Software Architecture for the Internet of Things (Coursera) - None
- Stanford Advanced Computer Security Certificate - Required courses: Using Cryptography Correctly, Writing Secure Code, Exploiting and Protecting Web Applications; Elective courses: Software Security Foundations, Mobile Security, Network Security, Emerging Threats & Defenses (Paid).
- Web Application Penetration Testing - Free
- Web Connectivity and Security in Embedded Systems - Free
WebSite
- 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
Tutorial
AI
Analytics
Others
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.