ESPHome lets you build smart home and automation projects on ESP32 boards without writing a full program. You describe your hardware in a simple YAML configuration file, and ESPHome builds the firmware and installs it on your board. Once installed, you can control your project from a built-in web page or connect it to Home Assistant.
Our development boards use the industry-standard I²C bus, so they work with ESPHome as well as with the Raspberry Pi. In these tutorials, we use the Waveshare ESP32-P4-Module-DEV-KIT. It has a 40-pin GPIO header with the same layout as the Raspberry Pi, so our boards plug straight on with no extra wiring.
Each tutorial takes you through the configuration one section at a time, explains what every line does, and finishes with a complete listing you can copy into ESPHome Device Builder. You will learn how to read inputs and switch outputs with the IO Pi Plus and IO Zero 32, keep accurate time with the RTC Pi, and dim LEDs or drive RC servos with the Servo PWM Pi.
The tutorials are written for the ESP32-P4, but the board-specific sections work on any ESP32 that ESPHome supports. To use a different ESP32, change the I2C pin numbers to match your board.
Also useful for your Raspberry Pi project
Temperature & Sensing
1 Wire Pi Plus
Connect dozens of 1-Wire sensors - temperature, iButtons, EEPROMs - via a single GPIO pin. Stacks directly on the 40-pin header.
Analogue I/O
ADC Pi
Read up to 8 analogue inputs - perfect for pairing with your temperature sensors or other analogue-output devices.
All-in-one
Expander Pi
Combines ADC, DAC, 32 GPIO ports and a real-time clock on one board. The most versatile board for complex Raspberry Pi projects.