Main Content

What makes this project special is that we are going to render graphics on a text LCD display which is not supposed to be used this way. Since you cant control any particular pixel, this idea appears to be more of a pipe dream than a realistic plan. And this is why you should try it and push the hardware limits.

Spoiler: it will not run DOOM for now, but it will run “Bad Apple”!

HARDWARE
A character LCD display. The most common is 1602. 0802 and 1604 would work too. In fact we are going to use 4x2 area. I do not recommend LCD I2C units. They are significantly slower when it comes to display update rate.
An Arduino compatible board. Virtually any board which is capable of driving an LCD display would do. The most critical parameter for this project is flash memory. The more the better. Video streams consume a huge amount of memory. Arduino UNO is a good choice to start. But Mega or even ESP32 would allow you to process longer videos.
SOFTWARE
Python with cv2 library for image processing.
My img2lcdino script.
Some editor to split video into frames (I suggest that you use ffmpeg).
Arduino IDE.”

Link to article