Electrical Equivalents for Programmable I/O Pins

I’m a hobbyist happily working through ESP-IDF tool chain set up, tutorials and examples related to my new Sparkfun ES32 Thing Plus. One thing makes me uneasy. I worry about damaging and/or less-than-optimally driving and sensing the Thing’s GPIOs.

I would love to have schematic diagrams of the electrical equivalents of pins in each of their possible programmed modes. The closest thing I’ve found to such documentation is the table of DC Characteristics, Item 5.3 on pp 9 &10 of the ESP32-WROOM-32 Datasheet (Version 2.7 of 2018-10).

Maybe I’m over-thinking the matter. I don’t find a lot of discussion about it on the web. On the other hand, when a user talks about strange interface behaviors between the ESP32 and external peripherals, other users invariably recommend looking at pull-ups, pull-downs, level shifters etc.

What is the general chit chat thought about this?

Finding that information might be difficult given the ESP line of chips are all Chinese made and documentation isn’t really great on them.

As a general rule, you want to probably not pull more than 5 or 10mA from any IO pin, and make sure you’re not applying more than 3.3 volts to any digital pin. If I recall correctly, the analog inputs on ESP’s are limited to around 1 volt so if you have a sensor that outputs more, use a resistor divider to drop the max to about 1 volt.