Chen Liang Brings the Multimedia PC to Modern Microcontrollers with an FMV MPEG-1 Decoder

With modern microcontrollers easily outperforming the personal computers of the 1990s, it's time for a second multimedia revolution.

Gareth Halfacree
2 months ago โ€ข Photos & Video / HW101 / Retro Tech

Maker Chen Liang (้™ณไบฎ) is bringing the multimedia revolution to a microcontroller near you with an MPEG-1 decoder for the LILYGO T-Keyboard handheld development board โ€” offering full-screen, full-color, full-motion video playback.

Readers of a certain vintage will recall the multimedia hype of the 1990s, which saw the Multimedia PC standard released: a 386 processor running at 16MHz with 2MB of RAM, a 30MB hard disk, VGA graphics, and a single-speed CD-ROM drive โ€” which, it was required, would take up no more than 40 per cent of the CPU's capabilities during reading. This was considered the bare minimum to take part in the multimedia revolution โ€” which, at the time, largely meant software that would occasionally play back a postage-stamp-sized video clip laughingly called "Full Motion Video (FMV)."

These videos were typically encoded using MPEG-1, the Moving Picture Experts Group Phase 1 (MPEG-1) codec โ€” perhaps best known for giving rise to the MP3 audio format. While today media playback on PCs โ€” and tablets, and smartphones, and even watches โ€” uses newer and more efficient codecs, MPEG-1 is still the most broadly compatible. To prove it, Liang has written a decoder that can run on a microcontroller.

The project, brought to our attention by Adafruit, focuses on the LILYGO T-Keyboard, a compact all-in-one development board with an Espressif ESP32-C3 or ESP32-S3 at its heart depending on model. Despite its compact size and low power draw, the board easily exceeds the performance requirements of the Multimedia PC standard โ€” so long as you ignore the fact it's not a PC, of course. The result: a software decoder that can play back MPEG-1 video with synchronized audio at up to 320ร—240 resolution.

The source code for the project, along with instructions on converting existing videos to MPEG-1 format, has been published to GitHub under an unspecified license.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles