Skip to content

Awesome IoT. A collaborative list of great resources about IoT Framework, Library, OS, Platform

License

Notifications You must be signed in to change notification settings

jemkzheng/awesome-iot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome IoT Awesome

Simliar Projects

  • Awesome Azure IoT - A curated list of awesome Azure Internet of Things projects and resources.
  • Awesome Android Things - 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 IoT - A curated list of awesome Internet of Things projects and resources.

A curated list of IoT. Everyone can contribute here!

Framework

Library

SDK

Arduino

Low Level

  • Amazon Echo Bridge ★ 452 ⧗ 1 - 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.
  • IoT Helpers ★ 37 ⧗ 8 - A library that allows to easily interact with Windows 10 IoT Core features like GPIO, I2C and SPI devices.
  • 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 ★ 223 ⧗ 15 - 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.
  • polymcu ★ 57 ⧗ 3 - an open framework for micro-controller software.
  • 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.
  • SmartObject ★ 8 ⧗ 2 - A Smart Object Class that helps you with creating IPSO Smart Objects in your JS apps. See also: IPSO Alliance Technical Archive.
  • 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.
  • SwiftyGPIO ★ 407 ⧗ 1 - a Swift library to interact with Linux GPIO/SPI on ARM.
  • 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

Storage

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.

  • Scanners-Box ★ 424 ⧗ 0 - the toolbox of open source scanners.

  • 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.
  • Huawei LiteOS ★ 341 ⧗ 3 - Huawei LiteOS Kernel.
  • 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.
  • TinyAra - is a lightweight RTOS-based platform to support low-end IoT devices.
  • 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.

Android Things

Voice Controller

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

Platform

  • [DeviceHive] (https://github.com/devicehive) - IoT Data Platform. Wide range of connectivity options, device management, security and data processing.
  • [thing-it-node] ★ 20 ⧗ 3 - A device-independent IoT platform including support of complex event processing, storyboards, and a mobile app.
  • Clavin ★ 212 ⧗ 2 - 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.
  • flowchain-app - A Flowchain plugin that provides the flow-based programming (FBP) engine.
  • I1820 ★ 11 ⧗ 1 - 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.js ★ 921 ⧗ 0 - Platform for Internet of Things with JavaScript.
  • IoTgo ★ 173 ⧗ 0 - 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.
  • Lan ★ 105 ⧗ 0 - Internet of Things Server Layer with CoAP, WebSocket, MQTT, HTTP Protocol
  • Mainflux ★ 33 ⧗ 3 - Mainflux is an open source and patent-free IoT cloud platform based on microservices.
  • Mongoose IoT ★ 487 ⧗ 0 - is a full-stack IoT platform including firmware and cloud components available for ESP8266.
  • Pagenodes ★ 99 ⧗ 0 - 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.
  • PlatformIO ★ 980 ⧗ 0 - PlatformIO is a cross-platform code builder and the missing library manager.
  • ThingEngine ★ 3 ⧗ 0 - An open source platform for IoT rules that you can execute anywhere you want.
  • Thingsboard ★ 259 ⧗ 0 - Open-source IoT Platform - Device management, data collection, processing and visualization.
  • Undercontrol ★ 22 ⧗ 0 - Simple realtime IoT Platform with MQTT and Web-sockets support

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.
  • OGC SensorThings API - 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

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 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.

Toolkits Include Non-OS

Layered architecture of JTAG interface and TAP support

Data Visualization

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

IDE

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.
  • 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.
  • szl ★ 100 ⧗ 0 - is a tiny, embeddable scripting engine inspired by Tcl and shell.
  • 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

Protocol Library

MQTT

CoAP

Spark

WeMo

Lora

OpenThread

Fork

Hardware Com

NFC

Serial

Others

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.

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.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

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

Related Resources Projects

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.

About

Awesome IoT. A collaborative list of great resources about IoT Framework, Library, OS, Platform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%