Browse free open source IoT software and projects below. Use the toggles on the left to filter open source IoT software by OS, license, language, programming language, and project status.

  • Gen AI apps are built with MongoDB Atlas Icon
    Gen AI apps are built with MongoDB Atlas

    The database for AI-powered applications.

    MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
    Start Free
  • Simple, Secure Domain Registration Icon
    Simple, Secure Domain Registration

    Get your domain at wholesale price. Cloudflare offers simple, secure registration with no markups, plus free DNS, CDN, and SSL integration.

    Register or renew your domain and pay only what we pay. No markups, hidden fees, or surprise add-ons. Choose from over 400 TLDs (.com, .ai, .dev). Every domain is integrated with Cloudflare's industry-leading DNS, CDN, and free SSL to make your site faster and more secure. Simple, secure, at-cost domain registration.
    Sign up for free
  • 1
    Johnny-Five

    Johnny-Five

    JavaScript Robotics and IoT programming framework

    Johnny-Five is the JavaScript Robotics & IoT Platform. Released by Bocoup in 2012, Johnny-Five is maintained by a community of passionate software developers and hardware engineers. Over 75 developers have made contributions towards building a robust, extensible and composable ecosystem. The only kit designed for getting started with Johnny-Five! The Johnny-Five Inventor's Kit, from Bocoup and SparkFun, is now available! It's designed for anyone who wants to get started with JavaScript-powered robotics. The J5IK includes a Tessel 2, and everything else you need to do 14 experiments! No programming or soldering experience is required. Microcontrollers and SoC platforms like to say "Hello World" with a simple blinking LED; the following demonstrates how to do this with the Johnny-Five framework.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 2
    MQTTnet

    MQTTnet

    High performance .NET library for MQTT based communication

    MQTTnet is a high-performance .NET library for MQTT-based communication. It provides an MQTT client and an MQTT server (broker) and supports the MQTT protocol up to version 5. TLS support for client and server (but not UWP servers). Extensible communication channels (e.g. In-Memory, TCP, TCP+TLS, WS). Lightweight (only the low-level implementation of MQTT, no overhead). Performance optimized (processing ~150.000 messages/second). Uniform API across all supported versions of the MQTT protocol. Tested on the local machine (Intel i7 8700K) with MQTTnet client and server running in the same process using the TCP channel. The app for verification is part of this repository and stored in /Tests/MQTTnet.TestApp.NetCore. List of connected clients available. Supports connected clients with different protocol versions at the same time. Able to publish its own messages (no loopback client required). Able to receive every message (no loopback client required).
    Downloads: 3 This Week
    Last Update:
    See Project
  • 3
    AWS IoT Device SDK for C++ v2

    AWS IoT Device SDK for C++ v2

    Next generation AWS IoT Client SDK for C++ using AWS Common Runtime

    Next-generation AWS IoT Client SDK for C++ using the AWS common runtime. This document provides information about the AWS IoT device SDK for C++ V2. If you have any issues or feature requests, please file an issue or pull request. This SDK is built on the AWS Common Runtime, a collection of libraries (AWS-c-common, aws-c-io, aws-c-mqtt, aws-c-http, aws-c-cal, aws-c-auth, s2n...) written in C to be cross-platform, high-performance, secure, and reliable. The libraries are bound to C++ by the AWS-crt-CPP package.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 4
    Gobot

    Gobot

    Golang framework for robotics, drones, and the Internet of Things

    Gobot makes controlling robots and devices incredibly simple and fun. This program connects to an Arduino, and toggles an LED, every one second. Support for devices that use Analog Input/Output (AIO) communication have a shared set of drivers provided using the "gobot/drivers/aio" package. Support for devices that use General Purpose Input/Output (GPIO) communication have a shared set of drivers provided using the "gobot/drivers/gpio" package. Gobot has a extensible system for connecting to hardware devices. Gobot includes a RESTful API to query the status of any connection, device or robot running in your swarm. It additionally has the ability to issue commands directly to your devices and robots. It also comes with the robeaux React.JS interface baked right into its API server for quick and easy configuration.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Build Securely on Azure with Proven Frameworks Icon
    Build Securely on Azure with Proven Frameworks

    Lay a foundation for success with Tested Reference Architectures developed by Fortinet’s experts. Learn more in this white paper.

    Moving to the cloud brings new challenges. How can you manage a larger attack surface while ensuring great network performance? Turn to Fortinet’s Tested Reference Architectures, blueprints for designing and securing cloud environments built by cybersecurity experts. Learn more and explore use cases in this white paper.
    Download Now
  • 5
    AWS IoT Device Defender Library

    AWS IoT Device Defender Library

    Client library for using AWS IoT Defender service on embedded devices

    The Device Defender library enables you to send device metrics to the AWS IoT Device Defender Service. This library also supports custom metrics, a feature that helps you monitor operational health metrics that are unique to your fleet or use case. For example, you can define a new metric to monitor the memory usage or CPU usage on your devices. This library has no dependencies on any additional libraries other than the standard C library, and therefore, can be used with any MQTT client library. This library is distributed under the MIT Open Source License. This library has gone through code quality checks including verification that no function has a GNU Complexity score over 8, and checks against deviations from mandatory rules in the MISRA coding standard. Deviations from the MISRA C:2012 guidelines are documented under MISRA Deviations. This library has also undergone static code analysis using Coverity static analysis.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 6
    AWS IoT Device SDK for Python

    AWS IoT Device SDK for Python

    SDK for connecting to AWS IoT from a device using Python

    The AWS IoT Device SDK for Python allows developers to write Python script to use their devices to access the AWS IoT platform through MQTT or MQTT over the WebSocket protocol. By connecting their devices to AWS IoT, users can securely work with the message broker, rules, and the device shadow (sometimes referred to as a thing shadow) provided by AWS IoT and with other AWS services like AWS Lambda, Amazon Kinesis, Amazon S3, and more. It is a complete rework, built to improve reliability, performance, and security. We invite your feedback! The SDK is built on top of a modified Paho MQTT Python client library. Developers can choose from two types of connections to connect to AWS IoT. For MQTT over TLS (port 8883 and port 443), a valid certificate and a private key are required for authentication. For MQTT over the WebSocket protocol (port 443), a valid AWS Identity and Access Management (IAM) access key ID and secret access key pair are required for authentication.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    AWS IoT Device SDK v2 for Python

    AWS IoT Device SDK v2 for Python

    Next generation AWS IoT Client SDK for Python

    Next-generation AWS IoT Client SDK for Python using the AWS Common Runtime. This document provides information about the AWS IoT Device SDK v2 for Python. This SDK is built on the AWS Common Runtime, a collection of libraries (aws-c-common, aws-c-io, aws-c-mqtt, aws-c-compression, aws-c-http, aws-c-cal, aws-c-auth, s2n ...) written in C to be cross-platform, high-performance, secure, and reliable. The libraries are bound to Python by the awscrt package (PyPI). AWS IoT provides the cloud services that connect your IoT devices to other devices and AWS cloud services. AWS IoT provides device software that can help you integrate your IoT devices into AWS IoT-based solutions. If your devices can connect to AWS IoT, AWS IoT can connect them to the cloud services that AWS provides. AWS IoT lets you select the most appropriate and up-to-date technologies for your solution.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    AWS IoT Device Shadow library

    AWS IoT Device Shadow library

    Client library for using AWS IoT Shadow service on embedded devices

    The AWS IoT Device Shadow library enables you to store and retrieve the current state (the “shadow”) of every registered device. The device’s shadow is a persistent, virtual representation of your device that you can interact with from AWS IoT Core even if the device is offline. The device state is captured as its “shadow” within a JSON document. The device can send commands over MQTT to get, update and delete its latest state as well as receive notifications over MQTT about changes in its state. Each device’s shadow is uniquely identified by the name of the corresponding “thing”, a representation of a specific device or logical entity on the AWS Cloud. See Managing Devices with AWS IoT for more information on IoT "thing". More details about AWS IoT Device Shadow can be found in AWS IoT documentation. This library is distributed under the MIT Open Source License.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    AWS IoT Fleet Provisioning Library

    AWS IoT Fleet Provisioning Library

    Client library for using AWS IoT Fleet Provisioning service

    The Fleet Provisioning library enables you to provision IoT devices without device certificates using the Fleet Provisioning feature of AWS IoT Core. For an overview of provisioning options available, see Device provisioning. This library has no dependencies on any additional libraries other than the standard C library, and therefore, can be used with any MQTT library. This library is distributed under the MIT Open Source License. This library has gone through code quality checks including verification that no function has a GNU Complexity score over 8, and checks against deviations from mandatory rules in the MISRA coding standard. Deviations from the MISRA C:2012 guidelines are documented under MISRA Deviations. This library has also undergone static code analysis using Coverity static analysis, and validation of memory safety through the CBMC automated reasoning tool.
    Downloads: 0 This Week
    Last Update:
    See Project
  • The All-in-One Commerce Platform for Businesses - Shopify Icon
    The All-in-One Commerce Platform for Businesses - Shopify

    Shopify offers plans for anyone that wants to sell products online and build an ecommerce store, small to mid-sized businesses as well as enterprise

    Shopify is a leading all-in-one commerce platform that enables businesses to start, build, and grow their online and physical stores. It offers tools to create customized websites, manage inventory, process payments, and sell across multiple channels including online, in-person, wholesale, and global markets. The platform includes integrated marketing tools, analytics, and customer engagement features to help merchants reach and retain customers. Shopify supports thousands of third-party apps and offers developer-friendly APIs for custom solutions. With world-class checkout technology, Shopify powers over 150 million high-intent shoppers worldwide. Its reliable, scalable infrastructure ensures fast performance and seamless operations at any business size.
    Learn More
  • 10
    AWS IoT Jobs library

    AWS IoT Jobs library

    Client library for using AWS IoT Jobs service on embedded devices

    The AWS IoT Jobs library helps you notify connected IoT devices of a pending Job. A Job can be used to manage your fleet of devices, update firmware and security certificates on your devices, or perform administrative tasks such as restarting devices and performing diagnostics. It interacts with the AWS IoT Jobs service using MQTT, a lightweight publish-subscribe protocol. This library provides a convenience API to compose and recognize the MQTT topic strings used by the Jobs service. The library is written in C compliant with ISO C90 and MISRA C:2012, and is distributed under the MIT Open Source License. This library has gone through code quality checks including verification that no function has a GNU Complexity score over 8, and checks against deviations from mandatory rules in the MISRA coding standard. Deviations from the MISRA C:2012 guidelines are documented under MISRA Deviations. This library has also undergone both static code analysis from Coverity.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11
    Control logic

    Control logic

    Realtime PC-based control and simulator of control systems

    Control logic Java package is a set of Java classes aimed at: - Implementation of a real-time PC-based control - Simulation of control systems Setting up a control system involves working with so-called triggers. See project Wiki for detailed information and examples.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12

    ESP32 ACME client

    ESP32 library for ACME protocol client (to get certificates)

    ACME client library for ESP32 Copyright © 2019, 2020, 2021, 2023, 2024 by Danny Backx ACME is a protocol (see https://tools.ietf.org/html/rfc8555 for automatic certificate management. Sites such as letsencrypt.org allow you to obtain free (no charge) certificates in an automated way using the ACME protocol. This library allows you to get certificates for IoT devices based on the ESP32. More info in https://sourceforge.net/p/esp32-acme-client/code/HEAD/tree/trunk/Readme.md. Specific configuration examples and technology overview is in https://sourceforge.net/p/esp32-acme-client/code/HEAD/tree/trunk/components/acmeclient/Configurations.md. You can get this component from Espressif's component registry ( https://components.espressif.com/components?q=dannybackx ). Put this component into your project with idf.py add-dependency dannybackx/acmeclient
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13

    IoT Leaf

    Software resources for the ESP32 based IoT Leaf microcontroller board

    The IoT Leaf is a small ESP32-based device which can be used as highly flexible power supply, as embedded controller or as a combination of both: it consists of a board which can be cut into two pieces resulting in two different devices or which can be used as one. The board can be powered via solar cell or USB and provides a battery charging function and deep-discharge protection for LiPo batteries. Beside the ESP32 the microcontroller part is prepared for a LoRaWAN and a GPS module. Both together provide a powerful hardware which can be used in many different scenarios. Details and the full specification are available at https://iot.halaser.de This repository contains different firmware-examples and applications which can be used together with this board as well as hardware designs which are free to be used.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    Mongoose OS

    Mongoose OS

    IoT firmware development framework

    Mongoose OS, an IoT Firmware Development Framework. Supported microcontrollers, ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, STM32F7. Amazon AWS IoT, Microsoft Azure, Google IoT Core integrated. Code in C or JavaScript. Mongoose OS is integrated and powers many types of devices and appliances globally. Microsoft Azure IoT recommends Mongoose OS for OTA, automatic device management and deploying firmware updates at scale. Built-in flash encryption, crypto chip support, ARM mbedTLS optimized for small memory footprint. Device management dashboard service. Supported microcontrollers are CC3220, CC3200, ESP32, ESP8266, STM32F4, STM32L4, STM32F7. Recommended dev kits are ESP32-DevKitC for AWS IoT, ESP32 Kit for Google IoT Core.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15

    MultiCAN

    EPICS device support for CAN Bus

    MultiCAN implements a CAN Bus device support for EPICS. EPICS is a framework for control systems, the CAN Bus is a reliable real-time field bus. The ‘Multi’ und MultiCAN stands for ‘Multi Protocol support’, so it supports more than one protocol for CAN Bus communication. MultiCAN has support for the CANOpen protocol and the older CAN Application Layer (CAL).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    SiteWhere

    SiteWhere

    An industrial strength open-source application platform for the IoT

    SiteWhere is an industrial-strength, open-source IoT Application Enablement Platform that facilitates the ingestion, storage, processing, and integration of IoT device data at a massive scale. The platform leverages a microservices architecture that runs on top of cutting-edge technologies such as Kubernetes, Istio, and Kafka in order to scale efficiently to the loads expected in large IoT projects. SiteWhere embraces a distributed architecture that runs on Kubernetes and provides both infrastructures such as highly-available databases and MQTT brokers as well as microservices to facilitate various aspects of IoT project development. The platform is built with a framework approach using clearly defined APIs so that new technologies may easily be integrated as the IoT ecosystem evolves. SiteWhere is composed of Java-based microservices which are built as Docker images and deployed to Kubernetes for orchestration.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17

    bluetroller

    A library and interface for controlling bluetooth LE devices

    bluetroller is a library and interface for controlling all kinds of bluetooth LE devices. A vast number of devices can be controlled via Bluetooth LE, including fitness trackers, lighting, camera sliders, gimbals and many more. Right now these devices can only be controlled via phone apps which are frequently buggy, unmaintained and will stop working after some future phone update. This project aims to grow to become an exhaustive library of these devices.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18

    mt4mqtt

    MQTT client for MetaTrader

    MQTT protocol client library for MetaTrader.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    nITROGEN
    Internet of Things RandOm GENerator
    Downloads: 0 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • Next
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.