Getting started with Arduino
Arduino board definition
To program your NULA DeepSleep ESP32-S3, use the official Espressif Arduino core for ESP32. This package already includes support for the Soldered NULA DeepSleep ESP32-S3, so you can select it directly from the board list after installation.
Espressif Arduino core for ESP32
Official Arduino core by Espressif, supporting ESP32, ESP32-C3, ESP32-S3, and ESP32-C6 boards including the Soldered NULA DeepSleep ESP32-S3.
Are you a first-time Arduino user?
For a step-by-step guide on installing Arduino, connecting your board, and uploading your first sketch, see this section of our docs:
Getting started with Arduino
A comprehensive beginner’s guide to setting up Arduino and uploading your first program.
Installing the ESP32 board package
You can install the Espressif ESP32 boards directly from the Arduino Boards Manager:
- Open Arduino IDE
- Go to Tools → Board → Boards Manager
- In the search bar, type ESP32
- Find the entry ESP32 by Espressif Systems and click Install
Once installed, select your board from the menu:
Tools → Board → esp32 → Soldered NULA DeepSleep ESP32-S3
Tools → Board → esp32 → ESP32S3 Dev Module
Both options are compatible for uploading and testing sketches.
Install CH340 driver
The CH340 is an onboard chip that enables serial communication over USB. Without the driver, the board may not show up as a serial port on your computer.
Windows
If the driver is not installed, download it from this link. Start the installation and follow the instructions.
Mac
On macOS, the CH340 driver needs to be installed manually. Download it from the official WCH website, open the .dmg file, and follow the installation instructions:
CH340 driver for macOS
Official WCH CH34x serial driver download for macOS
Example sketch
Once your board is selected and connected via USB-C, try uploading this simple example to verify everything is working:
void setup() {
Serial.begin(115200);
Serial.println("Hello from NULA DeepSleep ESP32-S3!");
}
void loop() {
delay(1000);
Serial.println("Running...");
}