This question applies both to digital and analog inputs on the various ESP32 dev kits. From what I can tell, none of these boards (including my OLIMEX-EVB and Gateway boards) add any ESD protection to the bare ESP32.

So far I have had difficulty locating the proper Espressive data sheet to see what (if any) ESD tolerance there is. I suspect there is (the ESP8266 did) but I can't find it.

I have two specific applications I need to design for, and I am thinking both will work with a larger (e.g. 1 M Ohm) resistor:

A) Reading a digital input line for the open/closing of a limit switch.
B) Reading an analog input value on the ADC capable pins (which I think are 0-1.1v unless you use the attenuation function).

I am OK with a response rate as long as 1 second, although 1/10th of a second would be ideal.

So my questions are:

  1. Does anyone know what the ESD protection is on the bare ESP32?
  2. What is the best sized resistor to use to provide maximum protection and still have a decent response?
  3. Will thin film resistors work or do I need to get another type?
  • \$\begingroup\$ What exactly is connected to the inputs that you think you need extra ESD protection? e.g. Do you have large voltages or have a long wire or some metal which people are going to touch? \$\endgroup\$
    – Oldfart
    Commented Aug 25, 2018 at 2:22
  • \$\begingroup\$ Have you checked "Reliability Qualifications" section ? \$\endgroup\$
    – Long Pham
    Commented Aug 25, 2018 at 3:06
  • 1
    \$\begingroup\$ This will be part of a game in a mobile trailer where the resistance of a part is measured. I'm concerned about people generating static electricity (no carpet, but still...) and touching the metal that is directly connected to the ADC input. \$\endgroup\$ Commented Aug 25, 2018 at 10:16

1 Answer 1


A SAR ADC will have 10pF Cin. With your 1MegOhm resistor, the TimeConstant will be 10 microSeconds. Each Tau of settling gives you 8+ dB (one NEPER) more accuracy. Allowing 10 Tau, or 100 microSeconds settling, should give you 80 dB accuracy, or 12 bits. Again, this assumes just ONE SAMPLE per conversion.

on the other hand ...

A delta-sigma or sigma-delta ADC, which does lots of sampling during each conversion, will have an equivalent InputCurrent and using Ohms Law we predict an error for the FullScale conversion. Use the math Rin = 1/(FC); this comes from Iin = FCV; given Rin = Vin/Iin, the Vs cancel, leaving 1/FC.

For 100,000 samples per second and 10pF, the 1/F*C = 1/(1e+5 * 1e-11) = 1/1e-6

or Rin of this delta-sigma ADC is 1MegOhm.

With your external 1MegOhm, you'll have a 50% error because of the "voltage division" action.

  • \$\begingroup\$ I'm not sure I'm following. I have 6 puzzle pieces (resistors) and I need to read each at least once per second. I am using 6 ADC lines (all connected to ADC1 I believe). Once a puzzle piece is in the right position it stays there. \$\endgroup\$ Commented Aug 25, 2018 at 10:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.