I have been relatively casual in writing articles for my public account and video channel, merely to document the innovative moments during parent-child interactions. Unexpectedly, a small gadget from last Saturday became a hit on the video channel.Since everyone is quite interested in this, I would like to give back to the community by open-sourcing the code:
https://github.com/cursorlab/fakewinxp
The README contains detailed documentation, and theoretically, everyone can follow along and play with it themselves.
====== 🤔 Thought 🤔 Divider ======
Here are some interesting comments and my own thoughts:
[It’s just an image/It’s just a video script/It’s just playing a video]
The ESP32 TFT_eSPI only supports RGB565 format images and does not directly support video playback; each frame must be converted to RGB565 for playback.
The sound in the video was added later, but it can be played using the MAX98357A (I2S) module. Interested individuals can expand on this.
[ESP32 cannot run WinXP, but it can be used as a display]
Upon seeing this comment, an innovative idea popped into my mind: could we use the ESP32 + TFT to create an extended screen for a WinXP computer via standard VGA?
However, upon further reflection, there are several challenges:
As I recall, the minimum resolution supported by the WinXP official website is 640×480. To support a 240×240 screen, a custom driver may be required.
VGA is a pure analog signal, and the pixel clock for standard VGA 640×480@60Hz is approximately 25.175 MHz, while the maximum sampling rate of the ESP32 ADC is only a few MSPS (million samples per second), which is completely insufficient.
If we do not use VGA but instead a custom protocol (digital signal) + network transmission, the ESP32 Wi-Fi module does not support uncompressed pixel bandwidth. Once compression is used, even at 240×240, the ESP32 CPU is insufficient to support decoding. We can only reduce color depth and refresh rate, which might be worth a try.
This idea, if I have time later, I plan to attempt.
Alright, although there are other interesting ideas, this article is for those who understand; those who do not should not read it. Let’s wrap it up early.~(Interested friends can leave comments for discussion)