GPIO Map – GAP Wi-Fi (ESP32-WROOM)

This GPIO map mirrors the Ethernet GAP for sensors and outputs, but without a LAN8720 attached. The Wi-Fi radio handles networking; the “LAN8720” pins are reserved for future Ethernet or expansion.

GPIO Signal / Device Direction Notes
GPIO2 DHT11 Temperature / Humidity INPUT (1-wire) Strap pin; idles high via DHT11, OK with clean wiring
GPIO4 Garage Door Relay OUTPUT (momentary) Drives relay IN to simulate wall button press
GPIO5 Buzzer (Active) OUTPUT Active buzzer, 3.3 V
GPIO13 Inside Garage Door Reed INPUT (pullup) Reed between GPIO13 and GND
GPIO14 Main Garage Door Reed INPUT (pullup) Primary door state (open/closed)
GPIO16 Outside Garage Door Reed INPUT (pullup) Reed between GPIO16 and GND
GPIO32 I²C SDA – OLED Bidirectional SDA for 0.96″ OLED (addr 0x3C)
GPIO33 I²C SCL – OLED OUTPUT SCL for 0.96″ OLED (addr 0x3C)
GPIO34 PIR Inside INPUT-only No internal pull-up; PIR module drives logic level
GPIO35 PIR Outside INPUT-only No internal pull-up; PIR module drives logic level

Wiring assumptions: reeds on 13 (inside), 16 (outside), 14 (main); PIRs on 34 (inside) and 35 (outside); OLED on SDA=32 / SCL=33; DHT11 on GPIO2; garage relay on GPIO4; buzzer on GPIO5.

Wi-Fi Radio (2.4 GHz)

The ESP32-WROOM module provides 2.4 GHz Wi-Fi (802.11b/g/n). No external Ethernet PHY is used in this variant. Keep antenna area clear of metal and large ground planes in the enclosure where possible.

Reserved / Future Ethernet-Compatible Pins

To keep this design compatible with the Ethernet GAP, the LAN8720-compatible pins are treated as reserved in this Wi-Fi-only build. Leave these unconnected unless you are intentionally adding an Ethernet or RMII-based expansion.

GPIO Suggested Role Notes
GPIO17 Future RMII CLK_OUT Ethernet clock (LAN8720 in Eth variant)
GPIO18 Future MDIO MDIO data for PHY
GPIO23 Future MDC MDIO clock for PHY
GPIO19 Future RMII TX0 TX data 0
GPIO22 Future RMII TX1 TX data 1
GPIO21 Future RMII TX_EN Transmit enable
GPIO25 Future RMII RX0 RX data 0
GPIO26 Future RMII RX1 RX data 1
GPIO27 Future RMII CRS Carrier sense

In a pure Wi-Fi build, treating these as reserved keeps wiring and firmware compatible with your Ethernet GAP baseline.

Boot / Flash Pins & Input-Only Pins

Boot / flash pins to avoid

  • GPIO6..11 – Flash pins (SDIO). Do not use.
  • GPIO0, GPIO2, GPIO12, GPIO15 – Boot strap pins; use with care.
  • GPIO1 (TX0), GPIO3 (RX0) – Serial console; avoid unless you know the trade-offs.

Input-only pins

Input-only pins are ideal for dry-contact sensors when paired with external pull-ups:

  • GPIO34, GPIO35, GPIO36 (VP), GPIO39 (VN)
  • Typical uses: safety beams, extra reeds, additional PIRs, dry-contact inputs.
OLED – I²C Wiring

The 0.96″ OLED is powered from 3.3 V and uses I²C at address 0x3C on GPIO32/33.

ESP32-WROOM OLED Module Typical Wire Color Function
3V3 VCC Red Display power (3.3 V)
GND GND Black Common ground
GPIO32 SDA Blue I²C data
GPIO33 SCL Green I²C clock
DHT11 – Temperature & Humidity

The DHT11 uses GPIO2 as its single data line and runs from 3.3 V.

ESP32-WROOM DHT11 Typical Wire Color Function
3V3 VCC Red Sensor power (3.3 V)
GND GND Black Common ground
GPIO2 DATA / OUT Yellow DHT11 data (1-wire)
Garage Door Reeds – Inside / Outside / Main

Three reed switches monitor door position: inside track, outside track, and main open/closed state. Each is wired between the GPIO and ground with the internal pull-up enabled.

GPIO Reed Location Wiring Notes
GPIO13 Inside Garage Door Reed Reed between GPIO13 and GND INPUT, pullup enabled
GPIO16 Outside Garage Door Reed Reed between GPIO16 and GND INPUT, pullup enabled
GPIO14 Main Garage Door Reed Reed between GPIO14 and GND Primary door state
PIR Motion Sensors – Inside & Outside

Two PIR sensors monitor inside and outside motion for safety and auto-close logic. GPIO34 and GPIO35 are input-only; the PIR modules provide logic-level outputs.

GPIO PIR Wiring Notes
GPIO34 PIR Inside VCC to 5 V or 3.3 V (per module), GND to GND, OUT to GPIO34 Input-only; no internal pull-up
GPIO35 PIR Outside VCC to 5 V or 3.3 V (per module), GND to GND, OUT to GPIO35 Input-only; no internal pull-up
Garage Relay & Buzzer

Garage Door Relay (GPIO4)

The relay module simulates the wall-button press. Coil side is powered from 5 V (dedicated buck), IN pin is driven by GPIO4.

ESP32 / Rail Relay Module Function
5 V Supply DC+ Relay power (5 V)
GND (common) DC- Common ground
GPIO4 IN Relay control (momentary)
Garage opener button contacts NO / COM Connect in parallel with wall button

Buzzer (GPIO5)

The active buzzer is powered from 3.3 V and driven by GPIO5 for pre-warn and continuous-beep behavior.

ESP32-WROOM Buzzer Function
3V3 VCC / + Power (3.3 V)
GND GND / − Common ground
GPIO5 IN (if 3-pin) Drives active buzzer