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.
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:If the field already contains other URLs, separate them with a comma. Click OK to save.
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.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.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.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
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: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.