Home / Industrial & Building Automation

292 open-source Industrial & Building Automation projects built by reverse engineering

Open-source projects in Industrial & Building Automation that exist because someone reverse engineered a closed product. Most-starred: HslCommunication, plc4x, IoTClient, s7netplus, EMS-ESP32.

Search and filter this category →

Heating & Heat Pump Buses123 all 123 →

  1. EMS-ESP32★ 1,049 · active · C++

    ESP32 firmware to read and control Bosch/Buderus/Nefit EMS and Heatronic boilers

  2. mitsubishi2MQTT★ 504 · active · C

    ESP8266 bridge from Mitsubishi heat pumps (CN105 port) to MQTT

  3. esphome_aux_ac_component★ 378 · active · C++

    ESPHome component for AUX-based air conditioners via the reverse-engineered UART protocol

  4. BSB-LAN★ 355 · active · C

    Monitor and control Siemens-based Brötje/Elco/Atlantic heating over the BSB/LPB bus

  5. esphome_samsung_hvac_bus★ 320 · active · C++

    ESPHome component for Samsung HVAC units over the NASA/non-NASA RS-485 bus

  6. EMS-ESP★ 310 · archived · C++

    ESP8266 firmware for Bosch/Buderus EMS and Heatronic heating equipment

  7. esphome-lg-controller★ 288 · active · C++

    ESP32 wired controller for LG HVAC units emulating the wall controller protocol

  8. ebusd-configuration★ 286 · active · TypeSpec

    Reverse-engineered eBUS message definitions for Vaillant, Wolf and other heating devices

  9. panasonic_cc★ 278 · active · Python

    Home Assistant component for Panasonic Comfort Cloud air conditioners

  10. OTGW-firmware★ 211 · active · C++

    ESP8266 firmware for the Nodoshop OpenTherm Gateway with MQTT and REST

Ventilation, Pool & Water52 all 52 →

  1. WiFi-remote-for-Bestway-Lay-Z-SPA★ 415 · active · C++

    ESP8266 Wi-Fi remote for Bestway Lay-Z-Spa hot tubs via the display bus

  2. ithowifi★ 288 · active · HTML

    ESP32 Wi-Fi add-on for Itho ventilation using its I2C protocol

  3. AqualinkD★ 239 · active · C

    Daemon controlling Jandy Aqualink RS pool equipment over RS485

  4. esphome-tion★ 175 · active · C++

    ESPHome custom firmware for Tion breezers using the reverse-engineered Tion BLE/UART protocol

  5. comfoair-esp32★ 155 · active · C++

    ESP32 firmware to interact with Zehnder ComfoAir Q via CAN

  6. ESP-IQ2020★ 138 · active · C++

    Connects hot tubs with an IQ2020 control board to Home Assistant via the reverse-engineered RS485 bus

  7. balboa_worldwide_app★ 123 · active · Ruby

    Ruby library for Balboa spa Wi-Fi module and RS-485 protocol

  8. aiocomfoconnect★ 110 · active · Python

    Async Python library for the Zehnder ComfoConnect LAN C protocol (ComfoAir Q)

  9. esphome-zehnder-comfoair★ 97 · active · C++

    ESPHome control of Zehnder ComfoAir Q over CAN bus

  10. comfoconnect★ 95 · archived · Python

    Python library for the Zehnder ComfoConnect LAN C protocol

PLC Protocols51 all 51 →

  1. HslCommunication★ 2,143 · active · C#

    C# industrial comms library covering Siemens, Mitsubishi, Omron, AB, Keyence and other PLC protocols

  2. plc4x★ 1,762 · active · Java

    Apache PLC4X: drivers for S7, Allen-Bradley, Beckhoff, Modbus and other PLC protocols in Java/Go/C

  3. IoTClient★ 1,689 · active · C#

    .NET client for industrial protocols: Siemens S7, Mitsubishi MC, Omron FINS, Allen-Bradley

  4. s7netplus★ 1,636 · slowing · C#

    S7.NET+: .NET library that talks the Siemens S7comm protocol to Step7 PLCs

  5. libplctag★ 904 · active · C

    Portable C library for Allen-Bradley (CIP/PCCC) and Modbus PLC tag access

  6. python-snap7★ 864 · active · Python

    Pure-Python client for Siemens S7comm, the undocumented protocol of S7-300/400/1200/1500 PLCs

  7. PLC-CommunTools★ 781 · active · C#

    Communication test tools for vendor PLC protocols (Siemens, Mitsubishi, Omron and others)

  8. pylogix★ 735 · active · Python

    Python library to read/write tags on Allen-Bradley ControlLogix/CompactLogix PLCs

  9. pycomm3★ 521 · active · Python

    Python EtherNet/IP library for Allen-Bradley Logix and SLC/MicroLogix PLCs, incl. undocumented services

  10. DotNetSiemensPLCToolBoxLibrary★ 485 · active · C#

    .NET library to access Siemens PLCs and parse Step5/Step7 project files

Gates, Blinds & Garage30 all 30 →

  1. secplus★ 317 · slowing · Python

    Software implementation of the Chamberlain Security+ rolling-code garage door system

  2. iown-homecontrol★ 288 · slowing · C++

    Documentation and implementation of the io-homecontrol radio protocol (Velux, Somfy)

  3. Somfy_Remote_Lib★ 158 · active · C++

    Emulates a Somfy RTS remote with a 433.42 MHz transmitter

  4. homebridge-ratgdo★ 132 · active · TypeScript

    Homebridge plugin for non-myQ LiftMaster and Chamberlain openers via ratgdo

  5. HCPBridge★ 102 · dormant · C++

    Emulates the Hörmann HAP 1 HCP2 bus module on ESP8266/ESP32 for garage doors

  6. homekit-ratgdo32★ 94 · active · C++

    HomeKit firmware for the ratgdo32 board speaking the Chamberlain Security+ garage door protocol

  7. am43★ 75 · dormant · C++

    Controls AM43 blind motors with an ESP32 over their BLE protocol

  8. nRF905-API★ 69 · active · C++

    API and web interface for the nRF905 radio used to control Itho and similar ventilation and blinds

  9. home_io_control★ 68 · active · C++

    ESPHome component for io-homecontrol blinds and covers using the reverse-engineered radio protocol

  10. Nice_BusT4★ 64 · active · C++

    Nice Bus-T4 gate automation protocol implementation for ESP devices

Energy Meters21 all 21 →

  1. amsreader-firmware★ 468 · active · C++

    ESP firmware reading HAN port data from smart electricity meters to MQTT

  2. Home-Assistant-custom-components-Tauron-AMIplus★ 222 · active · Python

    Home Assistant sensor for Tauron eLicznik energy data via unofficial API

  3. Peacefair-PZEM-004T-★ 108 · slowing · Python

    Reverse engineered schematics and interface software for the PZEM-004T power meter

  4. esphome-components★ 100 · active · C

    ESPHome components including iNode BLE energy meter support

  5. ha-kamstrup_403★ 91 · active · Python

    Home Assistant integration for Kamstrup 403 heat meters via the optical KMP protocol

  6. vienna-smartmeter★ 82 · slowing · Python

    Python library for the Wiener Netze smart meter private API

  7. powerpal_ble★ 72 · dormant · C++

    Retrieves energy data from a Powerpal meter reader over its reverse-engineered BLE protocol

  8. emerald_electricity_advisor★ 61 · dormant · C++

    Reverse engineered tools and docs for the Emerald Electricity Advisor

  9. PyKamstrup★ 61 · archived · Python

    Implementation of the Kamstrup Meter Protocol (KMP)

  10. kamstrup-402-mqtt★ 54 · active · Python

    Python library reading Kamstrup Multical 402 heat meters over the optical eye

CNC & Machine Tools10

  1. inkscape-silhouette★ 691 · active · Python

    Inkscape extension driving Silhouette vinyl cutters via their reverse-engineered USB protocol

  2. meerk40t★ 441 · active · Python

    Laser software for K40 (reverse-engineered M2 Nano/Lihuiyu), GRBL and fibre lasers

  3. pyLSV2★ 93 · active · Python

    Pure-Python implementation of Heidenhain's LSV2 CNC control protocol

  4. cnc3018-offline-controller★ 89 · active · C++

    Open-source firmware for the CNC3018 offline controller

  5. ruida-laser★ 65 · active · R

    Reverse-engineered protocol and file format of Ruida laser controllers (RDWorks, USB, Ethernet)

  6. ruida★ 44 · slowing · Ruby

    Decoder and tooling for the scrambled RDWorks .rd laser file format

  7. inkscape-thunderlaser★ 20 · slowing · Python

    Inkscape extension to drive Ruida-based laser cutters directly

  8. RuiDa-Machine-Code★ 8 · dormant · JavaScript

    Notes on hacking the machine code of RuiDa laser controllers

  9. rdint★ 4 · dormant · C++

    Interpreter and renderer for Ruida .rd laser job files

  10. RDCAM★ 3 · archived · Visual Basic

    Reverse engineering of the LaserWorks/RDCAM software from Shenzhen Reader Technology

Building Automation3

  1. freeathome★ 168 · active · Python

    Home Assistant component for Busch-Jaeger free@home via the SysAP

  2. xcomfortd★ 15 · dormant · C++

    Eaton xComfort CKOZ-00/14 USB stick to MQTT gateway

  3. ESPHome-PHC-Controller★ 13 · active · C++

    ESPHome component that replaces the controller of a PHC home control system

Industrial Robots2

  1. KUKAVARPROXY★ 136 · dormant · VBA

    TCP server on KUKA robots exposing variables via the OpenShowVar protocol

  2. fanuc_ucl★ 51 · active · Rust

    Unofficial control library for FANUC robot controllers