ESP32-D0WD-V3 revision v3.0 v revision v3.1 problems

Acuario
Posts: 17
Joined: Mon Apr 04, 2016 11:21 am

ESP32-D0WD-V3 revision v3.0 v revision v3.1 problems

Postby Acuario » Fri Feb 20, 2026 7:05 am

Hi,
I have a custom board design that uses the ESP32-WROOM-32E module.
I am encountering strange problems between the v3.0 and v3.1 versions of the ESP32.
I am using GPIO12 and GPIO13 as a secondary I2C bus. I have 10K pullup resistors to 3.3V and the I2C bus is connected to 2 x ADS1115 ADC chips running at 5V. At idle GPIO12 is approximately 2.49V

I am using the preferences library to store user parameters.

Problems:
Chip type: ESP32-D0WD-V3 (revision v3.0)
The v3.0 works perfectly, I can run a serial upload and OTA of my code and the parameters are stored correctly in the nv memory.

With v3.1 I have problems.
Chip type: ESP32-D0WD-V3 (revision v3.1)
I cannot do an upload of my code using the serial port unless I tie GPIO12 low before performing a reset. If I try then I get an MD5 checksum error at the end of the upload.
After my code has loaded and is running I cannot create or modify any parameter in the nv memory. I can read values stored there but writes of any type do not work. I get a successful message back from the preferences library but my value is not stored.

If I do an OTA upload this also fails :
07:58:25 [WARNING]: Unexpected response from device: 'Flash Read Failed'
07:58:25 [WARNING]: Upload completed but device sent unexpected response(s). This may still be successful.
07:58:25 [WARNING]: Device might be rebooting to apply firmware - this is normal.

Progress: 90%
Progress: 100%
Error[4]: End Failed

lbernstone
Posts: 1133
Joined: Mon Jul 22, 2019 3:20 pm

Re: ESP32-D0WD-V3 revision v3.0 v revision v3.1 problems

Postby lbernstone » Fri Feb 20, 2026 2:42 pm

gpio12 is a strapping pin, so it is important that the voltage be consistent (low) at boot.
You can turn this behavior off, and force the SDIO voltage to 3V3 by burning an efuse.

Acuario
Posts: 17
Joined: Mon Apr 04, 2016 11:21 am

Re: ESP32-D0WD-V3 revision v3.0 v revision v3.1 problems

Postby Acuario » Fri Feb 20, 2026 3:30 pm

Sure, this could explain the serial download problem but not the OTA or nv storage problems.

lbernstone
Posts: 1133
Joined: Mon Jul 22, 2019 3:20 pm

Re: ESP32-D0WD-V3 revision v3.0 v revision v3.1 problems

Postby lbernstone » Fri Feb 20, 2026 6:38 pm

Check your flash settings (esp. QIO/DIO). It obviously can read the flash in the bootloader.

Acuario
Posts: 17
Joined: Mon Apr 04, 2016 11:21 am

Re: ESP32-D0WD-V3 revision v3.0 v revision v3.1 problems

Postby Acuario » Fri Feb 20, 2026 7:49 pm

I did this, everything is correct mode is DIO and the boot message is DIO.
The code runs fine, just can´t do any OTA updates or set any values in nv storage with anything connected to GPIO12.

I have now moved my SCL pin to GPIO14, leaving GPIO12 disconnected and everything works, OTA upgrades and nv changes.

I have 4 identical boards, 2 with v3.0 and 2 with v3.1
Both v3.0 boards work perfectly. Both v3.1 boards have the same problem so it seems to be related to the chip revision. Something has changed in the silicon that causes this problem between v3.0 and v3.1 but I cannot find any documentation of the change.

Who is online

Users browsing this forum: PetalBot, Qwantbot and 2 guests