Peripheral catalogue
A peripheral is a component on the board's own I²C or SPI bus — a
sensor, a converter, an expander, a clock. It is added to a project by picking
it from this catalogue, not by writing a driver: see
adding peripherals to a board .
Every component gets one page , with its photo, what it does, its
parameters, how it is wired and where its datasheet is. The page is meant to be
the short datasheet — enough to choose the part and wire it without opening the
manufacturer's PDF, with the PDF one click away when you do need it.
Supported today
These have a driver in inoCORE and can be used now.
Component
Bus
What it is
ADS1115
I²C
Four analogue inputs, 16-bit
TCA9555
I²C
Sixteen digital inputs and outputs
PCF8563
I²C
Real-time clock, battery backed
Written up next
Chosen, with a page each, but without a driver yet.
Component
Bus
What it is
BME280
I²C, SPI
Temperature, humidity and pressure
SHT4x
I²C
Temperature and humidity, the accurate kind
BH1750
I²C
Ambient light
INA219
I²C
Current, voltage and power on a rail
MAX31865
SPI
PT100 and PT1000 temperature probes
A new component needs a release, not just an entry
There is no generic driver that reads any I²C chip. Each component gets a
real driver, written and tested against the part, and arrives with a
version of the software. That is a deliberate trade: the catalogue grows at
the speed of releases, and in exchange every entry in it has been made to
work rather than assumed to.
The range being worked towards
Below is every component on an I²C or SPI bus that ESPHome supports, which
is the range this catalogue is aimed at. None of them has a driver yet beyond
the three above; they are here so that what is coming is visible rather than
guessed at, and so that a part already on your desk can be found.
A part moves up into the tables above when its driver ships and its page is
written.
Temperature
Part
Bus
What it is
tmp102 tmp1075 tmp117
I²C
Digital temperature, the accurate small ones
lm75b tc74 mcp9808 bh1900nux stts22h
I²C
Digital temperature, general purpose
sts3x
I²C
Temperature only, Sensirion
mlx90614
I²C
Infrared, measures a surface without touching it
max6675 max31855 max31856
SPI
Thermocouple inputs — type K and the rest
max31865
SPI
PT100 and PT1000 probes
Temperature and humidity
Part
Bus
What it is
sht3xd sht4x shtcx
I²C
Sensirion, in rising order of accuracy and price
htu21d htu31d
I²C
The common alternative
hdc1080 hdc2080 hdc302x
I²C
Texas Instruments
am2320 hyt271 hte501 tee501
I²C
Others in the same job
honeywell_hih_i2c
I²C
Honeywell, the industrial one
ms8607
I²C
Temperature, humidity and pressure in one
Pressure
Part
Bus
What it is
lps22 spa06
I²C, SPI
Barometric
xgzp68xx xdb401 npi19 tem3200
I²C
Pressure transducers, for liquids and gases
sdp3x
I²C
Differential pressure — across a filter, along a duct
fs3000
I²C
Air velocity
Air quality and gas
Part
Bus
What it is
scd30 scd4x
I²C
Carbon dioxide, measured properly
ee895
I²C
Carbon dioxide, pressure and temperature
sgp30 sgp4x sfa30
I²C
Volatile compounds, and formaldehyde
ccs811 iaqcore ags10
I²C
Air quality, the cheaper approach
bme680_bsec bme68x_bsec2
I²C
Bosch, with the manufacturer's air quality algorithm
sen5x sen6x sps30 pmsa003i
I²C
Particulate matter
mics_4514 grove_gas_mc_v2 gl_r01
I²C
Specific gases
Light and colour
Part
Bus
What it is
bh1750 max44009 opt3001 veml7700 tsl2591
I²C
Ambient light in lux
ltr390 ltr501 ltr_als_ps
I²C
Light, some with ultraviolet or proximity
as7341
I²C
Colour, across eleven bands
Distance and presence
Part
Bus
What it is
vl53l0x tof10120
I²C
Time-of-flight, up to a couple of metres
zio_ultrasonic
I²C
Ultrasonic range
at581x
I²C
Radar presence
qwiic_pir
I²C
Passive infrared movement
Motion, magnetic field and angle
Part
Bus
What it is
mpu6050 mpu6886 bmi160 bmi270 lsm6ds qmi8658
I²C
Accelerometer and gyroscope
hmc5883l qmc5883l mmc5603 mmc5983 mlx90393
I²C
Magnetic field — a compass, or sensing a magnet
as5600
I²C
Magnetic angle, for a shaft with no contact
Current, voltage and power
Part
Bus
What it is
ina219 ina226 ina260 ina2xx ina3221
I²C, SPI
Current and voltage on a DC rail
ade7880 ade7953 atm90e26 atm90e32 cs5460a
I²C, SPI
Mains energy metering
max17043
I²C
Battery state of charge
sy6970
I²C
Battery charging
Analogue in and out
Part
Bus
What it is
ads1115 mcp3221
I²C
Analogue inputs
ads1118 mcp3008 mcp3204 adc128s102
SPI
Analogue inputs
dac7678
I²C
Analogue outputs
pca9685 tlc59208f
I²C
PWM outputs, for dimming and servos
Part
Bus
What it is
tca9555 pcf8574 pca9554 pca6416a xl9535
I²C
Port expanders
mcp230xx sx1509 max6956 pi4ioe5v6408
I²C
Port expanders
ch422g ch423 waveshare_io_ch32v003
I²C
Port expanders
sn74hc595
SPI
Shift register outputs
weikai
I²C, SPI
Extra serial ports
tca9548a
I²C
Bus multiplexer — for eight parts that share one address
Touch and identification
Part
Bus
What it is
cap1188 mpr121
I²C
Capacitive touch pads
pn532 rc522 pn7150 pn7160
I²C, SPI
RFID and NFC readers
Liquid and soil
Part
Bus
What it is
ezo ezo_pmp
I²C
Atlas Scientific probes — pH, conductivity, dosing
ufire_ec ufire_ise
I²C
Conductivity and ion-selective probes
pmwcs3
I²C
Soil moisture
Radio
Part
Bus
What it is
sx126x sx127x
SPI
LoRa transceivers
cc1101
SPI
Sub-gigahertz transceiver
Other
Part
Bus
What it is
mcp2515
SPI
A second CAN interface
bm8563
I²C
Real-time clock
ds2484
I²C
A bridge to 1-Wire devices
emc2101 grove_tb6612fng
I²C
Fan control, and a small motor driver
aic3204 es8311 es8388 es8156 pcm5122 es7210 es7243e
I²C
Audio converters
i2c_device
I²C
A raw device, addressed and written by hand
Displays
Listed for completeness, but a display is not a peripheral here . It belongs
to the board definition, because its pins and its controller are compiled in —
see display controllers .
Part
Bus
What it is
ssd1306 ssd1327 st7567 lcd_display
I²C, SPI
Small monochrome panels
st7789v st7735 ili9xxx mipi_spi qspi_dbi
SPI
Colour panels
ssd1322 ssd1325 ssd1331 ssd1351 st7920 pcd8544
SPI
Monochrome and small colour panels
waveshare_epaper epaper_spi it8951
SPI
Electronic paper
max7219 max7219digit hub75 pixoo
SPI
LED matrices and seven-segment displays
What each page contains
Same shape every time, so a page can be read at a glance and written without
deciding the format again:
Section
What goes in it
Photo
The component as you will recognise it in a bag of parts.
What it does
Two or three sentences, in plain words.
Parameters
The table: ranges, accuracy, resolution, supply, current.
Bus and addressing
Which bus, which addresses, how the address is set.
Wiring
The diagram, and what is needed besides the four wires — pull-ups, a reference resistor, a shunt.
In a project
The lines that appear in the project, and the tags that come out.
Traps
The mistakes that cost a day with this particular part.
Datasheet
A link to the manufacturer's page.