Skip to content

# Regarding the "Single Type-C Native USB" debate that many are overlapping with, here is a bit of my hands-on experience #181

Description

@silentfox2023

Many friends have been discussing why this board lacks the traditional CP2102 serial chip and only features a single Type-C port directly wired to the S3's native pins (pins 13/14), feeling that this design might be problematic. As a fellow enthusiast messing around with the ESP32-DIV2, I used to have similar concerns. However, after doing some actual development and stepping through the pitfalls myself, I’ve found that this streamlined design is not only completely viable but actually feels great to use.

The main reason people think it’s an issue is that they are used to the mindset of older-generation ESP32 boards, which required an external serial bridge chip. In reality, the ESP32-DIV2 utilizes the ESP32-S3, which comes with a built-in native USB-Serial-JTAG controller. Here are a few insights I’ve gathered from both theory and practice:

Image

1. A single port is completely sufficient and keeps things much cleaner: Removing the CP2102 eliminates a potential single point of failure from the circuit. On top of that, this native Type-C port allows you to experiment with USB-HID (like simulating a keyboard or mouse) or even hook up a USB flash drive-things an external serial chip simply cannot do.

2. Regarding the biggest worry-crashing or bricking after flashing: During development, I've deadlocked my code and triggered watchdog failures countless times, and yes, the computer instantly loses the COM port. But the fix is incredibly simple: just hold down the Boot button, tap the Reset button, and then release the Boot button. This forces the chip into ROM flashing mode, your PC will instantly re-recognize it, and you can recover it by simply clicking "Upload." There is absolutely zero risk of bricking it.

3. Regarding auto-downloading: The native USB perfectly supports buttonless automatic flow-control flashing as well. Usually, you can just click compile and upload right after coding; the experience is no different from using a board with a CP2102.

Since the ESP32-DIV2 already integrates this feature natively, ditching the CP2102 makes the board tighter, sleeker, and more cost-effective. There’s really no need to view it as a design flaw.

P.S. By the way, the new version of ESP32-DIV2—which now integrates NFC and GPS hardware features—is nearing the end of its closed beta testing. I’m currently looking for design suggestions regarding the external active antenna for the GPS and the onboard antenna design for the NFC. Feel free to share your thoughts!

Image Image Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions