Drivers
Each driver speaks one protocol, and every status on this page comes from drivers/catalog.json.
34 drivers.
| Driver | Status | Tier | Conformance | Protocol | Covers | Hazard |
|---|---|---|---|---|---|---|
| ble | tested on simulator | Tier 1 | control | Bluetooth Low Energy GATT | environmental sensors, battery powered sensors, BLE LED and relay boards, DIY ESP32, nRF52 and Pico W peripherals | low |
| esphome | tested on simulator | Tier 1 | control | ESPHome native API over TCP, plaintext or Noise encrypted | ESP32, ESP8266, RP2040 and BK72xx boards running ESPHome, sensors, switches, lights, fans, numbers, selects and buttons defined in ESPHome YAML | low |
| firmata | tested on simulator | Tier 1 | control | Firmata 2.x over USB serial (StandardFirmata) | Arduino AVR boards, Arduino-compatible clones, Teensy, ESP8266 and ESP32 with Firmata over serial | low |
| hid | tested on simulator | Tier 1 | control | USB HID 1.11, Bluetooth HID through the operating system | macropads and button boxes, knobs and jog wheels, foot switches, USB status lights, custom HID gadgets on RP2040, ESP32-S2/S3 and ATmega32U4 boards | low |
| homeassistant | tested on simulator | Tier 1 | control | Home Assistant REST API, Home Assistant WebSocket API | lights, switches and smart plugs, fans, number and select helpers, sensors and binary sensors, Zigbee, Z-Wave, Matter and Wi-Fi devices that Home Assistant integrates | low |
| http | tested on simulator | Tier 1 | control | HTTP/1.1 JSON APIs, HTTP/1.1 plain text APIs, OpenAPI 3 described APIs | smart plugs and relays, networked sensors, lab and bench gadgets with REST APIs, DIY ESP32 and Pico W web servers | medium |
| marlin | tested on simulator | Tier 1 | control | Marlin G-code over USB serial, with line numbers and checksums | FDM 3D printers, pen plotters and other Marlin machines | medium |
| midi | tested on simulator | Tier 1 | control | MIDI 1.0 over USB MIDI class, MIDI 1.0 over DIN through an interface, virtual MIDI ports | pad and knob controllers, keyboards, synthesizers, control surfaces with LEDs and motorised faders, DIY USB MIDI boards | low |
| modbus | tested on simulator | Tier 1 | control | Modbus RTU, Modbus TCP | energy and power meters, PLCs, variable frequency drives, temperature controllers, solar inverters, industrial sensors and I/O modules | medium |
| moonraker | tested on simulator | Tier 1 | control | Moonraker JSON-RPC over HTTP, Moonraker JSON-RPC over WebSocket | Klipper 3D printers (Voron, RatRig, Creality K1 and Sonic Pad, Sovol SV08, Elegoo Neptune 4, Qidi) | medium |
| mqtt | tested on simulator | Tier 1 | control | MQTT 3.1.1 | Tasmota devices, Zigbee2MQTT bridged devices, ESPHome and Shelly devices with MQTT enabled, DIY sensor boards, home automation relays and plugs | medium |
| octoprint | tested on simulator | Tier 1 | control | OctoPrint REST API over HTTP | 3D printers connected to OctoPrint (Marlin, Prusa, RepRapFirmware and Klipper with the OctoPrint connector) | medium |
| openhal-firmware | tested on simulator | Tier 1 | full | OpenHAL firmware protocol 1 over USB serial or UART | Arduino boards, ESP32 boards, maker projects that run the OpenHAL library | low |
| rpi-camera | tested on simulator | Tier 1 | core | libcamera through picamera2 | Raspberry Pi Camera Module 1, 2 and 3, Raspberry Pi High Quality and Global Shutter cameras, Raspberry Pi AI Camera, third-party CSI modules with libcamera support | low |
| rpi-gpio | tested on simulator | Tier 1 | control | Raspberry Pi GPIO through gpiozero (lgpio, RPi.GPIO, pigpio) | relays and relay boards, LEDs, buttons, reed switches and limit switches, PWM fans and dimmers, hobby servos | low |
| scpi | tested on simulator | Tier 1 | control | SCPI over USB-TMC, SCPI over LAN (VXI-11, HiSLIP, raw socket), SCPI over serial, SCPI over GPIB | bench power supplies, multimeters, oscilloscopes, function generators, electronic loads | medium |
| serial | tested on simulator | Tier 1 | control | line-based text over USB CDC serial, UART, RFC 2217, raw TCP (socket://) | Arduino and other microcontroller sketches, bench instruments with ASCII command sets, sensor modules with text output, lab equipment with RS-232 ports | medium |
| uvc | tested on simulator | Tier 1 | core | USB Video Class 1.1 and 1.5 through V4L2, AVFoundation, Media Foundation or DirectShow | USB webcams, USB microscopes, HDMI to USB capture cards, document cameras | low |
| alpaca | tested on simulator | Tier 2 | full | ASCOM Alpaca REST, Alpaca UDP discovery | telescope mounts, focusers, cameras and power boxes, observatory domes | medium |
| grbl | tested on simulator | Tier 2 | full | GRBL 1.1 over USB serial | desktop CNC routers, diode and CO2 laser engravers, pen plotters | high |
| indi | tested on simulator | Tier 2 | full | INDI XML protocol 1.7 over TCP | telescope mounts, focusers, astronomy cameras | medium |
| lerobot | tested on simulator | Tier 2 | full | Hugging Face LeRobot Robot API | SO-100 and SO-101 arms, Koch and OMX arms, other LeRobot arms with joint goals | high |
| onvif | tested on simulator | Tier 2 | full | ONVIF Profile S and T over SOAP 1.2, WS-Discovery | ONVIF IP cameras, ONVIF PTZ cameras, network video recorders with ONVIF, video encoders | low |
| opcua | tested on simulator | Tier 2 | full | OPC UA binary over TCP (opc.tcp) | PLCs with an OPC UA server, LADS lab instruments, process equipment and gateways | medium |
| pylabrobot | tested on simulator | Tier 2 | full | PyLabRobot LiquidHandler API | Hamilton STAR and STARlet, Tecan Freedom EVO, Opentrons OT-2 | high |
| ros2 | tested on simulator | Tier 2 | full | rosbridge v2 over WebSocket | ROS 2 mobile robots, ROS 2 arms, any ROS 2 graph with rosbridge | high |
| sila2 | tested on simulator | Tier 2 | full | SiLA 2 over gRPC | SiLA 2 lab devices, SiLA 2 gateways, custom SiLA 2 servers | medium |
| bambu | tested on simulator | Tier 3 | full | Bambu Lab LAN MQTT over TLS, Developer Mode | Bambu Lab X1 series, Bambu Lab P1 series, Bambu Lab A1 and A1 mini | medium |
| can | tested on simulator | Tier 3 | full | CAN 2.0A and 2.0B, CAN FD, SocketCAN and USB adapters through python-can | motor controllers (VESC, ODrive, CubeMars), battery management systems, CAN sensor and IO nodes, vehicle and machine buses with documented frames, DIY CAN nodes | medium |
| knx | tested on simulator | Tier 3 | control | KNXnet/IP tunneling, KNXnet/IP tunneling over TCP, KNXnet/IP routing | KNX switch and dimmer actuators, KNX blind actuators, KNX room thermostats, KNX sensors and weather stations, KNX scene and HVAC controllers | low |
| matter | tested on simulator | Tier 3 | full | Matter through the Matter Server WebSocket API | Matter lights and plugs, Matter sensors, Matter thermostats and fans, Matter window coverings and locks, Thread devices through a Matter Server | low |
| pi-i2c-spi | tested on simulator | Tier 3 | full | I2C through Linux i2c-dev, SPI through Linux spidev | I2C temperature and humidity sensors, SPI and I2C ADCs, SPI and I2C DACs, port expanders and PWM drivers, Raspberry Pi HATs | low |
| upnp | tested on simulator | Tier 3 | full | UPnP Device Architecture SOAP actions, SSDP discovery | UPnP AV media renderers and speakers, smart TVs with DLNA rendering, internet gateways (IGD), network media servers | low |
| zigbee-zwave | tested on simulator | Tier 3 | control | Zigbee through the Zigbee2MQTT MQTT API, Z-Wave through the zwave-js-server WebSocket API | Zigbee lights, plugs and sensors, Z-Wave switches, dimmers and plugs, Z-Wave multisensors, Zigbee and Z-Wave thermostats and locks with exposed values | low |
| mock | reference | Reference | control | in-memory simulation | simulated desk fan, simulated heater, any device file for testing and demos | low |
No driver matches these filters, so clear a filter to see more drivers.
mock is the reference driver. A reference driver runs device files in memory for tests and demos and is left out of the driver counts.
The Device Library holds device files that run on these drivers.