Pinouts and example circuits for Home Automation Building Blocks / Components

ESP8266 ESP-12 Wi-Fi Module

A great device to start building home automation as it has everything: Wi-Fi, a bunch of input/output pins, and good integration with Home Assistant using ESPHome. It can also be programmed using Arduino if going down another route

This isn't really suitable for battery operation unless its going to spend most of its time in deep sleep. Running with nothing connected it draws around 80mA mostly due to WiFi.

ESP8266 ESP-12 Wi-Fi Module pinout

ESP32 - C3

As of 2025, this device is more current vs the 8266 above. Its well priced and packed with I/O, has WiFi again, also bluetooth. It can be powered from 3.3v, 5v or via the USB-C connector fitted. The USB connector makes for very easy first time programming. These are just some of the improvements on the ESP8266.

Pinouts

Pin Use / caution GPIO0 Usable GPIO. Also often involved in boot/strapping on ESP chips, so avoid forcing it to the wrong state at boot.
GPIO1 Usable GPIO. Can be ADC.
GPIO2 Usable GPIO. Can be ADC.
GPIO3 Usable GPIO. Can be ADC.
GPIO4 Good general GPIO. Often used for SDA on I²C examples.
GPIO5 Good general GPIO. Often used for SCL on I²C examples.
GPIO6 Usable GPIO.
GPIO7 Usable GPIO.
GPIO8 Usually connected to the onboard status LED on many Super Mini boards. Can be used, but the LED may interfere or flash.
GPIO9 Usually connected to the BOOT button. Avoid using it for anything that may pull it low during boot, or the board may enter programming/download mode.
GPIO10 Usable GPIO.
GPIO20 Often UART RX / serial. Usable, but avoid if you need serial/debug.
GPIO21 Often UART TX / serial. Usable, but avoid if you need serial/debug.


temp