Arduino Development
This chapter includes the following sections. Please read as needed:
Arduino Getting Started Tutorial
New to Arduino ESP32 development and looking for a quick start? We have prepared a comprehensive Getting Started Tutorial for you.
- Section 0: Getting to Know ESP32
- Section 1: Installing and Configuring Arduino IDE
- Section 2: Arduino Basics
- Section 3: Digital Output/Input
- Section 4: Analog Input
- Section 5: Pulse Width Modulation (PWM)
- Section 6: Serial Communication (UART)
- Section 7: I2C Communication
- Section 8: SPI Communication
- Section 9: Wi-Fi Basics
- Section 10: Web Server
- Section 11: Bluetooth
- Section 12: LVGL GUI Development
- Section 13: Comprehensive Project
Note: This tutorial uses the ESP32-S3-Zero as a reference example, and all hardware code is based on its pinout. Before you start, we recommend checking the pinout of your development board to ensure the pin configuration is correct.
Configuring the Development Environment
1. Installing and Configuring Arduino IDE
Please refer to the Arduino IDE Setup Tutorial to download and install the Arduino IDE and add ESP32 support.
2. Other Tips
-
The ESP32-C6-Zero supports direct model selection in the Arduino IDE. Select "Waveshare ESP32-C6-Zero".

-
The ESP32-C6-Zero uses the ESP32-C6 native USB interface, not a UART-to-USB bridge. For serial communication:
-
The
printf()function can be used directly; -
To use the
Serial.println()function, you need to enable the USB CDC feature. Please follow the steps below to check and confirm that your environment configuration is correct:-
Update ESP32 Library: It is recommended to update the ESP32 board library in the Arduino IDE to version 3.3.5 or higher. Newer versions of the library have enabled the USB CDC feature for this board by default.
-
Check Configuration Options: In the Arduino IDE "Tools" menu, check and confirm that the "USB CDC On Boot" option is set to "Enabled".
noteAs shown in the figure below, the "USB CDC On Boot" option should be
Enabledunder the correct configuration.
-
-