7 Interesting Projects that Use the ESP32 to Generate Composite Video
Many of the most visually interesting DIY electronics projects require a display of some sort, but connecting and driving a TFT LCD panel—or a bank of colorful LEDs—often requires a special interface board, or sometimes just a lot of complicated wiring. One easy alternative is to use a regular television for output, just like computers from the 80s used to do.
While you may no longer have a bulky CRT television lying around, you don’t need one. As a nod to the past, most modern television sets feature a composite input jack. This input, primarily intended for older retro consoles or VCRs, is perfectly suited for the task.
Let’s look at several projects which use this technique, but first, let’s talk a bit about the different types of video signals and why older technology can be better for our purposes!
How Digital Displays Work
Modern displays are digital devices. Colors are timing information are transmitted as digital signals on individual wires, something that is known as a digital bus. While there are many ways to connect a modern digital display to a DIY project, almost all of them involve either a custom board or a bundle of wires. Some displays—for example, those that rely on the SPI bus—require a minimum of four wires, plus power. With other displays, it can get even worse! If you’re just trying to quickly hook up a display for a project, it can get messy!
Why Older Analog Technology Can Help
For much of the early days of television, video was an analog medium. This meant that instead of transmitting pictures as a series of separate signals on a digital bus, older analog television sets relied on encoding the color and brightness of the picture on a single signal that was either transmitted wirelessly via radio or through a cable. The first was known as broadcast television, while the latter was known as composite video. The key, however, is that all the information is packed onto a single signal.
Analog signals were largely replaced by digital signals in modern electronics, primarily because an analog signal is susceptible to degradation, especially if it is recorded over and over again. This is the reason videos from the 80s, most of which were recorded on VHS tapes, have an unflattering look to them: they can be fuzzy, colors tend to bleed, bright areas bloom and occasionally the picture may roll or waver.
Digital signals do not suffer from these effects: they are much sharper and are generally unaffected by being recorded or rebroadcast. This is why modern devices, including TVs, are almost entirely digital.
So, the decision is clear: if you want a super sharp image, digital is the way to go. But for many projects, composite output will give your project simplicity and perhaps a bit of vintage charm!
Let’s take a look at some projects where resourceful individuals have used the versatile ESP32 microcontroller to do just that.
1. How It Began: Broadcasting Color Channel 3 on an ESP
The first project uses the ESP8266, which is the predecessor of the ESP32; it also uses broadcast wireless video, rather than wired composite. But this was, to my knowledge, the very earliest hack that showed the potential of using an ESP digital microcontroller to interact with television sets. This is why we chose to kick off the list with CNLohr’s demonstration:
Despite being an impressive demo, using broadcast video limits the video quality significantly and the range is limited, so later projects tend to use two wires instead to connect to the yellow RCA composite input on a television or monitor.
2. ESP32 Composite Video
To my knowledge, Bitluni was the first to demonstrate the use of composite video on the ESP32. In this impressive demonstration, he showed that the ESP32 could animate shaded, three-dimensional figures in real-time:
Although this demo was initially only done in black and white, this was soon to change…
3. Color PAL on the ESP32
In a future video, Bitluni expanded his technique to generate color graphics. The technique he used at the time only worked on television sets capable of accepting the European PAL standard, but it was a huge step forward and worthy of an animated homage to the film “2011: A Space Odessey”:
Bitluni also demonstrated a color arcade console based on the ESP32 called the Game Wing. While it required a custom PCB board, it suggested the ESP32 could be used for video games:
4. ESP 8 Bit
Speaking of arcade games, what better way to relive analog television than by playing video arcade games from the classic consoles of the era? With his ESP 8 Bit project, Rossumer transforms the ESP32 into a retro gaming console that can play Atari, NES, and SMS games.
A significant accomplishment by Rossumer is that he figured out how to show color in not only the European PAL standard—as Bitluni had done—but also the North American NTSC standard, making his project compatible with television sets worldwide.
Rossumer took the ball and rolled with it, constantly pushing the boundaries of what is possible with the ESP32.
The culmination of his work is perhaps ESPFlix, an incredible project that takes an inexpensive ESP32 board and crams into it all the tech necessary for processing internet video and audio streams.
The end result allows the inexpensive ESP32 to function as a free video streaming service that you can use to watch TV shows.
6. ESP 8 BIT Composite
While CNLohr’s, Bitluni’s and Rossumer’s work was pioneering, it did not lend itself very well for use by others who wanted to generate video in their projects. Roger-random adapted some of Rossumer’s work into an easy-to-use library, ESP 8 BIT composite, which sports, among other things, the ability to show animated GIFs.
To show off this capability, Roger asked Emily Velasco to come up with a cute animation of a cat riding an intergalactic squid! The results look fantastic on an old Zenith TV!
7. ESP32 Composite Color Video / ESP32 Dali Clock
Another project which attempted to advance previous work was my ESP32 Composite Color Video library. As with Roger’s library, I took techniques from Rossumer’s work, but I used it to update Bitluni’s original demos, allowing those to work in color on both the NTSC and PAL video standards.
This enhanced library was versatile enough for me to build the ESP32 Dali Clock:
What Might You Build Next?
So there you have it. Seven projects which take a modern ESP microcontroller and use it to generate colorful pictures and graphics using nothing more than a few wires and the time-honored technology of analog video signals! How might you use this same technique in your own projects?
Want to make a time-lapse video but don’t jave the budget? With the budget ESP32-CAM, you can create time-lapses without breaking the bank.
About The Author