👁️ RoboEyes: High-Frame-Rate GC9A01 System

An optimized visual expression system for robots using dual 1.28-inch round LCDs and an RP2040 micro-architecture. This system utilizes partial window refreshes and asynchronous state machines to deliver 60FPS pupil tracking without the latency of procedural pixel rendering.

SPI Bus Optimization: By implementing a "Window Update" strategy, we bypass the need to re-transmit static background data, reducing SPI bus contention and maximizing the RP2040's effective throughput.
Get Source Code
Pico Firmware & Blinking Eye Assets
RoboEyes Dual GC9A01 LCD Wiring and Animation View Dual GC9A01 1.28" High-Speed Setup

How It Works: The Logic Flow

The firmware architecture focuses on low-latency memory management to maintain visual fluidity:

Technical Specifications

ComponentRole & Specification
MicrocontrollerRaspberry Pi Pico (RP2040) @ 133MHz
Display Driver2x GC9A01 Round LCD (240x240 px / 1.28")
InterfaceHardware SPI (Dual-CS Configuration)
Color DepthRGB565 16-bit (Optimized Bit-Depth Assets)
Input Protocol3.3V UART (Asynchronous Coordinate Stream)

Synchronized SPI Logic

The system manages two independent round LCDs by multiplexing the MOSI line with discrete Chip Select (CS) logic, ensuring zero-latency synchronization between the left and right eye states.

Active Saccade Masking

Designed to replicate biological eye movements. By pairing with the ESP32-CAM FaceTracker, the system utilizes "Saccade Masking"—triggering blinks during rapid gaze shifts to hide artificial pupil "snapping."

🗺️ Future Roadmap