Posts

Showing posts with the label ESP32-C5

How to Drive an SSD1315/SSD1306 I2C OLED Display on ESP32-C5_MINI with MicroPython

Image
In this post, we will look at how to interface and display data on a 0.96-inch 128x64 SSD1315 I2C OLED display using ESP32-C5_MINI and MicroPython. For these exercises, we will use the official micropython-ssd1306 driver. Because the SSD1315 shares the exact same command structure for basic operations as the classic SSD1306, this library works flawlessly out of the box. Getting the Library There are two easy ways to install the driver on your board: Via Thonny IDE: Go to Tools ➔ Manage packages..., search for micropython-ssd1306, and click Install. Manual Installation: Download ssd1306.py directly from the official MicroPython-lib repository and save it onto your ESP32-C5 file system. Connection SDA - IO3 SCL - IO4 VCC - 3V3 GND - GND Exercise Code mpy_C5_ssd1306.py , basic setup and test. """ Exercise on ESP32-C5_MINI/MicroPython v1.29.0-preview Display on 0.96 inch 128x64 SSD1315 I2C OLED (SSD1...

Flashing MicroPython Firmware on the ESP32-C5_MINI using esptool

Image
This post walks you through the step-by-step process of flashing MicroPython firmware onto the ESP32-C5_MINI . 1. Download the MicroPython Firmware First, grab the correct binary for your chip: Visit the official MicroPython Download Page . Search or scroll down to the ESP32 section and locate the ESP32-C5 targets. Select ESP32-C5 by Espressif and download your preferred .bin file version. 2. Flash the Firmware (The 0x2000 Offset) To flash the firmware, connect your board to your computer and run the following esptool command. ⚠️ Crucial Note: Unlike older ESP32 chips (like the S3) which often start flashing at 0x0 , the ESP32-C5 requires you to write the flash starting exactly at address 0x2000 . Run this command in your terminal (replace PORTNAME and the .bin filename with your actual values): esptool --port PORTNAME ...

Hello ESP32-C5_MIINI

Image
Hello World on ESP32-C5_MIINI , list info and blink onboard LED (on IO23). ESP32-C5_MINI_hello.ino #define LED 23 void setup() { delay(2000); Serial.begin(115200); delay(1000); // initialize digital pin of the ESP32-C5_MINI onboard LED as an output. pinMode(LED, OUTPUT); digitalWrite(LED, LOW); // LED ON Serial.println("\n===================================="); Serial.println("Arduino_Hello World example"); Serial.println("ESP32-C5_MINI"); Serial.println("===================================="); Serial.printf("Chip model: %s\n", ESP.getChipModel()); Serial.printf("Chip revision: %d\n", ESP.getChipRevision());// Get ESP-IDF Version Serial.print("ESP-IDF Version: "); Serial.println(esp_get_idf_version()); #ifdef ESP_ARDUINO_VERSION_STR Serial.print("Arduino-ESP32 Core Version (String): "); Serial.println(ESP_ARDUINO_VERSION_STR); #else Serial.println("E...

Downloading and Displaying JPG Images via WiFi on ESP32-C5 with ST7789 SPI TFT LCD

Image
In this exercise, I demonstrate how to download a JPG image over Wi-Fi, decode it using the JPEGDEC library, and display it on a 3.2-inch 240×320 ST7789 TFT LCD (4-wire SPI) . The project uses the Arduino_GFX_Library together with the Waveshare ESP32-C5-WIFI6-KIT-N16R8 , running in the Arduino framework. Connection: 3.2" 240x320 ST7789 TFT LCD Waveshare (4-Wire SPI) ESP32-C5-WIFI6-KIT-N16R8 BL --------------------------- GPIO26 CS --------------------------- GPIO23 DC --------------------------- GPIO24 RES --------------------------- GPIO25 SDA --------------------------- GPIO8 SCL --------------------------- GPIO10 VCC --------------------------- 3V3 GND --------------------------- GND Libraries: Arduino_GFX_Library and  JPEGDEC libraries are needed to be installed in Arduino IDE Library Manager. Basic Test: ESP32C5_ST7789_SPI.ino /* Exercise run on Waveshare ESP32-C5-WIFI6-KIT-N16R8 Work with 3.2" 240x320 ST7789 SP...

WebServer on ESP32-C5-WIFI6-KIT-N16R8, to control onboard RGB LED (Arduino Framework)

Image
Exercises (Arduino Framework) run on Waveshare ESP32-C5-WIFI6-KIT-N16R8 , act as WiFi Access Point, and setup simple WebServer to control onboard RGB LED. ESP32C5_WiFi_AP_WebServer , act as Access Point and setup a simple WebServer. /* Exercise run on Waveshare ESP32-C5-WIFI6-KIT-N16R8 Setup WiFi AP, and a simple WebServer. details: https://coxxect.blogspot.com/2026/03/webserver-on-esp32-c5-wifi6-kit-n16r8.html Ref: Arduino ESP32 Wi-Fi API https://docs.espressif.com/projects/arduino-esp32/en/latest/api/wifi.html Github: espressif/arduino-esp32/libraries/WebServer/ https://github.com/espressif/arduino-esp32/tree/master/libraries/WebServer */ #include <WiFi.h> #include <WebServer.h> // Built-in lightweight HTTP server const char* ssid = "ESP32-C5_AP"; const char* password = "12345678"; // Create a web server on port 80 WebServer server(80); void handleRoot() { server.send(200, "text/html", "<h1>Hello from ESP32-C5 W...

Waveshare ESP32-C5-WIFI6-KIT-N16R8 to control onboard RGB LED using Adafruit_NeoPixel library, Arduino framework.

Image
Exercise run on Waveshare ESP32-C5-WIFI6-KIT-N16R8 to control onboard RGB LED using Adafruit_NeoPixel library. ESP32C5_RGB.ino /* Exercise run on Waveshare ESP32-C5-WIFI6-KIT-N16R8 to control onboard RGB LED using Adafruit_NeoPixel library. The onboard RGB on Waveshare ESP32-C5-WIFI6-KIT-N16R8 is connected to GPIO27. https://coxxect.blogspot.com/2026/02/waveshare-esp32-c5-wifi6-kit-n16r8-to.html */ #include <Adafruit_NeoPixel.h> // Pin where the onboard RGB is connected #define LED_PIN 27 // Number of LEDs (number of onboard RGB is 1) #define LED_COUNT 1 // Create NeoPixel object Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800); void setup() { strip.begin(); // Initialize NeoPixel library strip.show(); // Turn OFF all pixels ASAP strip.setBrightness(50); // Adjust brightness (0–255) } void loop() { // Cycle through Red, Green, Blue strip.setPixelColor(0, strip.Color(255, 0, 0)); // Red strip.show(); delay(100...

my dev. board: Waveshare ESP32-C5-WIFI6-KIT-N16R8

Image
my dev. board: Waveshare ESP32-C5-WIFI6-KIT-N16R8 Product Page: ~  https://www.waveshare.com/wiki/ESP32-C5-WIFI6-KIT-NXRX (English) ~  https://www.waveshare.net/wiki/ESP32-C5-WIFI6-KIT-N16R4 (Chinese) ~ ESP32-C5-WIFI6-KIT-NXRX Schematic Arduino Exercises: ~  Waveshare ESP32-C5-WIFI6-KIT-N16R8 to control onboard RGB LED using Adafruit_NeoPixel library . ~  WebServer on ESP32-C5-WIFI6-KIT-N16R8, to control onboard RGB LED ~  arduino-esp32 read memory info ~  ESP32-xx to use 16MB Flash with LittleFS ~  Downloading and Displaying JPG Images via WiFi on ESP32-C5 with ST7789 SPI TFT LCD