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

  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • Try Google Cloud Risk-Free With $300 in Credit Icon
    Try Google Cloud Risk-Free With $300 in Credit

    No hidden charges. No surprise bills. Cancel anytime.

    Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
    Start Free
  • 1
    ESPHome

    ESPHome

    ESPHome is a system to control your ESP8266/ESP32

    ESPHome is a system for defining and deploying custom firmware to ESP8266 and ESP32 microcontrollers for smart home automation. Using a simple YAML configuration, users can specify how sensors, switches, and devices should behave, and ESPHome compiles and flashes the firmware accordingly. Integrated seamlessly with Home Assistant, ESPHome is ideal for DIY home automation enthusiasts who want full control over their IoT devices.
    Downloads: 47 This Week
    Last Update:
    See Project
  • 2
    MQTT X

    MQTT X

    Powerful cross-platform MQTT 5.0 desktop, CLI, and WebSocket client

    MQTT X is a cross-platform MQTT 5.0 client tool open sourced by EMQ, which can run on macOS, Linux and Windows, and supports formatting MQTT payload. MQTT X simplifies test operation with the help of a familiar, chat-like interface. It’s easy and quick to create multiple, simultaneous online MQTT client connections, and can test the connection, publishing, and subscription functions of MQTT/TCP, MQTT/TLS, MQTT/WebSocket as well as other MQTT protocol features. MQTT stands for MQ Telemetry Transport. It is a publish/subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks. To run MQTT Broker locally, EMQX is recommended: An Open-Source, Cloud-Native, Distributed MQTT Broker for IoT. After the MQTT is connected successfully, you can perform MQTT publish and subscription tests.
    Downloads: 43 This Week
    Last Update:
    See Project
  • 3
    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: 18 This Week
    Last Update:
    See Project
  • 4
    ThingsBoard

    ThingsBoard

    Device management, data collection, processing and visualization

    ThingsBoard is an open-source IoT platform for data collection, processing, visualization, and device management. It enables device connectivity via industry standard IoT protocols, MQTT, CoAP and HTTP and supports both cloud and on-premises deployments. ThingsBoard combines scalability, fault-tolerance and performance so you will never lose your data. Provision, monitor and control your IoT entities in a secure way using rich server-side APIs. Define relations between your devices, assets, customers or any other entities. Collect and store telemetry data in a scalable and fault-tolerant way. Visualize your data with built-in or custom widgets and flexible dashboards. Share dashboards with your customers. Define data processing rule chains. Transform and normalize your device data. Raise alarms on incoming telemetry events, attribute updates, device inactivity, and user actions.
    Downloads: 11 This Week
    Last Update:
    See Project
  • Gemini 3 and 200+ AI Models on One Platform Icon
    Gemini 3 and 200+ AI Models on One Platform

    Access Google's best plus Claude, Llama, and Gemma. Fine-tune and deploy from one console.

    Build generative AI apps with Vertex AI. Switch between models without switching platforms.
    Start Free
  • 5
    SerialTest

    SerialTest

    A cross platform debugger for serial port/Bluetooth/TCP/UDP

    A versatile test tool running on Windows/Linux/macOS/Android. Works as data transceiver/realtime plotter/shortcut/file transceiver. Supports serial port, Bluetooth SPP client/server, Bluetooth LE client, TCP client/server, UDP. Homepage: https://github.com/wh201906/SerialTest
    Downloads: 150 This Week
    Last Update:
    See Project
  • 6
    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: 5 This Week
    Last Update:
    See Project
  • 7
    emqx

    emqx

    The Most Scalable MQTT Broker for IoT

    EMQX is the world's most scalable and reliable MQTT Broker designed by EMQ. It supports 100M concurrent IoT device connections per cluster while maintaining extremely high throughput and sub-millisecond latency. EMQX boasts more than 20,000 global users from over 50 countries, connecting more than 100M IoT devices worldwide, and is trusted by over 300 customers in mission-critical IoT scenarios, including well-known brands like HPE, VMware, Verifone, SAIC Volkswagen and Ericsson. Flex to meet the demands of various industries towards digital transformation, including Connected Vehicles, Industrial IoT, Oil & Gas, Carrier, Finance, Smart Energy, and Smart Cities.
    Leader badge
    Downloads: 120 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: 4 This Week
    Last Update:
    See Project
  • 9
    Arm Mbed OS

    Arm Mbed OS

    Platform operating system designed for the Internet of Things

    Arm Mbed OS is an open source embedded operating system specifically designed for the Internet of Things. It’s packed with all the features you need to develop your next IoT product based on an Arm Cortex-M microcontroller efficiently, securely and rapidly. These include security foundations, cloud management services, and drivers for sensors and I/O devices.
    Downloads: 3 This Week
    Last Update:
    See Project
  • Fully Managed MySQL, PostgreSQL, and SQL Server Icon
    Fully Managed MySQL, PostgreSQL, and SQL Server

    Automatic backups, patching, replication, and failover. Focus on your app, not your database.

    Cloud SQL handles your database ops end to end, so you can focus on your app.
    Try Free
  • 10
    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
  • 11
    Zephyr Project

    Zephyr Project

    Scalable, optimized, secure RTOS for multiple hardware architectures

    The Zephyr Project is a new generation real-time operating system (RTOS) that supports multiple hardware architectures. It is based on a small-footprint kernel specially designed for use on resource-constrained and embedded systems. The Zephyr OS can be used for a wide range of applications: from simple embedded environmental sensors and LED wearables to sophisticated embedded controllers, smart watches, and IoT wireless applications.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 12
    AWS IoT Device SDK for Java

    AWS IoT Device SDK for Java

    Java SDK for connecting to AWS IoT from a device

    The AWS IoT Device SDK for Java enables Java developers to access the AWS IoT Platform through MQTT or MQTT over the WebSocket protocol. The SDK is built with AWS IoT device shadow support, providing access to thing shadows (sometimes referred to as device shadows) using shadow methods, including GET, UPDATE, and DELETE. It also supports a simplified shadow access model, which allows developers to exchange data with their shadows by just using getter and setter methods without having to serialize or deserialize any JSON documents. A new AWS IoT Device SDK is now available. It is a complete rework, built to improve reliability, performance, and security. We invite your feedback! The SDK is built on top of the Paho MQTT Java client library. Developers can choose from two types of connections to connect to the AWS IoT service.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 13
    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: 1 This Week
    Last Update:
    See Project
  • 14
    AWS IoT Device SDK for Java v2

    AWS IoT Device SDK for Java v2

    Next generation AWS IoT Client SDK for Java

    Next-generation AWS IoT Client SDK for Java using the AWS Common Runtime. 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 Java by the aws-crt-java package. Consuming this SDK via Maven is the preferred method of consuming it. Supports API 26 or newer. NOTE: The shadow sample does not currently complete on android due to its dependence on stdin keyboard input. You will need to override and provide a ROOT_CERTIFICATE manually from one of the following certificates.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 15
    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: 1 This Week
    Last Update:
    See Project
  • 16
    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: 1 This Week
    Last Update:
    See Project
  • 17
    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: 1 This Week
    Last Update:
    See Project
  • 18

    MQTT Erlang client

    IOT Client of MQTT server written in Erlang

    MQTT client is designed for communication in Machine to Machine (M2M) and Internet of Things (IoT) contexts and implements MQTT protokol versions 3.1 and 3.1.1. The client is written in Erlang and tested with MQTT servers like Mosquitto and RabbitMQ.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 19
    DEVS-Suite Simulator

    DEVS-Suite Simulator

    Component, CA, and CCA models; superdense time, DB repo, testing, etc.

    Integrated component-based and cellular automata (CA) Parallel DEVS simulator: https://acims.asu.edu/devs-suite/ OFFERS: 1) synchronized execution & animation, 2) run-time linear/superdense I/O & state trajectories, 3) Action Level Real-Time modeling & simulation, 4) model checking, 5) ABM, 6) CA & composable CA playback, 7) KIB interaction modeling, 8) hierarchical model libraries, 9) Black-Box testing & debugging, 10) PostgreSQL repository, 11) FMU (OpenModelica), 12) OSATE (AADL) with domain-specific models: NoC; SW/HW co-design, Service-Oriented Computing, cancer biology, Dynamic Structure, SOA DEVS, MIPS32 processors, and computer networks for education. Version: 7.0 [Jan `23], 6.1 [Apr. `21], 6 [Sep. `20] , 5 [Jul. `19], 4 [Mar. `18], 3 [Apr. `15], 2.1 [Feb. `09], 2 [`03] See CoSMoSim: https://acims.asu.edu/software/cosmos : hierarchical visual modeling, database model repository, families of models, statecharts, partial-code generation for XML/DEVS-Suite model
    Downloads: 5 This Week
    Last Update:
    See Project
  • 20

    ESP Easy

    Arduino IDE sketch for ESP8266 modules

    Firmware for ESP8266 modules. http://www.esp8266.nu/index.php/Tutorial_ESPEasy_Firmware_Upload Use an ESP8266 module as a wireless sensor for temperature, humidity, barometric pressure, LUX, etc. Or use it as an actuator to control Relays. Supports the following Home Automation platform protocols: * Domoticz HTTP * Domoticz MQTT * OpenHAB MQTT * PiDome MQTT * Nodo Telnet * ThingSpeak webservice * EmonCMS * FHEM HTTP * Generic HTTP using templates Supported devices: * DS18B20 * DHT11 * DHT22 * BH1750 * BMP085 * Wiegand RFID * PN532 * SI7021 * TSL2516 * HCSR04 * TSOP4838 IR * MCP23017 * PCF8591 * PCA9685 * LCD and OLED displays * BME280 * INA219 * MLX90614 * ADS1115 * MSP5611 * BMP280 * SHT1x The ESP is web configurable for both Wifi setup and device configuration. For support: - have a look at the wiki on www.esp8266.nu - join our forum on www.esp8266.nu/forum
    Downloads: 7 This Week
    Last Update:
    See Project
  • 21
    WriteGuard

    WriteGuard

    WriteGuard is a powerful and user-friendly batch script interface

    WriteGuard is a powerful and user-friendly batch script interface designed to manage the Unified Write Filter (UWF) on Windows 10/11 systems. It simplifies enabling, disabling, and configuring UWF features including volume protection, file and registry exclusions, overlay settings, and servicing mode — all through an intuitive menu-driven interface. WriteGuard is ideal for administrators and users who want to protect system volumes from unwanted changes, streamline system lockdown, and maintain system integrity with ease.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 22

    MQTT Erlang server

    MQTT server for IOT written in Erlang

    MQTT server is designed for communication in Machine to Machine (M2M) and Internet of Things (IoT) contexts and implements MQTT protocol versions 3.1 and 3.1.1. The server is written in Erlang as OTP application.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    CoSMoSim

    CoSMoSim

    Visual & persistent families of models for CA, DEVS, and Statecharts

    CoSMoSim offers an integrated framework for model development, simulation, & experimentation. Its unified logical, visual, and persistence framework supports specifying families of parallel CA, DEVS, Statecharts, and XML-Schema models (see DEVS-Suite simulator).
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24

    MQTT - Lightweight Client

    MQTT - Lightweight Client

    A simple and powerfull MQTT Lightweight Windows Client - beta version! Sources: https://github.com/edwardmartinsjr/MQTTLightweightClient
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    AWS IoT Arduino Yún SDK

    AWS IoT Arduino Yún SDK

    SDK for connecting to AWS IoT from an Arduino Yún

    The AWS-IoT-Arduino-Yún-SDK allows developers to connect their Arduino Yún compatible Board to AWS IoT. By connecting the device to the AWS IoT, users can securely work with the message broker, rules and the Thing Shadow provided by AWS IoT and with other AWS services like AWS Lambda, Amazon Kinesis, Amazon S3, etc. The AWS-IoT-Arduino-Yún-SDK consists of two parts, which take use of the resources of the two chips on Arduino Yún, one for native Arduino IDE API access and the other for functionality and connections to the AWS IoT built on top of AWS IoT Device SDK for Python. The AWS-IoT-Arduino-Yún-SDK provides APIs to let users publish messages to AWS IoT and subscribe to MQTT topics to receive messages transmitted by other devices or coming from the broker. This allows to interact with the standard MQTT PubSub functionality of AWS IoT.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • Next
MongoDB Logo MongoDB