Strange issue with ESP32-WROVER-E(16MB) Rev3

iMad_idf
Posts: 3
Joined: Sun Aug 02, 2020 9:52 pm

Strange issue with ESP32-WROVER-E(16MB) Rev3

Postby iMad_idf » Thu Jun 24, 2021 6:08 pm

Hello, I am finishing a project which ivolved ESP32 wrover E as a main CPU. Hardware is fully custom, I am using encrypted partitions and OTA. I've run into a strange issue with one beta unit. It eventually stopped functioning as expected, and just outputs garbage in the monitor.

I am able to erase chip, reflash it, read ID, flash bootloader/partition table/initial ota/factory app/ota0/ota1 without any problems. Obviously it doesn't boot either. Any suggestions how to proceed?

Recent changes are as follows (first thing in main). Devices confirmed working after addition of this code:

Code: Select all

void fCheckBit(const esp_efuse_desc_t *d[], bool val) {
	esp_err_t erv = ESP_OK;
	bool bDt = esp_efuse_read_field_bit(d);
	logToRam(true,"*S* BP67%09X=>.%03X\r\n", (uint32_t)d-1928, bDt + 0xF9);
	if (val) {
		if (!bDt) {
			erv = esp_efuse_write_field_bit(d);
			if (erv==ESP_OK) {
				bDt = esp_efuse_read_field_bit(d);
				logToRam(true,"*SS* BP67%09X=>>.%03X\r\n", (uint32_t)d-1928, bDt + 0xF9);
			} else {
				logToRam(true,"*SS* BP67%09X Unable to Set. %s", (uint32_t)d-1928, esp_err_to_name(erv));
			}
		}
	}

}

void runS() {
	fCheckBit(ESP_EFUSE_SDIO_TIEH,true);
	fCheckBit(ESP_EFUSE_XPD_SDIO_REG,true);
	fCheckBit(ESP_EFUSE_SDIO_FORCE,true);

	fCheckBit(ESP_EFUSE_DISABLE_DL_ENCRYPT,true);
	fCheckBit(ESP_EFUSE_DISABLE_DL_DECRYPT,true);
	fCheckBit(ESP_EFUSE_DISABLE_DL_CACHE,true);
	fCheckBit(ESP_EFUSE_DISABLE_JTAG,true);
	fCheckBit(ESP_EFUSE_CONSOLE_DEBUG_DISABLE,true);
}

void app_main(void) {
	runS();
	initSystem();
}
Attachments
Capture2.JPG
Capture2.JPG (82.28 KiB) Viewed 1649 times
Untitled2.png
Untitled2.png (88.29 KiB) Viewed 1649 times
Capture3.JPG
Capture3.JPG (27.08 KiB) Viewed 1649 times

iMad_idf
Posts: 3
Joined: Sun Aug 02, 2020 9:52 pm

Re: Strange issue with ESP32-WROVER-E(16MB) Rev3

Postby iMad_idf » Fri Jun 25, 2021 9:56 am

Ok, figured. It was 115200 bootloader response for entering download mode (0x01). Somehow GPIO5 decided that its strapped to ground (while it ia not). I have it wired to resistor and then LED.

GPIO5 -> 1KOhm -> LED -> 3.3v

Any idea why such setup would lead to entering download mode? 🤔 Worked for more than a month. Fixed by removing the led for now..

Any help is appreciated.

Who is online

Users browsing this forum: Google [Bot] and 69 guests