/awesome-iot

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

Primary LanguagePythonMIT LicenseMIT

Awesome IoT Awesome

A curated list of IoT. Everyone can contribute here!

Framework

Library

SDK

Arduino

Low Level

App

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 mantained 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.
  • 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.
  • Zephyr ★ 12 ⧗ 5 - is a small, scalable real-time operating system for use on resource-constrained systems supporting multiple architectures.

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.
  • IoT.js ★ 921 ⧗ 0 - Platform for Internet of Things with JavaScript.
  • 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
  • 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.
  • Undercontrol ★ 22 ⧗ 0 - Simple realtime IoT Platform with MQTT and Web-sockets support
  • Mainflux - Mainflux is an open source and patent-free IoT cloud platform based on microservices.

APIs

  • Qeo Tinq ★ 6 ⧗ 392 - Tinq is completely based on the Qeo publish/subcribe 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.
  • 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.
  • Meact - task is to get metric from external stuff, write it to DB and perform various action.

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

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

Protocol Library

MQTT

CoAP

Spark

WeMo

Hardware Com

NFC

Serial

Others

  • 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.
  • 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.
  • Drake - is a toolbox maintained by the Robot Locomotion Group at the MIT Computer Science and Artificial Intelligence Lab (CSAIL).
  • Servo - is a prototype web browser engine written in the Rust language.

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

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

GitHub Org.

Free Book

Analytics

Others

  • connectthedots ★ 307 ⧗ 0 - Connect tiny devices to Microsoft Azure services to build IoT solutions
  • django-th ★ 275 ⧗ 0 - take the control of your data with this opensource clone of IFTTT, a bridge between your internet services.
  • 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.
  • souliss ★ 137 ⧗ 8 - Arduino based Distributed Networking Framework for Smart Homes and IoT.

Tutorial

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.