Supported Sensors and Modules
This page follows the current PeripheralType definitions, driver registration and Web forms. A release environment may compile a driver, but actual use still requires compiled, userEnabled and active to be true, valid pins and correct wiring.
Common Modules
| Module | Interface / Type | Status |
|---|---|---|
| LED, relay, buzzer | GPIO output 12 | Core capability |
| Button, door sensor, PIR, vibration, radar | GPIO input 11/13/14, radar 49 | Core capability |
| Light, soil, smoke, voltage, current | ADC 15 | Core capability; calibration required |
| PWM dimming or speed control | PWM 17 | Core capability |
| DHT11/DHT22, HC-SR04 | Generic sensor 38 | Select the sensor category in parameters |
| DS18B20 | OneWire 44 | Requires a data-line pull-up and the active ds18b20 feature |
| AHT20, SHT31, BH1750 | I2C sensor 38 | Requires i2cSensors |
| BMP280, MPU6050 | I2C sensor 38 | Requires i2cSensors |
| OLED/SH1106 | LCD 36 | Requires lcd |
| LCD1602/PCF8574 | LCD1602 52 | Requires lcd1602 |
| TM1637 | Seven-segment 47 | Requires sevenSegment |
| WS2812B/NeoPixel | 45 | Requires neoPixel |
| Servo, stepper motor | 41, 42 | External power and safe limits required |
| Rotary encoder | 43 | GPIO input |
| RFID MFRC522 | SPI driver | Requires rfid |
| IR receiver | 53 | Disabled in selected S3 release environments; see below |
| 433MHz RF | 48 | Requires rfLearn for learning |
| DS1302 RTC | 50 | Three-wire interface, enable only when needed |
| RS485 Modbus slave device | Modbus device 51 | Firmware acts as the Modbus RTU master |
| Device event | Virtual type 60 | Uses no GPIO |
Build and Chip Limits
| Capability | Limit |
|---|---|
| 4MB environments | No OTA; heavy features may report no-memory because of the internal-DRAM budget |
esp32s3-F8R8 | IR and 433MHz RF learning are disabled to avoid RMT/library conflicts |
esp32-F8R8, esp32s3-F16R8 | More headroom; IR/RF may be enabled when the build and hardware allow it |
| W5500 Ethernet | Requires compile support, an SPI module and a valid pin configuration |
| EC801E-CN cellular | Requires compile support, SIM, antenna and stable power |
| BLE | A source flag exists, but BLE provisioning is not in the current release path |
Do not select modules by historical firmware tier. Check Feature Config and /api/features/status on the actual device.
Generic Modules
Modules without a dedicated driver can use the matching signal interface:
| Signal | Recommended Configuration | Examples |
|---|---|---|
| Digital high/low | GPIO input/output | Photoelectric, tilt, reed switch, flame digital output |
| Analog voltage | ADC | Light, rain, sound, smoke, pressure transmitter |
| Pulse/count | GPIO input or encoder | Flow, speed, rotary encoder |
| UART text/frame | UART | GPS, serial sensor, custom module |
| RS485 | Modbus RTU | Temperature/humidity, relay, motor, meter |
Configure and Verify
- Add the module under Peripheral Config with a unique ID, type, pins and parameters.
- Save it with
enabled=false, then enable it after checking the wiring. - Verify one read/write operation or inspect the serial log.
- Add triggers and actions under Peripheral Exec only after the peripheral works alone.
Safety
- Follow the board schematic and
include/core/ChipConfig.h; avoid Flash/PSRAM, USB/JTAG, BOOT and download-UART pins. - Classic ESP32 GPIO34-39 are input-only, and ADC2 is constrained while WiFi is active.
- I2C addresses must not conflict. For RS485, verify A/B polarity, common ground and termination.
- Relays, servos and cellular modules need suitable external power. Isolate mains-voltage loads.
See Peripheral Reference for fields and wiring, and Examples for complete configurations.

