Hardwareby Pr.Belamine Makerlab · HacksterMini Retro TV: ESP32-S3 plays JPEG video
A small handheld video player built on the MaTouch Lite ESP32-S3 with a 2.4-inch ST7789 touchscreen. Instead of decoding video, it plays a sequence of JPEG frames read from a microSD card.
Build sheet
- Board
- MaTouch Lite ESP32-S3
- Display
- 2.4in ST7789 SPI IPS touch
- Audio
- MAX98357A + 2W speaker
- Storage
- microSD (JPEG frames)
Can I build this?Intermediate · AI 4/5
- Difficulty
- Intermediate
- AI-buildability
- 4/5
- Time
- 3 hours
Mostly software for an off-the-shelf board, with light wiring of an amplifier and speaker.
Based on "Mini Retro TV: ESP32-S3 plays JPEG video" on Afterware: https://afterware.xyz/p/mini-retro-tv-esp32-s3-plays-jpeg-video
Write MicroPython or Arduino firmware for an ESP32-S3 board with a 2.4-inch ST7789 SPI touchscreen and a microSD card slot. On startup, read numbered JPEG frames from the SD card in order and draw each one to the display at full screen resolution. Add a simple frame-rate limit and a touch tap to pause and resume playback.
Estimates based on the original write-up. Building with an AI assistant? Connect it to Afterware (free MCP server).
Story
The project started from an interest in pushing small microcontrollers beyond sensors and automation. The goal was a tiny television built around the MaTouch Lite ESP32-S3 and its 2.4-inch ST7789 SPI IPS touchscreen.
Playing a conventional MP4 directly on the ESP32 is not practical, since H.264 needs more processing power and memory than the board offers. Instead, each video is converted into a series of JPEG images, resized to the display resolution, and saved to a microSD card. The ESP32-S3 reads the frames in order and draws them to the screen, which gives the impression of video.
Firmware is installed through a web flasher page. The microSD card holds the clips so the internal flash is not used for the full video. A MAX98357A amplifier and a 2W round speaker are listed in the parts, so the build includes audio output.













