Page 1 of 1
Has anyone used ESP32-S3 to capture an external RGB LCD bus passively?
Posted: Mon Mar 30, 2026 6:06 pm
by Federal_Fudge
Hello,
I am working on a low-cost open-source project to passively tap the LCD interface of a Garmin Striker 4.
The panel appears to use a parallel RGB interface with signals such as:
RGB data PCLK HSYNC VSYNC DE
I am not trying to drive a display.
I am not using a normal camera sensor either.
I want to know whether ESP32-S3 can be used as a passive receiver for this kind of external parallel LCD stream.
Questions:
Is this possible at all on ESP32-S3? Is the input realistically limited to 8 or 16 bits? Has anyone tried capturing an external RGB565 or partial RGB888 stream with sync signals? Would ESP32-P4 be a better option for this?
My goal is only a proof of concept, maybe one frame every few seconds.
Thanks.
Re: Has anyone used ESP32-S3 to capture an external RGB LCD bus passively?
Posted: Tue Mar 31, 2026 9:53 am
by MicroController
The S3's camera interface in "Camera Slave RX Mode" supports DVP input including signals CAM_PCLK, CAM_V_SYNC, CAM_H_SYNC, CAM_H_ENABLE, and 8 or 16 data lines. So this may actually be possible, if the LCD signals' relative timings are somewhat compatible with DVP.
Re: Has anyone used ESP32-S3 to capture an external RGB LCD bus passively?
Posted: Tue Mar 31, 2026 1:35 pm
by eva_402
I’ve played around with the S3 a bit and honestly it’s pretty tight for something like that, especially trying to passively grab a full RGB stream with sync signals. You might get somewhere with reduced bit depth or really low frame rates, but timing gets tricky fast. The P4 sounds like a better fit if you can wait for it, since it’s more geared toward that kind of data handling.
Re: Has anyone used ESP32-S3 to capture an external RGB LCD bus passively?
Posted: Tue Mar 31, 2026 3:03 pm
by Federal_Fudge
Thank you, this is very helpful.
Has anyone actually tried DVP RX mode with an external
LCD RGB source rather than a real camera sensor?
I am specifically looking for experience with LCD panel
timing compatibility vs DVP camera timing expectations.
Project documentation:
https://github.com/gstonge1/Concept-scr ... /tree/main
Re: Has anyone used ESP32-S3 to capture an external RGB LCD bus passively?
Posted: Tue Apr 07, 2026 2:53 am
by ok-home
Hi
I don't see much difference in the processing of PCLK HSYNC VSYNC DE synchronization signals between a real camera and an LCD.
You'll have a different problem. According to the datasheet, PCLK is 80+- MHz. The 16-bit LCDCAM ESP32S3 module can receive a maximum frequency of 16 bits, 40 MHz (8 bits, 80 MHz) in RAM.
The ESP32P4 can receive up to 80 MHz 16 bits in RAM/PSRAM.
These are all the data only for receiving and writing to memory; you still want to compress them and send them over WiFi.
If dropped frames are acceptable to you, you can try implementing 8+8+8 mode by sequentially switching the ESP32S3(P4) inputs on the iomatrix, or RGB565 mode (16 bit) for the ESP32P4.
There's also the issue of long cables between the screen and the camera receiver; at 80 MHz, this is significant. In practice, more or less realistic PCLK for the camera's are 15-18 MHz.
Re: Has anyone used ESP32-S3 to capture an external RGB LCD bus passively?
Posted: Wed Apr 08, 2026 10:08 am
by MicroController
I think OP's estimate for the pixel clock is more realistic
at ~9 MHz when the screen is active (480×272 @ 60Hz).