Posts

Showing posts from 2026

3.2" 240x320 ST7789 SPI IPS LCD (4-Wire SPI/8-Bit Parallel/16-Bit Parallel)

Image
3.2" 240x320 ST7789 SPI IPS LCD (4-Wire SPI/8-Bit Parallel/16-Bit Parallel) T320H8-C40-11

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...

my cam.module, OV3660 & GC2145 Camera Modules

Image
my cam.module, OV3660 & GC2145 Camera Modules, both 68 degrees, 21mm length.

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

Pico HDMI Board on CircuitPython

Image
picodvi is a CircuitPython library of low-level routines for interacting with PicoDVI Output. This exercise run on Raspberry Pi Pico (RP2040) running CircuitPython 10.0.3 to display on HDMI monitor with Spotpear Pico HDMI Board . pico-hdmi.py , basic test. """ Pico HDMI Board on CircuitPython Basic test. details: https://coxxect.blogspot.com/2026/02/pico-hdmi-board-on-circuitpython.html Ref: https://docs.circuitpython.org/en/latest/shared-bindings/picodvi/ https://learn.adafruit.com/using-dvi-video-in-circuitpython/using-a-framebuffer-and-picodvi lib needed: - adafruit_display_text folder Install lib using circup: circup install adafruit_display_text """ import os, sys import board import displayio import framebufferio import picodvi from adafruit_display_text import label import terminalio import time import gc displayio.release_displays() #======================================= info = os.uname()[4] + "\n" + \ sys.impleme...

Raspberry Pi Pico 2 W/CircuitPython 10.0.3: Load animated GIFs from MicroSD, display them on a 240*240 GC9A01 LCD using gifio.OnDiskGif.

Image
Previous posts show Basic setup of 1.28 inch 240x240 Round Display with GC9A01 SPI on Raspberry Pi Pico 2 W/CircuitPython 10.0.3  and display bmp images from SD using displayio.OnDiskBitmap()/adafruit_imageload.load()  This post shows how to display animated GIFs from MicroSD. The connection between Raspberry Pi Pico 2 W, GC9A01 LCD and the MicroSD Module refers to the last post, display bmp images from SD using displayio.OnDiskBitmap()/adafruit_imageload.load()   Ref: https://docs.circuitpython.org/en/latest/shared-bindings/gifio/index.html#gifio.OnDiskGif Exercise Code: cpy_rpPicoW_gc9a01_sd_OnDiskGif.py. Cooperate with displayio, this mode is relatively slow. """ Raspberry Pi Pico 2 W/CircuitPython 10.0.3 with 1.28" 240x240 Round GC9A01 SPI IPS LCD Display animated GIF in SD, using gifio.OnDiskGif. Cooperate with displayio, this mode is relatively slow. https://coxxect.blogspot.com/2026/02/raspberry-pi-pico-2-wcircuitpython-1003.html ref: https:...

my display module: Spotpear Pico HDMI Board

Image
Spotpear Pico HDMI Board schematic: Links: ~ Spotpear Raspberry Pi Pico HDMI Board User Guide Exercise: ~  Pico HDMI Board on CircuitPython

Pico 2 W/CircuitPython 10.0.3 Display bmp images in SD, using displayio.OnDiskBitmap()/adafruit_imageload.load().

Image
Raspberry Pi Pico 2 W with CircuitPython 10.0.3, to display BMP images from an MicroSD card on a 240*240 GC9A01 Round LCD , using displayio.OnDiskBitmap() and adafruit_imageload.load(). Reference: -  displayio.OnDiskBitmap() -  adafruit_imageload.load() All bmp were resized and converted from jpg to 240*240 RGB888 bmp using FFmpeg . Connection: Raspberry Pi Pico 2 W ===================== GP28| GND | GP27| GP26| Run | GP22| ------- LCD_BLK ------------+ GND | | GP21| ------- LCD_DC ---------+ | GP20| ------- LCD_RES-------+ | | +------- SD_MISO|GP12 GP19| MOSI - SPI_SDA ----+ | | | | +----- SD_CS |GP13 GP18| SCK - SPI_SCL --+ | | | | | | |GND GND | | | | |...

CircuitPython to list files in SD

Image
CircuitPython exercise to list files in SD Connection: Raspberry Pi Pico 2 W ===================== GP28| GND | GP27| GP26| Run | GP22| GND | GP21| GP20| +------- SD_MISO|GP12 GP19| | +----- SD_CS |GP13 GP18| | | |GND GND | | | +--- SD_SCK |GP14 GP17| | | | +- SD_MOSI|GP15 GP16| | | | | +---------------+ | | | | | | | | SD Module | | | | ========= | | | | GND --- GND +-|-|-|-------- MISO | +-|-------- CLK | +-------- MOSI +------------ CS 3V3 --- 3V3 Exercise Code: cpy_rpPicoW_sd.py """ Raspberry Pi Pico 2 W/CircuitPython 10.0.3 with SD Card module. List files in SD. """ import os, sys import board...

Downloading Bitmap via WiFi with CircuitPython, Saving to Local File System, and Displaying on LCD using OnDiskBitmap.

Image
In my previous post , I demonstrated basic exercises running on the Raspberry Pi Pico 2 W with CircuitPython 10.0.3, displaying graphics on a 1.28‑inch IPS module (GC9A01 + CST816S, 240×240 round, 4‑wire SPI) . In this post, I present exercises using CircuitPython 10.0.3 on the Raspberry Pi Pico 2 W to download a bitmap via WiFi, save it to the local file system, and display it on the GC9A01 LCD using OnDiskBitmap. The BMP in my test was resized and converted from JPG to BMP(240*240 RGB888) using FFmpeg . cpy_rpPicoW_gc9a01_OnDiskBitmap_wifi.py """ Raspberry Pi Pico 2 W/CircuitPython 10.0.3 with 1.28" 240x240 Round GC9A01 SPI IPS LCD Download bmp to local file system and display it using OnDiskBitmap ~ Single bmp. In this exercise, Pico 2 W download image from web server, save it on CircuitPython local filesystem, named "image.bmp, then display it on 1.28" 240x240 Round GC9A01 SPI IPS LCD using OnDiskBitmap. https://coxxect.blogspot.com/2026/01/...

Resize and convert jpg/mp4 to bmp/gif using FFmpeg

Image
To resize and convert jpg to bmp/mp4 to gif using FFmpeg. Download and Install FFmpeg on Windows 11 1. Download FFmpeg • Go to the official FFmpeg download page ( https://www.ffmpeg.org/download.html ). • Get packages & executable files. • Choose a trusted Windows build provider (e.g., gyan.dev). • Download the archive ffmpeg-git-essentials.7z (this version is lightweight and sufficient for most users). • Extract the archive to a folder, for example:      C:\ffmpeg\ 2. Set Environment Variable PATH 1. In Windows search, type “Environment Variables” and open Edit the system environment variables. 2. In the “System Properties” window, click Environment Variables…. 3. In the User variables section, find Path → click Edit. 4. Add a new entry:      C:\ffmpeg\bin 5. Save and close. 3. Test Installation Open Command Prompt (CMD) or PowerShell, then type: ffmpeg -version R...

WeAct Studio Display FS 0.96 Inch

Image
WeAct Studio Display FS 0.96 Inch Or it can act as a 0.96" 80*160 USB Secondary Screen for Computer: System Monitor/Screen Projection. Software Download Link: https://sourceforge.net/projects/weact-studio-system-monitor/ https://sourceforge.net/projects/weact-studio-screen-projection/

1.28" 240x240 Round Display with GC9A01 SPI, on Raspberry Pi Pico 2 W/CircuitPython 10.0.3.

Image
Exercises run on Raspberry Pi Pico 2 W /CircuitPython 10.0.3, to display on 1.28 inch IPS Module: GC9A01+CST816S 240*240(Round) 4W-SPI . Connection: Raspberry Pi Pico 2 W Run | GP22| ------- LCD_BLK ------------+ GND | | GP21| ------- LCD_DC ---------+ | GP20| ------- LCD_RES-------+ | | GP19| MOSI - SPI_SDA ----+ | | | GP18| SCK - SPI_SCL --+ | | | | GND | | | | | | GP17| SS - LCD_CS ---|-|-|-|-+ | GP16| MISO - no use | | | | | | --------+ | | | | | | | | | | | | | | | | | | GC9A01 | | | | | | | | | | | +---- BLK | | | | +------ CS | | | +-------- DC ...