Page 1 of 1

Problem with pullup on serial pin

Posted: Fri Oct 26, 2018 12:43 am
by Fusion
Hi guys,

I have an external module connected to the ESP32 with hardwareserial as RX GPIO12, TX GPIO14.

Code: Select all

HardwareSerial Serial2(2);

void setup() {
  Serial2.begin(38400, SERIAL_8N1, 12, 14);
}
The module datasheet states that it's UART TX pin is open drain and needs a 10K ohm pullup (in my case to 3.3V).
Problem is that when I use a physical 10K resistor, the ESP bootloops.

I have tried

Code: Select all

pinMode(12, INPUT_PULLUP);
but there is no communication. I only get garbage in Serial Monitor when I touch the pin.
When I send something to Serial2, I can see the module's RX and TX leds blink, so something is going on, I think the ESP just isn't reveiving anything.

What could be wrong? I would rather if I didn't have to use the physical pullup resistor.

Cheers!

Re: Problem with pullup on serial pin

Posted: Sat Oct 27, 2018 5:12 pm
by Fusion

Code: Select all

12 (MTDI)	
If driven High, flash voltage (VDD_SDIO) is 1.8V not default 3.3V. Has internal pull-down, so unconnected = Low = 3.3V. May prevent flashing and/or booting if 3.3V flash is used and this pin is pulled high, causing the flash to brownout. See the ESP32 datasheet for more details.
Is this what could be causing the problem? Is there a way to get rid of this function?
And why is the pin sensitive to touch even when not used as touch input and is sending garbage over serial?

Re: Problem with pullup on serial pin

Posted: Sun Oct 28, 2018 2:16 am
by WiFive

Re: Problem with pullup on serial pin

Posted: Mon Oct 29, 2018 12:04 am
by Fusion
@WiFive

So what is the best option in my case (ESP32 wroom)?
Is there another way to test this before burning the fuses?

Re: Problem with pullup on serial pin

Posted: Mon Oct 29, 2018 1:23 am
by WiFive
Fixed 3.3V VDD_SDIO

Re: Problem with pullup on serial pin

Posted: Thu Nov 01, 2018 6:19 am
by Fusion
Thank you, this worked.
Also the baud rate was 9600, even though manf. says 38400 in datasheet.