Arduino Development
This chapter includes the following sections; please read according to your needs:
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.
Environment Setup
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. Additional Tips
-
The ESP32-C3-Zero supports direct model selection in the Arduino IDE. Select "Waveshare ESP32-C3-Zero".

-
The ESP32-C3-Zero uses the ESP32-C3 native USB interface, not UART-to-USB. 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 is configured correctly:-
Update ESP32 libraries: 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 USB CDC enabled by default for this board.
-
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 below, the "USB CDC On Boot" option should be
Enabledwhen correctly configured.
-
-