1
\$\begingroup\$

I have recently made my first personal ESP32 board. The smaller one is for a flight controller using ESP32 S3, and the bigger one is for a TFT screen using ESP32 WROOM. The PCB works as intended, no shorts, ch340C receives 5V, and ESP32 receives 3.3V. Everything is grounded and wired properly. But when I plug the USB into my pc no ports are detected in either device manager and arduino ide. I reinstalled the CH340 drivers, changed it twice, changed pc's, changed the USB cable and the onboard port, and both ESP32s were taken from a working commercial ESP32 board. If you have any idea of what might be causing this problem, please share it. Here are the schematics and pictures for both of them: flight controller: enter image description here

enter image description here

TFT screen : enter image description here

enter image description here

EDIT: Following the comment about the Type-C schematic and the flipped RX and TX for UART, I have made some modifications to the board and flipped between them i noticed that a port appears but it's grayed out here is a picture: enter image description here

I also found a TYPE-C schematic that closely resembles the one I used. In our case, there is just no Vbus sense, and the VBUS pin goes to the 5V trace directly. Here is the schematic : enter image description here

\$\endgroup\$
7
  • \$\begingroup\$ Neither schematic has Type-C port. Type-C has more pins than supplies and data. Also, did you use Type-C port on your PC, and had a Type-C to Type-C cable? Or does your PC have Type-A port and you used a Type-A to Type-C cable? \$\endgroup\$ Commented 15 hours ago
  • \$\begingroup\$ TYPE-A to TYPE-C. and the TFT screen pcb USES TYPE-B, and for the flight controller that schematic is for a new one the old one uses the TYPE-C schematic you mentioned i just done have it saved anymore \$\endgroup\$ Commented 14 hours ago
  • \$\begingroup\$ Did you noted that some GPIO are inputs only ? // OK the next GPIO (as OUTPUT or PWM) : for FREENOVE ESP32 WROOM board ... int pinok [] = {15,2,0,4,16,17,5,18,19,21,22,23,13,12,14,27,26,25,33,32}; // {34,35,36,39} as INPUT ONLY ... // {6,7,8,9,10,11} as SPI \$\endgroup\$ Commented 14 hours ago
  • \$\begingroup\$ Yes, I know this isn't my first ESP32 project but rather my first dev board. For the pinout, I followed the standard recommendation for each IC I used and an online project on Arduino forums that are tested and proven to work. if you have found that I misplaced a GPIO by mistake, please point it out. \$\endgroup\$ Commented 12 hours ago
  • \$\begingroup\$ no ports are detected in either device manager and arduino ide ... the Arduino IDE is irrelevant in this statement, it will never detect a port that the Device Manager does not detect \$\endgroup\$ Commented 12 hours ago

2 Answers 2

1
\$\begingroup\$

no ports are detected in either device manager and arduino ide.

UART works by connecting the TX from the transmitter to the RX the receiver, and vice versa.

Apparently you connect the TXD from CH340 to TXD0 of ESP32, and RXD from CH340 to RXD0 of ESP32, what you should really do is the following

CH340      ESP32
TXD ------- RXD0
RXD ------- TXD0

A piece of advice on PCB drawing, Don't use EasyEDA (this might be opinionated on me) because in EasyEDA every symbol is based on footprint of the chip instead of based on data/signal flow, it make it very hard to draw a good schematic, footprint is used for PCB routing, it does not reflect how the signal/data flowing from input to output, so you end up with compartmental blocks with labels instead of connections shown in your schematic, and make it very hard/difficult to trace and spot the mistakes.

\$\endgroup\$
1
  • \$\begingroup\$ I have flipped the TX and RX on the board. Now there is a COM5 port that compared to before, where no COM's appeared, but it's still grayed out. \$\endgroup\$ Commented 1 hour ago
0
\$\begingroup\$

If the ports are not being detected in Device Manager, then you may have USB troubles- look for lack of continuity or swapping USB D+ and D-.

What lies downstream of the USB hardware of the CH340 should have no effect on whether it is detected. Misconnected serial connections e.g. should just result in no data flowing.

It is only when some application then tries to open a visible USB serial port and finds that it does not respond in a correct manner that the hardware downstream of the CH340 comes into play.

You may get more information from eg. the kernel messages of a Linux system as it will report more detailed progress on detection of USB devices as they are plugged in and why they are not being recognised.

\$\endgroup\$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.