So, I’ve a couple of ESP’s hanging around in the house and they all work fine. Now I’m trying to get this new one ready.
It’s an ESP-POE from Lilygo. And I need to connect a lot of things, so I need all pins:
- Binary output on 2 and 4
- PWM output on 12
- Binary input on 14, 15, 16, 32, 33, 34, 35, 36 and 39
To be honest I had a hard time understanding pulling up and pulling down, floating, connecting to ground or 3.3V and all that. But I think I get it now, but maybe not?
Since some of the pins don’t have internal pullup, and pins were floating “all over the world”, I decided to wire al binary inputs with a 10k resistor to 3.3V.
All binary inputs work fine except for GPIO14. All turn on/off when connected or disconnected to ground, but 14 only turns by connecting to 3.3V. Why?
My config:
binary_sensor:
- platform: gpio
name: "Hal Voordeur Beldrukker"
id: hal_voordeur_beldrukker
entity_category: diagnostic
pin:
number: GPIO14
mode:
input: true
pullup: true
filters:
- delayed_on: 100ms
- delayed_off: 100ms
Currently I’m connecting with WiFi, but when everything works, it will be moved over to ethernet.
I tried, without any luck
- Exchange pin 14 with 12
- Checking my config for some duplicate use of pins.
- Adding pullup: true and false
- Measuring V on the wire disconnected from pin: 3V (through the resistor of course)
- Measuring V on the pin: 0V (even if I use pull up mode)
- Measuring V on the wire connected: 0V
- Measuring V on other working pins: 3V
- Connecting the pin directly to ground (still OFF) and 3V (turning ON)
- Replace GPIO14 with just 14
- Add inverted, but result is just flipping ON and OFF, not whether it needs High or Low for a change
- Reboot the device by unplugging power
It seems like the device is pulling this pin down instead of up?
How does the device even decide what is considered ON or OFF?