# Mini 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.

- Category: Hardware (build)
- Made by: [Tech Talkies](https://www.hackster.io/techtalkies1) on Hackster
- Original: https://www.hackster.io/techtalkies1/mini-retro-tv-a-tiny-video-player-with-esp-32-582d9f
- On Afterware: https://afterware.xyz/p/mini-retro-tv-esp32-s3-plays-jpeg-video

## Can I build this?

- Difficulty: Intermediate
- AI-buildability: 4/5 (Mostly software for an off-the-shelf board, with light wiring of an amplifier and speaker.)
- Time: 3 hours
- Parts: MaTouch Lite ESP32-S3, 2.4in ST7789 SPI IPS touchscreen, MAX98357A amplifier, 2W round speaker, USB-C panel mount, USB-C breakout board, microSD card
- Tools: 3D printer, soldering iron

Estimates based on the original write-up.

## Build sheet

- Board: MaTouch Lite ESP32-S3
- Display: 2.4in ST7789 SPI IPS touch
- Audio: MAX98357A + 2W speaker
- Storage: microSD (JPEG frames)

## Starter prompt

```
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.
```

## 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.

## Resources

- [Project page](https://www.hackster.io/techtalkies1/mini-retro-tv-a-tiny-video-player-with-esp-32-582d9f)
- [Firmware flasher](https://techtalkies.github.io/flash.html)
- [MaTouch Lite ESP32-S3 board](https://www.makerfabs.com/matouch-lite-esp32-s3-spi-resistive-touch-2-4-st7789.html)

Tags: esp32-s3, st7789, microsd, jpeg playback, mini display, max98357a

AI assistants can search all Afterware builds through the MCP server at https://afterware.xyz/mcp (setup: https://afterware.xyz/agents).
