Page 1 of 1

ESP32 GPIO slew rate/risetime

Posted: Mon Jun 05, 2017 9:45 pm
by ZaneKaminski
Can anyone say anything about the rise and fall times of the I/O pins on ESP32? Is there a way to adjust the slew rate or drive strength as on other MCUs?

Zane Kaminski

Re: ESP32 GPIO slew rate/risetime

Posted: Tue Jun 06, 2017 4:14 am
by WiFive

Re: ESP32 GPIO slew rate/risetime

Posted: Thu Jun 08, 2017 8:33 pm
by ZaneKaminski
Thanks for the info on the drive strength. That was a recent post! I shouldn't have missed it.

Anyway, if nobody has any figures for the edge rates, I'll eventually measure it over all the drive strengths and with a few different capacitive loads

My current design with the ESP-WROOM-32 is all quite low-speed, but I wanted to make sure the edge rates are within tolerable range for my unterminated lines (slower than 4 ns or so), otherwise I need to fit in in a series termination.

Regardless, I'm sure that I can achieve sufficiently slow edges so as not to need a termination, but it's nice to be sure before building a board and risking a respin.

Re: ESP32 GPIO slew rate/risetime

Posted: Wed Feb 13, 2019 2:03 pm
by guillep2k
Have you been able to measure those rise/fall times? I could use some figures. I've only got a 70 MHz oscilloscope.

Re: ESP32 GPIO slew rate/risetime

Posted: Tue Jan 26, 2021 4:35 am
by amoghjain
I am also quite interested in knowing about esp32's digitial io's rise/fall time and any other info and reference would be helpful!

Re: ESP32 GPIO slew rate/risetime

Posted: Thu Feb 01, 2024 3:42 am
by justsomeaccount
guillep2k wrote:
Wed Feb 13, 2019 2:03 pm
Have you been able to measure those rise/fall times? I could use some figures. I've only got a 70 MHz oscilloscope.
I am new to this and this is my first post, but using a simple test of digitalWrite-ing a pin between HIGH and LOW I am seeing rise/fall times of roughly 45-50ns on the scope. I also measured using ledcWrite and got the same results.

Photos:
rise1.jpeg
rise1.jpeg (1.37 MiB) Viewed 2460 times
rise2.jpeg
rise2.jpeg (1.19 MiB) Viewed 2460 times
rise3.jpeg
rise3.jpeg (1.13 MiB) Viewed 2460 times

Re: ESP32 GPIO slew rate/risetime

Posted: Thu Feb 01, 2024 4:09 am
by ESP_Sprite
Note that those rise and fall times are affected by your probe capacitance as well (although your measurements do give some baseline; as in the 'raw' unconnected rise/fall times are always going to be faster than this)

Re: ESP32 GPIO slew rate/risetime

Posted: Thu Feb 01, 2024 5:37 am
by ok-home
hi
I apologize, how then esp32 works at 80 megahertz with external flash/ram ?
for this you need to have edges not worse than1-2 nanoseconds.
As far as I see you measure edges with oscilloscope with bandwidth less than 100 megahertz ?
In that case you are showing the edges of the oscilloscope/probe itself (

Re: ESP32 GPIO slew rate/risetime

Posted: Thu Feb 01, 2024 7:46 am
by justsomeaccount
ESP_Sprite wrote:
Thu Feb 01, 2024 4:09 am
Note that those rise and fall times are affected by your probe capacitance as well (although your measurements do give some baseline; as in the 'raw' unconnected rise/fall times are always going to be faster than this)
I've taken another measurement after calibrating my scope and changing to 10x attenuation and am now getting a steady reading of ~3ns on the rise -- which seems more in line with what should be happening.

Δt=CΔV*I = 20 pF * 3 * 20 mA -> 3 ns (from: https://electronics.stackexchange.com/q ... s-on-esp32)

Am I off base with thinking this is reasonable, or is the probe still interfering? I am new to electronics, so any explanation is appreciated.

Thanks
rise4.jpeg
rise4.jpeg (1.12 MiB) Viewed 2354 times

Re: ESP32 GPIO slew rate/risetime

Posted: Thu Feb 01, 2024 8:24 am
by ESP_Sprite
justsomeaccount wrote:
Thu Feb 01, 2024 7:46 am
I've taken another measurement after calibrating my scope and changing to 10x attenuation and am now getting a steady reading of ~3ns on the rise -- which seems more in line with what should be happening.

Δt=CΔV*I = 20 pF * 3 * 20 mA -> 3 ns (from: https://electronics.stackexchange.com/q ... s-on-esp32)
I mean, your scope probe will always have some capacitance. As the rise time effectively is determined by how fast the mosfets in the GPIO can pump energy into the combined capacitances of the GPIO pad and whatever is attached to it (like your scope probe plus the scope it's connected to), attachingyour scope probe is almost by definition going to result in a larger rise time. (How much depends on the impedance seen by something attached to the scope probe, whose effects as you noticed will be less if you switch the probe into x10 mode)