Overclocking ESP32 WROOVER E

Vilius
Posts: 22
Joined: Mon Nov 13, 2023 9:22 am

Overclocking ESP32 WROOVER E

Postby Vilius » Mon Dec 18, 2023 9:51 am

Hi,

I have a project involving some fast GPIO manipulation. I have set my core clock to 240 MHZ, I am leveraging the parallel commands, using low level register write/read operations, DMA etc. I think I have squeezed everything its out there, but I still need to increase the program execution speed by 1.5-2 times. I did some research and experiments, as I understand, overclocking past 240 Mhz is not possible in software. But what if I actually replaced the crystal under the ESP shield? As I understand, software setup is based on complex PLL configuration, but the bottom line and the reference to all of it is crystal clock. Lets say I swapped the 40 MHZ one with 60-80 Mhz one. Even though the software still says that the core clock is 240, it will have an offset in reality... I know it's not a common thing and you won't probably tell me if it is going to work for sure or not, but do I even stand a chance? Is my logic right or there is some way deeper problem than I imagine? Thank you in advance

liaifat85
Posts: 200
Joined: Wed Dec 06, 2023 2:46 pm

Re: Overclocking ESP32 WROOVER E

Postby liaifat85 » Mon Dec 18, 2023 12:04 pm

overclocking the ESP32 by replacing the crystal is highly risky, and could potentially damage the hardware.

MicroController
Posts: 1389
Joined: Mon Oct 17, 2022 7:38 pm
Location: Europe, Germany

Re: Overclocking ESP32 WROOVER E

Postby MicroController » Mon Dec 18, 2023 12:07 pm

I have a project involving some fast GPIO manipulation. I have set my core clock to 240 MHZ...
GPIO speed is much lower than the CPU speed; it is easy to have the CPU out-pace the GPIO peripheral by a little mindful coding.
Hence, increasing the CPU clock won't improve IO speed much or at all.
While a change the crystal's frequency should proportionately affect all clocks derived from it, including the GPIO clock, I'd expect this to either a) not work at all because the oscillator and/or the ROM startup code/initial clock setup cannot deal with too big a deviation from the expected 40MHz, or b) 'break' all sorts of things due to the wrong clock rate, including WiFi/Bluetooth connectivity.

I'd be curious though if and how much one can push the crystal clock and with what consequences.

Another suggestion: There are a whole lot of clock dividers and PLLs in the ESP32, many of which are configurable from software via direct register writes, so one might be able to cheaply 'tune' only specific clocks into the desired direction.
increase the program execution speed by 1.5-2 times
Obligatory note: If this were possible, that'd imply that the hardware is being shipped in a configuration to achieve only half it's possible speed. Not very likely for non-Intel manufacturers ;-)

leschge
Posts: 35
Joined: Fri May 06, 2022 1:38 pm

Re: Overclocking ESP32 WROOVER E

Postby leschge » Tue Dec 19, 2023 7:57 am

I would leverage the GPIO switching hardware in separate components. Depending on your use case. For example, have a dedicated 200Mhz hardware that you can enable via the ESP32.

Who is online

Users browsing this forum: No registered users and 118 guests