platformio.ini for the ESP32-S3, and uploading your first firmware.
Prerequisites
Before you begin, make sure you have the following ready:- Visual Studio Code installed (code.visualstudio.com)
- PlatformIO IDE extension installed in VS Code (search “PlatformIO IDE” in the Extensions panel)
- 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
Create a New Project
Open the PlatformIO Home tab in VS Code (click the PlatformIO icon in the Activity Bar, then select Home).Click New Project and fill in the following fields:
- Name: Your project name
- Board:
Espressif ESP32-S3-DevKitC-1(the closest compatible target — see the note below) - Framework: Arduino
platformio.ini file.A dedicated Proton AI Core board definition is planned. For now, use the ESP32-S3-DevKitC-1 board target as a compatible configuration.
Configure platformio.ini
Open the generated These flags enable USB CDC on boot so that
platformio.ini at the root of your project and replace its contents with the following:platformio.ini
Serial.print() output is routed over the USB-C connection, and configure the memory type for OPI PSRAM.Build & Upload
Connect Proton AI Core to your computer with the USB-C data cable.To build and upload your firmware, use one of the following methods:
- Click the Upload button (→) in the PlatformIO toolbar at the bottom of VS Code
-
Run the following command in a terminal at the project root:
Open Serial Monitor
To see output from
Serial.println(), open the Serial Monitor using one of the following methods:- Click the plug icon in the PlatformIO toolbar at the bottom of VS Code
-
Run the following command in a terminal:
monitor_speed value set in platformio.ini (115200 baud).Adding Libraries
PlatformIO manages library dependencies through thelib_deps key in platformio.ini. To add a library, specify it by its registry name and version — PlatformIO downloads and links it automatically at build time.
For example, to add the esp32-camera library for camera support:
