Should the pins on an ESP32 be high (3v) when set to input?!

This is a poor design for a General Purpose development board.

I can see why, but WHY!?

The 2.2K pullups on SDA/SCL are appropriate for most, not all, I2C bus networks.
In an I2C bus you usually want the pullups closer to the I2C devices, not the controller. However this, as you have found, cripples GPIO13 and GPIO16 for almost any other use. If you are comfortable with a soldering iron, or if you have access to a rework tool, I would remove R31 and R35. This is simply the wrong place for I2C bus pullup resistors.

Alternately if you use an NPN transistor to invert the PIR output then you can use it on GPIO13 (or GPIO16). Be sure to put inverted: True into your device YAML.

I was wrong in an above post where I said the PIR module is an active high/low output. It is only an active high. Putting the transistor in the PIR output will invert it to an active low.

Don’t worry, I am sure Olimex will be hiring you to fix their products directly. Expect an email shortly…

Thanks guys. This has genuinely been really interesting, and again, genuinely, I’ve learned a lot.

It’s also kinda why I didn’t just use a different pin to begin with. It’s what I’ve ended up doing, but I wanted to understand WHY I had to, and now. I do.

Thanks again.

1 Like

Yeah I am a “why” guy.

1 Like

Can’t afford me.

Their Tech Support Manager does recommend removing the resistors, or forcing a pulldown with a 2K2 resistor.