Olimex ESP32-POE-ISO
| Chip | ESP32 |
|---|---|
| Form factor | Board, 98 × 28 mm (ISO); 80 × 28 mm (non-ISO). ISO enclosures and a DIN-rail clip exist |
| Flash | 4 MB (WROOM-32E-N4); 16 MB and WROVER variants |
| Antenna | PCB antenna; -EA variants have a u.FL external antenna |
| USB | Micro-USB (CH340) |
| Install | Browser installer, esp32 flavor. Non-ISO: unplug Ethernet first |
| Price | ~€25 (ISO), ~€18 (non-ISO) |
| Stores | olimex |
| GPIO | Function | ESPresense setting |
|---|---|---|
| 34 | BUT1 button (active low, external pull-up) | Inputs |
| 12 | PHY power | — |
| 17 | Ethernet clock out | — |
| 13 | UEXT I2C SDA | I2C bus 1 SDA |
| 16 | UEXT I2C SCL | I2C bus 1 SCL |
| 35 | Battery sense (ISO) | — |
| 39 | External power sense | — |
Template
Section titled “Template”Paste this into the Board Template box on the node's Templates page, then Preview and Apply (firmware v5.0.0b1 or later). It sets the board's pins (and Ethernet type, if it has one) in one go. The LED, input and output lists replace what was configured before, so the result doesn't depend on the node's old setup. See Templates.
{"name":"Olimex ESP32-POE-ISO","chip":"esp32","settings":{"leds":[],"inputs":[{"name":"Button","role":"button","pin":34,"type":"floating_inverted"}],"outputs":[],"I2C_Bus_1_SDA":13,"I2C_Bus_1_SCL":16,"eth":2}}Formatted, with what each value means
{
"name": "Olimex ESP32-POE-ISO",
"chip": "esp32",
"settings": {
"leds": [],
"inputs": [
{
"name": "Button",
"role": "button",
"pin": 34,
"type": "floating_inverted"
}
],
"outputs": [],
"I2C_Bus_1_SDA": 13,
"I2C_Bus_1_SCL": 16,
"eth": 2
}
}LED type: pwm, pwm_inverted, grb, grbw, rgb or rgbw (the last four are addressable). LED control: mqtt, status, motion, count, or output (follows the output numbered byoutput). Input type: pullup, pulldown or floating, with_inverted for active-low. Output type: output, output_inverted, or high/low for a pin that's just held at that level. An output's input is the 1-based input that controls it. power takes ESPHome's hlw8012 values (a cse7766 needs only rx); sel_inverted matches ESPHome's inverted on sel_pin. eth is the Ethernet Type's option number.
- Which Ethernet Type? Pick ESP32-POE (
eth2) for both the ESP32-POE and the ESP32-POE-ISO; Olimex’s own ESPHome configs use the same settings for both. ESP32-POE_A1 (eth12) is the same with PHY address 1, added for some newer boards. Olimex doesn’t document an “A1” revision, so only try it if 2 never gets a link. - Non-ISO boards: never plug USB into a computer while the board is powered by PoE. Olimex warns this can damage the board, the computer or both. The ISO version is isolated (3000 V) and doesn’t have this problem.
- Buy the WROOM version. The WROVER (PSRAM) versions move the Ethernet clock to GPIO 0, which ESPresense doesn’t have an entry for.
- All four LEDs (power, charge, link, activity) are wired in hardware, so there’s no status LED to configure.
- BUT1 is on GPI 34, an input-only pin with an external pull-up, so the template uses pin type Floating Inverted.
- I2C is set to the UEXT connector (SDA 13, SCL 16), which has 2.2 kΩ pull-ups on board.
- GPIO 18, 19, 21, 22, 23, 25, 26 and 27 belong to Ethernet (RMII and MDIO/MDC). Don’t put sensors on them. GPIO 12 (PHY power) and 17 (clock) too.
- PoE is IEEE 802.3af. The ISO can supply about 2 W to add-ons, the non-ISO about 4 W.
Sources
Section titled “Sources”- Olimex ESP32-POE repo (manual, Rev M2 schematic, pinout, ESPHome configs)
- ESP32-POE-ISO product page