Prerequisites
Before you begin, make sure you have the following ready:- Arduino IDE 2.x installed on your computer (arduino.cc/en/software)
- USB driver installed for your operating system — see the Drivers page if you haven’t done this yet
- A USB-C data cable (charge-only cables will not work)
Setup Steps
Open Board Manager
In Arduino IDE, go to File > Preferences (macOS: Arduino IDE > Settings).In the “Additional boards manager URLs” field, add the following URL:If you already have other URLs in that field, click the icon to the right of the field to open a multi-line editor, then add this URL on a new line.Click OK to save.
Install ESP32 by Espressif
Open Tools > Board > Boards Manager.In the search box, type esp32.Find “esp32 by Espressif Systems” and click Install to install the latest version. The download may take a few minutes.
Select the Board
Once installation is complete, go to Tools > Board > ESP32 Arduino > ESP32S3 Dev Module.The board name in the bottom status bar of the IDE should update to reflect your selection.
Configure Board Settings
Under the Tools menu, apply the following recommended settings:
Setting USB CDC On Boot to Enabled is important — it allows
| Setting | Value |
|---|---|
| Flash Size | 8MB |
| PSRAM | OPI PSRAM |
| Upload Speed | 921600 |
| USB CDC On Boot | Enabled |
Serial.print() output to appear over the USB-C connection. See Enabling USB CDC below for more details.Select Port
Connect Proton AI Core to your computer with the USB-C data cable, then go to Tools > Port and select the port that corresponds to your board:
- Windows: appears as
COM3,COM4, etc. - macOS: appears as
/dev/cu.usbmodem...or/dev/cu.SLAB_USBtoUART - Linux: appears as
/dev/ttyUSB0or/dev/ttyACM0
Upload a Sketch
You’re now ready to upload firmware. To test your setup, you can start with a simple sketch or use one of Espressif’s built-in examples:
-
Hello World: Create a new sketch, paste the code below, and click the Upload button (→):
- Camera demo (if using a camera module): Open File > Examples > ESP32 > Camera > CameraWebServer, update the camera model and Wi-Fi credentials in the sketch, then upload.
If you see upload errors, try holding the BOOT button while pressing the EN/Reset button to manually enter bootloader mode, then attempt the upload again.
Enabling USB CDC
Proton AI Core uses the ESP32-S3’s built-in USB peripheral to expose a virtual serial (CDC) port over USB-C. When you set USB CDC On Boot to Enabled in the Tools menu, the board enumerates as a serial device immediately on power-up, andSerial.print() calls are routed directly over USB-C — no separate UART adapter or FTDI cable is required.
To verify the setting is applied, check Tools > USB CDC On Boot > Enabled before uploading. If it is set to Disabled, your Serial output will not appear in the Serial Monitor when connected over USB-C.