Design a REAL, BUILDABLE USB-to-UART/TTL programmer/interface PCB for my Android + ESP32 project. PROJECT NAME: GHOST TAP UART PURPOSE: I have an existing Levoit appliance controller containing an ESP32-based Wi-Fi/BLE module. The Levoit board is ALREADY successfully powered from its existing 5V input. The Levoit hardware performs its own onboard conversion/regulation to the 3.3V required internally. DO NOT design a replacement power supply for the Levoit board. The missing hardware I need is: ANDROID PHONE → USB / USB OTG → GHOST TAP UART PCB → 3.3V TTL UART → LEVOIT ESP32 PRIMARY REQUIREMENT: Create an actual USB-to-3.3V-UART interface/programmer that Android can recognize as a USB serial device. Use a readily available USB-UART bridge IC appropriate for 3.3V ESP32 UART, such as CP2102N, CH340C, or another well-supported equivalent. Choose the best practical component based on: - Android USB host compatibility - availability - simple PCB implementation - 3.3V UART logic compatibility - ESP32 flashing compatibility CONNECTIONS TO TARGET: Provide clearly labeled connections: TX RX GND GPIO0 / BOOT EN / RESET UART LOGIC MUST BE 3.3V. The Levoit target remains independently powered through its existing 5V input. The programmer and Levoit board MUST share GND. Normal connection will therefore be: Programmer TX → Levoit RX Programmer RX → Levoit TX Programmer GND → Levoit GND Do NOT feed USB 5V directly into TX, RX, GPIO0, EN, or any other 3.3V logic signal. ESP32 PROGRAMMING: Implement proper ESP32 bootloader/programming support. Prefer automatic programming using the USB-UART bridge's DTR and RTS signals connected through the standard ESP32 auto-reset/auto-boot transistor circuit to: EN GPIO0 Also provide physical: BOOT button RESET button so download mode can be entered manually if automatic flashing fails. USB: Use USB-C on the GHOST TAP UART board if practical. Configure the USB-C receptacle correctly for USB 2.0 device operation, including required CC resistors and appropriate protection/support components. This PCB will connect to an Android phone operating in USB HOST/OTG mode. STATUS: Add: POWER LED TX activity LED RX activity LED if these can be implemented without interfering with UART operation. TARGET CONNECTOR: Provide a clearly labeled header or large solder/test pads for: TX RX GND BOOT/GPIO0 EN/RESET Make the pads large enough for hand soldering or temporary jumper/probe connections. IMPORTANT: Do NOT assume or invent the Levoit board's physical pinout. The adapter side should simply expose the correctly labeled signals. I will connect those signals to verified Levoit test points later. POWER: The Levoit board already has a proven 5V power arrangement. Do NOT attempt to power the Levoit board from the USB-UART bridge's 3.3V regulator. USB power may power the GHOST TAP UART PCB itself. Optionally expose USB 5V on a separately labeled pad marked: USB 5V — NOT UART LOGIC but keep this clearly separated from all 3.3V UART signals. PROTECTION / ROBUSTNESS: Add appropriate: - USB ESD protection - decoupling capacitors - stable USB-UART power configuration - sensible series resistors/protection where appropriate - clearly defined logic voltage - test points Avoid unnecessary components. DESIGN PRIORITIES: 1. Actually manufacturable 2. Electrically correct 3. Reliable ESP32 flashing 4. Android USB compatibility 5. Simple construction 6. Low component count 7. Low cost 8. Hand-solder-friendly target connections 9. Small portable PCB Do NOT produce only a conceptual block diagram. Create the actual circuit schematic. Verify: - USB-C configuration - USB D+ / D- routing requirements - bridge IC power configuration - 3.3V UART levels - ESP32 DTR/RTS auto-program circuit - BOOT/RESET operation - grounding - decoupling - component values - pin numbers - footprints Run electrical/design-rule checks and resolve problems instead of merely describing them. Then create the PCB layout suitable for manufacturing. Clearly label the PCB silkscreen: GHOST TAP UART TX RX GND BOOT EN USB 5V Final objective: I should eventually be able to connect: Android phone → USB-C/OTG → GHOST TAP UART → TX/RX/GND + programming signals → independently powered Levoit ESP32 board and use Android-compatible ESP32 flashing/serial software to communicate with and program the ESP32. Do not redesign the Levoit board. Build the missing USB ↔ 3.3V UART programming interface.