We’re used to electronic parts of the same type staying predictably the same, sometimes over many years. An early Z80 from the mid 1970s can be exchanged with one from the end of production a few years ago, for example. This week, we’ve had DMs from several readers who’ve found that this is not always the case, and the culprit is surprising. Espressif has released a new revision of their P4 application processor, and though it’s ostensibly the same, there are a couple of changes that have been catching people out.
The changes lie in both hardware and software, in that there’s a pin that’s changed from NC to a power rail, a few extra passives are needed, and firmware must be compiled separately for either revision. The problem is that they are being sold as the same device and appear in some places under the same SKU! This is leading to uncertainty as to which P4 revision is in stock at wholesalers. We’ve been told about boards designed for the old revision being assembled with the new one, a situation difficult to rework your way out of. Designers are also left uncertain as to which firmware build is needed for boards assembled in remote factories.
The ESP32-P4 is an impressive part for its price, and we’re sure that we’ll be seeing plenty of projects using this new revision over the coming years. We’re surprised that it doesn’t have a different enough part number and that the wholesalers have seemingly been caught napping by the change. We’re told that some of the well-known Chinese assembly houses are now carrying the two chips as separate SKUs, but that’s scant consolation for a designer with a pile of boards carrying the wrong part. If you’re working with the P4, watch out, make sure your board is designed for the latest revision, and ask your supplier to check which chips you’ll get.
If the P4 is new to you, we’ve already seen a few projects using it.

Making some NC pin a Power pin is diabolical.
Determining that they needed another power pin to increase stability is “diabolical”???
What an odd read. NC pins are reserved for future uses just like this.
Yeah you just have to buy the chips you need, then go back in time to design your boards according to which revision you end up with. /s
Really? You can’t just place optional zero-ohm resistors to handle both? Come on, this is the most basic level of PCB design.
I wonder if he confused “Not Connected” from dev boards with “Normally Closed” from relays.
STM32F407 did even funnier in errata 2.2.8: PDR_ON pin should generally be connected to VDD on revision A devices, but it became a VSS pin on revision Z.
brilliant! i remember the same kind of problems with the atmega 328p and 328pb. samesamebutdifferent regarding full swing xtals.
but this is a sure way to avoidance of this p4 chip
Why, Expressif, why? Have you not learned anything from Microchip, Intel, Nvidia, USB-IF, etc? Your naming doesn’t make much sense as it is, why are you completely screwing this up?
How hard is it to come up with a system, that mostly makes sense? Not that hard and if you get in a bind, just add an alphabet after the part number and you are set. If it’s a breaking change, then you don’t pretend it’s the same part.
FU who ever FUC’d this up.
I agree… This is what happens when the top guys in the company get replaced with bean counters that know nothing about electronics.
A new design can easily deal with a pin that could be NC
Sure, but if you have an old design but randomly get the new part – that’s the problem. You won’t know until you get it soldered up
A new design can easily deal with a pin that could be NC and could be power, but old designs have a BIG problem. Not knowing the correct firmware to use is also a BIG problem. It would be interesting to know what changed and whether it can be detected by firmware so that the firmware can take appropriate action, allowing the same firmware to be used for both versions.
And how does that interact with Espressif’s build system and bootloader?
Honestly, for me this marks the point of abandoning development for espressif chips. Life is already too complicated to deal with this crap. Call it P5 or P4s. But I am not willing to risk random changes ruining my designs.
who are you kidding. You weren’t using the P4 anyway.
Completely off topic, but…
Not always. Apparently the original Galaksija computer accidentally relied on a timing quirk of the NMOS Z80A that CMOS parts, with their tighter timings, eliminated, and consequently wouldn’t work with newer Z80s.
(I should probably have said “relied on an accidental timing quirk”, as I doubt there was anything accidental about the Galaksija’s design. My bad.)
I love Hackaday. :)
And there’s always hacking your system to use a Z80B.
So, does it fit socket 423, 478 or is it LGA 775? I’m confused.
Espressif really dropped the ball on this one. The P4 launch has been rough from the start: release delays, bugs, and limitations like an ADC capped at 44 ksps. But more concerning than the technical issues is how everything was handled. There was very little communication with customers throughout the process, and to make matters worse, a new revision was released quietly, without clear notice. Mistakes happen, but what matters is how they’re handled. Clear errata, transparent updates, and open communication go a long way in maintaining trust. Espressif, please take this as constructive feedback. The community that helped build your success is still here and still supportive but it needs to feel heard and informed!
There was something similar with a single-core ESP32 which suddenly became a dual core, but with the same product ID. Also the rated frequency changed from 160 MHz to 240 MHz.
Of course nice to have for the same price, but the problem is based on the chip description you can’t tell which one it is and assuming 240 MHz can lead to unstable products.
When the specs change, the product ID should IMHO also change.
Ikea did this with their Tundra flooring, over the years that had (at least) three designs with entirely incompatible systems to click the boards together, which is fun when you have a room with water damage and need to replace 1 pack worth of boards then need a roundtrip to Ikea for another two packs… Please rename the series so you at least know the possibility of incpmpatibility exists, because other products do stay compatible: I have a book wall assembled from IVAR components from the 1980’s, early 2000 and 2024, even though their systems changed a lot.
The software/compiler change is just as much as frustrating. Now you have to compile every binary twice… and all our infrastructure (web flasher, OTA, app downloader) for the Tanmatsu device will need to be able to decide which chip you have and deliver the correct binary.
This is not something that was really anticipated. Might future boards have more/enhanced hardware features? Yes. But that is something you can easily deal within the firmware. But when the firmware doesn’t even start in the first place…. :-(
The information I was looking for was missing:
ESP32-P4 has a dual-core RISC-V (RV32IMAFC, Zicsr, Zifencei) which can be clocked up to 400 MHz.
With special note to “up to” as the initial ESP32-P4 had to run at 360 MHz.
I the documentation from Espressif there is some remark like “if you need 400 MHz, contact sales” or something like that.
No idea what the situation is for the ESP32p4 rev3.
Has rp2350 fixed its annoying bug or they just continue making and selling these WITH the bug included? I thought so.
Meaning, ESP32-P4 is not the only chip that had issues, but suddenly receives the flak because it is actually darn good for the price it is sold for and set its sight on making things cheaper for the average Sam overall. I’ll give Espessif credit for working with the DYI crowd directly.
Bring us some moar of them better/cheaper ICs – that’s what liberal capitalism supposed to be doing, better products sold for less price. Unlike real estate or cars, btw, which are stuck in the bronze age economy of zero competition.
What Pin is that exactly ? And what Revision is NC and what Revision has NC as Power Pin ?
PIN 54 maybe..
Is it a unique power rail? Or is it just an additional pin for an existing power rail?
If the latter, it will probably still work if left NC, just without the improvements of a new design that leverages the additional pin for that rail.
I sure wouldn’t count on that.
One frustration is that, as an owner of a P4 rev 1.3, ESP-IDF 5.5.4 will not compile against that, only gives the choice of rev 3.0 or 3.1, so does that mean all of those who were told we have a P4 cannot upgrade beyond 5.5.1?