ESP32-S2 UART0 not receiving data from Arduino Micro (5V→3.3V with voltage divider) — HID project
Posted: Sun Feb 22, 2026 8:20 pm
Hardware:
ESP32-S2-DevKitC-1-N8R2 (8MB Flash, 2MB PSRAM)
Arduino Micro (ATmega32U4)
1kΩ + 2kΩ resistor voltage divider on TX line
Project context:
I'm building a sim racing steering wheel controller. The ESP32-S2 handles HID joystick output via native USB (GPIO19/20). I need to receive telemetry data from the Arduino Micro, in ESP32 S2 UART0 (GPIO 43&44).
Voltage divider wiring:
Arduino TX ──── 1kΩ ────┬──── ESP32 GPIO44 (RX)
│
2kΩ
│
GND
GND is shared between Arduino and ESP32.
Problem :
The ESP32 receives nothing from Arduino.
But in the other side, when I send a message from ESP to Arduino, it works.
I tried different baud rates (9600, 57600, 115200), but nothing changed.
Questions :
- Is there something special about GPIO43/44 on ESP32-S2 that prevents UART use?
- Do I need pull-up/pull-down resistors?
- Is the voltage divider causing signal integrity issues at 115200 baud?
Thanks for any help!
ESP32-S2-DevKitC-1-N8R2 (8MB Flash, 2MB PSRAM)
Arduino Micro (ATmega32U4)
1kΩ + 2kΩ resistor voltage divider on TX line
Project context:
I'm building a sim racing steering wheel controller. The ESP32-S2 handles HID joystick output via native USB (GPIO19/20). I need to receive telemetry data from the Arduino Micro, in ESP32 S2 UART0 (GPIO 43&44).
Voltage divider wiring:
Arduino TX ──── 1kΩ ────┬──── ESP32 GPIO44 (RX)
│
2kΩ
│
GND
GND is shared between Arduino and ESP32.
Problem :
The ESP32 receives nothing from Arduino.
But in the other side, when I send a message from ESP to Arduino, it works.
I tried different baud rates (9600, 57600, 115200), but nothing changed.
Questions :
- Is there something special about GPIO43/44 on ESP32-S2 that prevents UART use?
- Do I need pull-up/pull-down resistors?
- Is the voltage divider causing signal integrity issues at 115200 baud?
Thanks for any help!