An ESP32-S3-WROOM-1U-N8R2 based micro-controller board. The primary purpose of the board is to use it as a Wi-Fi adapter in public events and for firmware uploading projects that I want to do. Such as making the ESP32-S3 act like a SWD probe, firmware implementation on the SWD protocol, basic DP/AP access, and flash algorithms for nRF52. With this, the ESP32 will be enabled to talk to the host over USB CDC and a custom protocol.
Basically it is the DEVKIT design in a smaller size.
For flashing, use the ESP32-S3 example project from ESP-IDF: tusb_ncm. The purpose of tusb_ncm is to make your computer see the board as a USB Ethernet class device. But there are some changes that you need to make.
You have to go to your project’s SDK editor.
You have to enable the TinyUSB CDC feature because we want to work with serial devices.
Then you have to select TinyUSB Network Device – NCM. It is the fastest and works cross-platform.
Change the console routing because you want to flash the firmware with USB-C.
Disable the Serial JTAG support. Otherwise it will clash with your output because they use the same USB controller and conflict with TinyUSB.
After that the board will work like this:
PC <—USB NCM—> ESP32-S3 <—Wi-Fi STA—> Router/AP
The ESP will assume this PC is just another client on my Wi-Fi network.
After that just go to the ESP-IDF explorer. Click on Full Clean first and then click Build Project. It will build the project for you.
Then connect the board to your computer and the device should appear down below. Once you see the board, click on Flash Firmware. You are done.
Now you have a USB Wi-Fi adapter.