ESP32-C3 connection issues

Hi Folks,

I’m trying to connect a Heltec ESP32-C3 to the Arduino IDE. I’ve tried to follow the bouncing ball instructions to the letter for installing and setting up the IDE. This includes installing the SiLabs driver and installing the Heltec GIT libraries.

Problem 1. There is no entry for the Heltec ESP32-C3 in the list of boards. There’s plenty of other ESP32-C3 entries (e.g. LillyGo).

Question 1. What is the appropriate board to use with the Heltec ESP32-C3 in the library?

Problem 2. I can’t find a way to get the board to establish a serial connection with my MBP M2. After I connect the cable, there is an orange LED, after the system boots (?) the LED swaps to a bright white LED. However, there is no new entry in the serial connections. I’ve checked both inside the Arduino GUI and using terminal in /dev.

I’ve tried using two different USBC cables. The one from Apple is USB-C at both ends. A second one is a USB to USB-C.

I have read somewhere that the C3 chip needs to go through a USB to USB-C conversion. Sounded like an odd workaround. I also read that it needed to reboot after being powered up. I’ve tried that, pressing and holding the Boot button for several seconds, and the same with the reset button. No change in behaviour.

I know that the problem isn’t with the laptop. I can connect just fine to CUbeCells and WIFI_Kit_32_V3.1 chips.

I bought a batch of four of the C3 boards. I’ve tested this on two of them. Same problems and behaviours.

What am I missing here? I would have expected to see an entry for Heltec ESP32-C3 in the list and I would have expected it to establish a serial connection straight away.

It also seems a little disconcerting that there are no forum entries specifically for the C3 here. Are they just subsumed into discussions of their close relatives?

In trying to RTM I noticed that there are several broken links for the ESP32-C3 and several that point to generic ESP32 documentation.

Please, any help would be most appreciated.

Kind regards,

What C3 module are you using? The CT62? Or does Heltec by chance have a C3 I do not know about?
USB-C to USB-C cables notoriously don’t work well with microcontrollers, you really need a USB-A to USB-C. That should generally work fine.


No, it’s not the CT62. It is this board:

Macbook’s do not have any USB ports - just USB-C. I tried plugging in a USB to USB-C cable into a USB-C to USB converter to try to emulate the USB to USB-C “thing”. Obviously, without success. Is there anything more than a pin to pin mapping going on inside those cables? What is it about USB-C to USB-C cables that makes them play badly with microcontrollers?

Interesting, didn’t know they also sell bare boards without fancy additions on them.
The problem with USB-C to -C stuff is that both sides of the cable needs chips that perform a handshake procedure telling the other side what voltages they can use and what protocols they support. Most boards don’t integrate this as it adds to the cost and most business use-cases (where the big orders come from) don’t power their products through USB but rather through battery or a 5V pin. So they rather leave those chips out for cheaper products.
USB-A to -C on the other hand does not have this handshake procedure and can therefore work fine. Adapters from C to A with a cable from A to C is a bit of Dark Arts - probably no-one is going to tell you which chips are used in what parts of the adapter and cable, and it’s likely not going to work as you found out. Native USB-A ports are still the way to go for most microcontrollers, although I’ve seen adapter boards with the USB-PD chips for the handshake that pass on the USB 2.0 to the microcontroller. Might be able to get away with that, but YMMV as the handshake is a bit picky.

Just reading the technical specs for that board, it appears to use the CH340K USB chip, not the Silicon Labs CP2102 like other Heltec modules, so maybe it’s just a driver issue…?

With respect to the board definition, the FAQs include the comment: You can select “Wireless Mini Shell”.

Thanks bns and Pete.

Pete, it looks like you were right. I installed a CH340K USB driver and viola, we have an instant serial connexion. The factory test sketch for the wireless mini shell is throwing a heap of errors, but at least I’m making progress. Thank you!!