You Can Now Use an ESP32 as a Set-Top Box for Streaming Video
Use an ESP32 development board and ESPFLIX to build an ultra-affordable set-top box capable of streaming video from the internet.
The Espressif ESP8266 is a cheap microcontroller with built-in WiFi connectivity. When Espressif developed the chip, its intended purpose was for Internet of Things (IoT) applications. But the low-cost and versatility of the ESP8266 quickly made it popular in the maker community. Espressif then followed the ESP8266 up with the ESP32, which added Bluetooth capability and more power. Like the ESP8266, the ESP32 was originally intended for IoT devices, but the maker community has found many more uses for it. As it turns out, you can even use an ESP32 development board as a set-top box to stream video.
You can purchase complete ESP32 development boards for less than $2, which is extraordinarily affordable when you consider how much hardware you’re getting. The ESP32 has a dual-core CPU that can run at up to 240 MHz, 520 KiB of SRAM, onboard WiFi and Bluetooth, and two built-in 8-bit digital-to-analog converters (DACs). Those DACs can be used to create analog signals, including audio signals and even video signals. The ESP32 isn’t capable of outputting high definition video, but it can generate a standard definition composite video signal. Rossum’s open source ESPFLIX project utilizes the wireless connectivity and video signal generation capability to stream video.
The most affordable set-top boxes out there that are capable of streaming video start at about $25, which shows just how impressive the ESP32 paired with ESPFLIX is. Other than an ESP32 development board, the only hardware you’ll need is a cheap infrared receiver and whatever infrared remote control you have lying around. ESPFLIX is designed to pull videos from an Amazon Web Services Cloudfront streaming content server. Some videos are already available from Rossum’s server, and you can also setup your own private streaming server. Those videos are stored in the MPEG1 video format and are then decoded on the ESP32 and output as either NTSC or PAL video. You probably won’t be using ESPFLIX to replace whatever streaming service you already use, but this project is a really impressive demonstration of what the ESP32 is capable of.