Skip to main content
This page walks you through preparing Arduino IDE to compile and flash firmware onto the ESP32-C6 Dev Module. You will add the Espressif board manager URL, install the ESP32 board package and the Adafruit NeoPixel library, select the correct board target, upload the Station or AP firmware, and confirm a successful boot via the Serial Monitor.
1

Download and install Arduino IDE

Download the latest Arduino IDE from the official site at https://www.arduino.cc/en/software and run the installer. Version 2.x is recommended.
2

Add the ESP32 board manager URL

Open File → Preferences (Windows/Linux) or Arduino IDE → Settings (macOS). In the Additional boards manager URLs field, paste the following URL:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
If the field already contains other URLs, separate them with a comma. Click OK to save.
3

Install the ESP32 board package

Go to Tools → Board → Boards Manager. Search for esp32 and find the esp32 by Espressif Systems entry. Click Install and wait for the download to finish.
4

Select the ESP32C6 Dev Module board

Navigate to Tools → Board → esp32 and select ESP32C6 Dev Module. This matches the hardware target used in both ESP32Station.ino and ESP32Wifi.ino.
5

Install the Adafruit NeoPixel library

Go to Tools → Manage Libraries. Search for Adafruit NeoPixel and click Install. This library drives the built-in WS2812B RGB LED on GPIO 8, which the firmware uses to show connection status.
6

Open the correct firmware file

Open the .ino file that matches your intended operating mode:
  • Station mode (joins an existing Wi-Fi network): open ESP32Station/ESP32Station.ino
  • AP mode (creates its own hotspot): open ESP32Wifi/ESP32Wifi.ino
For Station mode, update the Wi-Fi credentials and optional static IP before uploading:
const char* ssid     = "YourNetworkSSID";
const char* password = "YourPassword";

// Optional static IP — adjust to match your router's subnet
IPAddress local_IP(192, 168, 1, 253);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
7

Upload the firmware and verify via Serial Monitor

Connect the ESP32-C6 over USB-C. Click Upload (the right-arrow button) in Arduino IDE. Once flashing completes, open Tools → Serial Monitor and set the baud rate to 115200. You should see output similar to:
[*] ESP32-C6 Station Modu Başlatılıyor...
[✓] Wi-Fi bağlandı!
[✓] IP Adresi: 192.168.1.253
[✓] Web sunucusu başlatıldı. Hazır!
Note the IP address printed — you will need it when configuring the Python listener.
The firmware initializes the serial port with Serial.begin(115200). If you open the Serial Monitor at any other baud rate, you will see garbled output and miss the IP address confirmation message. Always set the Serial Monitor to 115200 baud.
Copy the IP address from the Serial Monitor output before closing it and running the Python listener script. In Station mode the firmware attempts to claim the static IP 192.168.1.253, but if that address is already taken the DHCP-assigned address will differ. Always read the printed IP rather than assuming the static value.

Build docs developers (and LLMs) love