Olimex ESP32-POE2
by Olimex
Open-source ESP32-WROVER-E board with 100Mbit Ethernet and 802.3at Class 4 PoE that can feed up to 25W to external circuits.

On this page
Olimex ESP32-POE2 Pinout
35 pins · 2.54 mm pitch| Pin | GPIO | Labels | Status | Capabilities | Notes |
|---|---|---|---|---|---|
| 1 | - | VPP | power | - | EXT1 pin 1: 12 V / 1.5 A or 24 V / 0.75 A output from PoE, set by the 24V_E1 jumper |
| 2 | - | GND | ground | - | EXT1 pin 2 |
| 3 | - | GND | ground | - | EXT1 pin 4 |
| 4 | - | GND | ground | - | EXT1 pin 6 |
| 5 | - | GND | ground | - | EXT1 pin 8 |
| 6 | - | +5VP | power | - | EXT1 pin 3: 5 V / 1.5 A output from PoE |
| 7 | - | +5V | power | - | EXT1 pin 5: 5 V rail - output on USB or PoE power, or input to power the board (never with USB connected) |
| 8 | - | +3.3V3V3 | power | - | EXT1 pin 7 and UEXT pin 1: 3.3 V output, up to 0.5 A |
| 9 | - | ESP_ENRST | control | - | EXT1 pin 9: resets the ESP32 (shared with the RST button) |
| 10 | 39 | GPI39EXT_PWR_SENSE | strapping | adc | EXT1 pin 10: external power sense through a divider; input-only |
| 11 | 0 | GPIO0EMAC_CLK | strapping | adc · touch · pwm | EXT1 pin 11: the Ethernet clock output on this WROVER board - using it breaks Ethernet |
| 12 | 36 | GPI36U1RXD | strapping | adc · uart | EXT1 pin 12, and UEXT pin 4 through a diode (D6); input-only |
| 13 | 1 | GPIO1U0TXD | uart | uart · pwm | EXT1 pin 13: UART0 TX to the CH340X USB bridge |
| 14 | 35 | GPI35BAT_SENSE | strapping | adc | EXT1 pin 14: free by default; battery voltage (divider 2:1) once the BAT_SENS_E1 solder jumper is closed; input-only |
| 15 | 2 | GPIO2SD_DATA0 | strapping | adc · touch · pwm | EXT1 pin 15 and UEXT pin 8: microSD DATA0 (1-bit mode); free without a card, else time-share |
| 16 | 34 | GPI34BUT1 | strapping | adc | EXT1 pin 16: the user button BUT1, 10K pull-up; input-only |
| 17 | 3 | GPIO3U0RXD | uart | uart · pwm | EXT1 pin 17: UART0 RX from the CH340X USB bridge |
| 18 | 33 | GPIO33I2C_SCL | safe | adc · touch · i2c · pwm | EXT1 pins 18 AND 22 and UEXT pin 5: the WROVER board routes GPIO33 where the schematic says GPIO16 (PSRAM) |
| 19 | 4 | GPIO4U1TXD | uart | adc · touch · uart · pwm | EXT1 pin 19 and UEXT pin 3 |
| 20 | 32 | GPIO32 | safe | adc · touch · pwm | EXT1 pin 20 |
| 21 | 5 | GPIO5SPI_CS | strapping | spi · pwm | EXT1 pin 21 and UEXT pin 10; strapping pin |
| 22 | 12 | GPIO12PHY_PWR | strapping | adc · touch · pwm | EXT1 pin 23: switches the Ethernet PHY power - using it breaks Ethernet; strapping pin (MTDI) |
| 23 | 15 | GPIO15SD_CMD | strapping | adc · touch · pwm | EXT1 pin 24 and UEXT pin 7: microSD CMD; strapping pin (MTDO) |
| 24 | 13 | GPIO13I2C_SDA | strapping | adc · touch · i2c · pwm | EXT1 pin 25 and UEXT pin 6 |
| 25 | 14 | GPIO14SD_CLK | strapping | adc · touch · pwm | EXT1 pin 26 and UEXT pin 9: microSD CLK |
| 26 | 18 | GPIO18MDIO | safe | pwm | RMII management data to the LAN8710A Ethernet PHY |
| 27 | 23 | GPIO23MDC | safe | pwm | RMII management clock to the LAN8710A Ethernet PHY |
| 28 | 19 | GPIO19EMAC_TXD0 | safe | pwm | RMII TXD0 to the LAN8710A Ethernet PHY |
| 29 | 22 | GPIO22EMAC_TXD1 | safe | pwm | RMII TXD1 to the LAN8710A Ethernet PHY |
| 30 | 21 | GPIO21EMAC_TX_EN | safe | pwm | RMII TX enable to the LAN8710A Ethernet PHY |
| 31 | 25 | GPIO25EMAC_RXD0 | safe | adc · dac · pwm | RMII RXD0 to the LAN8710A Ethernet PHY |
| 32 | 26 | GPIO26EMAC_RXD1 | safe | adc · dac · pwm | RMII RXD1 to the LAN8710A Ethernet PHY |
| 33 | 27 | GPIO27EMAC_CRS_DV | safe | adc · touch · pwm | RMII CRS_DV to the LAN8710A Ethernet PHY |
| 34 | 16 | GPIO16PSRAM_CS | strapping | pwm | used by the WROVER modules PSRAM, not brought out |
| 35 | 17 | GPIO17PSRAM_CLK | strapping | pwm | used by the WROVER modules PSRAM, not brought out |
Start with these
3 pins with no boot or system involvementFreely assignable - no strapping, flash, USB or JTAG duties. Ideal first picks for buttons, sensors and LEDs.
Fine - with a little care
11 pins · 8 things to knowGPI39GPIO39 EXT1 pin 10: external power sense through a divider; input-only onboard hardware
Wired to the external-power sense divider on this board. The pin is yours if you give that up, but nothing else can share it.
GPI36GPIO36 Input-only GPIO (no output); ADC1 channel 0, Hall sensor VP. Other
Cannot be used as output; only suitable for input (e.g., analog read).
GPIO1GPIO3 Used by the CH340X USB serial bridge onboard hardware
Wired to the CH340X USB serial bridge on this board. The pin is yours if you give that up, but nothing else can share it.
- GPIO1EXT1 pin 13: UART0 TX to the CH340X USB bridge
- GPIO3EXT1 pin 17: UART0 RX from the CH340X USB bridge
GPI35GPIO35 Input-only GPIO (no output driver); ADC1 channel 7. Other
Cannot be used as output; only suitable for input.
GPIO2GPIO15GPIO14 Used by the microSD card slot onboard hardware
Wired to the microSD card slot on this board. The pin is yours if you give that up, but nothing else can share it.
- GPIO2EXT1 pin 15 and UEXT pin 8: microSD DATA0 (1-bit mode); free without a card, else time-share
- GPIO15EXT1 pin 24 and UEXT pin 7: microSD CMD; strapping pin (MTDO)
- GPIO14EXT1 pin 26 and UEXT pin 9: microSD CLK
GPI34GPIO34 EXT1 pin 16: the user button BUT1, 10K pull-up; input-only onboard hardware
Wired to the user button on this board. The pin is yours if you give that up, but nothing else can share it.
GPIO5 Bootstrapping pin; internal pull-up; VSPI CS0 (default SPI chip-select); acts as FSPIWP (flash write-protect) on internal-flash variants. Strapping
Must be HIGH during boot; if pulled LOW at reset, alters SDIO slave timing and may prevent normal boot.
GPIO13 JTAG clock pin (TCK); also ADC2 channel 4 / Touch4 input. JTAG
Used for JTAG debugging (TCK); avoid using as GPIO if JTAG is needed.
Only if you know the tricks
12 pins · 4 things to knowGPIO0 EXT1 pin 11: the Ethernet clock output on this WROVER board - using it breaks Ethernet onboard hardware
Wired to the Ethernet PHY (clock) on this board, which is soldered down. Driving it from your own code breaks that function.
GPIO12 EXT1 pin 23: switches the Ethernet PHY power - using it breaks Ethernet; strapping pin (MTDI) onboard hardware
Wired to the Ethernet PHY power switch on this board, which is soldered down. Driving it from your own code breaks that function.
GPIO18GPIO23GPIO19GPIO22GPIO21GPIO25GPIO26GPIO27 Used by the LAN8710A Ethernet PHY onboard hardware
Wired to the LAN8710A Ethernet PHY on this board, which is soldered down. Driving it from your own code breaks that function.
- GPIO18RMII management data to the LAN8710A Ethernet PHY
- GPIO23RMII management clock to the LAN8710A Ethernet PHY
- GPIO19RMII TXD0 to the LAN8710A Ethernet PHY
- GPIO22RMII TXD1 to the LAN8710A Ethernet PHY
- GPIO21RMII TX enable to the LAN8710A Ethernet PHY
- GPIO25RMII RXD0 to the LAN8710A Ethernet PHY
- GPIO26RMII RXD1 to the LAN8710A Ethernet PHY
- GPIO27RMII CRS_DV to the LAN8710A Ethernet PHY
GPIO16GPIO17 used by the WROVER modules PSRAM, not brought out onboard hardware
Wired to the WROVER PSRAM on this board, which is soldered down. Driving it from your own code breaks that function.
- GPIO16used by the WROVER modules PSRAM, not brought out
- GPIO17used by the WROVER modules PSRAM, not brought out
The Olimex ESP32-POE2 pinout brings out 35 pins at a 2.54 mm pitch - 26 usable GPIO alongside the VPP, GND, +5VP, +5V and +3.3V power rails.
Beyond plain digital I/O you get 16 ADC-capable pins for sensors and battery monitoring, PWM on 22 pins, 10 capacitive-touch inputs and 2 true DAC outputs.
11 of the exposed pins carry boot-time or system duties on the ESP32 (GPI39, GPI36, GPIO1 and 8 more) - check the guidance above before wiring anything to them. GPIO33, GPIO4 and GPIO32 are free of any such role - the safest first picks.
Getting started
flash your first firmware in ~2 minutesBoard: ESP32 Wrover Module Flash Size: 4MB (32Mb) Flash Mode: DIO PSRAM: QSPI PSRAM Partition Scheme: Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) Upload Speed: 921600
// toggle GPIO33 - wire an LED and resistor to it
void setup() {
pinMode(33, OUTPUT);
}
void loop() {
digitalWrite(33, HIGH); delay(500);
digitalWrite(33, LOW); delay(500);
}[env:olimex-esp32-poe2]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
upload_speed = 921600
board_build.arduino.memory_type = qio_qspi
build_flags = -DBOARD_HAS_PSRAMesp32dev - or type it after board =.esp32:
board: esp32dev
variant: esp32
framework:
type: esp-idf
psram:
mode: quad
speed: 80MHz
# blink - GPIO33
output:
- platform: gpio
pin: 33
id: led_out
light:
- platform: binary
name: "LED"
output: led_outesp32dev (same ids as PlatformIO).esptool.py --chip esp32 --port /dev/ttyACM0 \
--baud 921600 write_flash 0x1000 firmware.bin--port = your /dev/tty* (macOS/Linux) or COMx (Windows).Downloads
Free for non-commercial use, credit espboards.dev · LicenseBoard illustration
The bare Olimex ESP32-POE2 board drawn to scale at 90 × 60 mm, with no pin labels on it. Made for slide decks, wiring diagrams and project write-ups where a photo is too busy. Take the scalable SVG for print or editing, the high-resolution PNG to drop straight in, or the transparent PNG when you need it with no background behind it.
Pinout diagram
Every pin on both sides of the board with its functions, drawn by ESPboards from the ESP32 Series Datasheet v5.3 - the same sheet shown at the top of this page. The PNG is a high-resolution image for screens, the SVG is vector so it stays sharp at any size, and the PDF is laid out to print on A4 or Letter.
Yours to use, share and adapt for non-commercial work, as long as you credit espboards.dev - the full terms and ready-made credit lines are here.
Specifications
ESP32 · 90 × 60 mm · vs other ESP32 chips →Dimensions

About this board
Inside sits the ESP32 - a dual-core Xtensa with both Bluetooth Classic and BLE.
At $23.80 it's on the expensive side for an ESP32 board - most land around $20.
Around the module: 8MB (QSPI) PSRAM, a microSD slot, Power over Ethernet (PoE), wired Ethernet (LAN8710A), battery charging (TP4054-42) via JST 2.0mm, status LEDs (Power, Ethernet Link, Ethernet Activity, Charge) and Reset/User buttons.
- Supplies external circuits with 24V/0.75A or 12V/1.5A (jumper-selectable) plus 5V/1.5A and 3.3V/1A, 25W total
- PoE controller TPS2378 configured for 802.3at Class 4 (12.95W - 25.5W)
- Jumper enables 13W backward compatibility for 802.3af switches
- UEXT connector and 26-pin EXT1 connector
- microSD card in 1-bit mode
- Software-compatible with the original Olimex ESP32-POE
- Operating temperature 0-70 C (commercial)
Where to buy
prices are typical street prices
Resources
Similar boards




