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
Overclocking ESP32 WROOVER E
Re: Overclocking ESP32 WROOVER E
overclocking the ESP32 by replacing the crystal is highly risky, and could potentially damage the hardware.
-
- Posts: 1708
- Joined: Mon Oct 17, 2022 7:38 pm
- Location: Europe, Germany
Re: Overclocking ESP32 WROOVER E
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.I have a project involving some fast GPIO manipulation. I have set my core clock to 240 MHZ...
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.
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 manufacturersincrease the program execution speed by 1.5-2 times
Re: Overclocking ESP32 WROOVER E
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: Google [Bot] and 103 guests