ESP32 ignores MTDI Strapping Pin (Can't activate 1.8V Regulator)

statistical_banana
Posts: 2
Joined: Thu Mar 16, 2023 2:23 pm

ESP32 ignores MTDI Strapping Pin (Can't activate 1.8V Regulator)

Postby statistical_banana » Thu Mar 16, 2023 2:36 pm

Hardware: ESP32 Dev Kit C V2, MCU ESP32S.
Goal: activate 1.8V domain, so some GPIO work at 1.8V.

According to technical reference manual, in order to activate 1.8V regulator on boot, one needs to pull GPIO12 - TDMI - high - during the said boot. Unfortunately, doing this stalls the microcontroller: it doesn't blink, it spits out error messages over serial (my blink program doesn't have any serial code) forever, until GPIO12 is disconnected from 3.3V, at which point it starts to blink GPIO17 (which is in VDD_SDIO domain, which is supposed to be 1.8V) at 3.3V. Also, programming the chip while GPIO12 is pulled high is impossible, it reports errors and refuses to be programmed. Even tho GPIO12 is not connected to anything on the board.

I've read on the internet, that getting 1.8V regulator on boot or at runtime is possible, multiple places on the internet mention that, but not a single one of them has ever showed that it's possible. There are no successful examples of getting 1.8V regulator running anywhere on the internet, and I've never developed on ESP32 before (I'm an ARM person, so I generally understand some things), so I don't have enough experience to quickly figure out why the microcontroller violates its own technical reference manual information.

The program I use is the most basic blink program

Code: Select all

void setup() {
  pinMode(17, OUTPUT);
  
}

void loop() {
  digitalWrite(17, HIGH); 
  delay(1000);
  digitalWrite(17, LOW); 
  delay(1000);
}
Question: how do I get 1.8V regulator on at runtime or on boot without permanently burning fuses?

ESP_Sprite
Posts: 9589
Joined: Thu Nov 26, 2015 4:08 am

Re: ESP32 ignores MTDI Strapping Pin (Can't activate 1.8V Regulator)

Postby ESP_Sprite » Fri Mar 17, 2023 12:42 am

Not sure why you can't, but you probably do not want to do this either. The VDD_SDIO domain also controls the power supply and IO pins to the flash, which on your devboard probably is integrated and a 3.3V part. So if you would succeed in setting VDD_SIO to 1.8V, you'd have an unbootable board on your hands.

Who is online

Users browsing this forum: No registered users and 79 guests