240-MP Turns a Raspberry Pi Into a CRT-Friendly Media Player With VCR Energy
#Hardware

240-MP Turns a Raspberry Pi Into a CRT-Friendly Media Player With VCR Energy

Hardware Reporter
6 min read

240-MP is a Raspberry Pi media front end for people who want Plex or local files to feel less like a streaming app and more like a tape deck wired into a CRT.

Featured image

Anthony Caccese’s 240-MP is not trying to make your media library look newer. It is doing the opposite on purpose: text menus, low-resolution presentation, remote or keyboard navigation, and playback aimed at the kind of CRT television that made old broadcasts, VHS captures, and early DVD rips look right.

The project runs on a Raspberry Pi, uses MPV for playback, and supports media from local storage, USB drives, external disks, network shares, or a Plex server. Caccese has tested it on the Raspberry Pi 4B, 3B+, and 3B, which is the first useful compatibility boundary for builders. This is not a generic SBC appliance yet, and he has said he does not plan to test other hardware.

Product

240-MP is best understood as a lightweight front end wrapped around proven playback plumbing. MPV handles the media playback, while 240-MP provides the retro menu layer and library navigation. That matters because the hard part in a living-room media box is rarely drawing menus. It is decoding video reliably, switching audio and subtitle tracks, handling storage paths, and staying responsive on cheap hardware.

The interface is intentionally VCR-like. You browse folders, pick episodes or playlists, switch audio and subtitles, enable looping, and play files without the poster-wall UI that dominates modern media apps. For old TV recordings, anime fansubs, 4:3 shows, home video archives, and DVD-era rips, that restraint is a feature. A 240p or 480i presentation can hide artifacts that become painfully visible when a modern display and scaler make every set seam, compression block, and bad upscale obvious.

The display path is the main build decision. 240-MP can run over HDMI for a normal monitor or TV, but the more interesting use case is composite output to a CRT. The setup requires choosing the output mode ahead of time and editing the Raspberry Pi config.txt accordingly. That is exactly the sort of detail that separates a weekend nostalgia box from a half-finished pile of adapters.

Performance Data

There are no published standardized benchmark runs for 240-MP yet, so the useful performance model comes from the workload. This is a low-overhead text interface plus MPV playback. The decode target is media playback, not transcoding, not AI upscaling, and not a heavy web UI.

Build target Expected bottleneck Practical read
Local SD or USB playback Storage quality and codec support Fine for DVD-era and lightweight H.264 files if the media is already compatible
Plex library playback Network, server response, codec compatibility Best when Plex serves direct-play files instead of forcing server-side transcoding
Composite CRT output Raspberry Pi video config and cable quality Low resolution reduces display load, but setup is fussier than HDMI
HDMI output Decode workload Easier setup, less authentic presentation
Pi 3B or 3B+ CPU headroom and thermals Good candidate for SD and DVD-quality libraries, less margin for high-bitrate files
Pi 4B Decode headroom and I/O Better choice for mixed libraries and external storage

For a homelab-style test, I would measure three things before calling a 240-MP box finished: dropped frames in MPV, wall power under playback, and input latency while browsing a large library. MPV exposes playback stats, so a proper test run should include the same file set across each Pi: one MPEG-2 DVD rip, one H.264 480p file, one H.264 720p file, and one awkward high-bitrate file that represents the worst thing in your library.

Power is where this project gets attractive. A Raspberry Pi 3B or 4B playing local files is usually in the low single-digit watt range depending on storage, cooling, USB devices, and display output. Add a spinning USB hard drive and the storage device may draw as much attention as the Pi itself. For an always-connected retro media terminal, that is still far below an old desktop, a rack server, or even many mini PCs idling just to show a menu.

Component Power concern Build advice
Raspberry Pi 3B or 3B+ Lower headroom, lower draw Good for simple local libraries and CRT-first builds
Raspberry Pi 4B More headroom, more heat Better for Plex, USB storage, and mixed codecs
MicroSD card Reliability under frequent writes Use a decent card, keep media on external storage if possible
USB flash drive Heat and sustained reads Fine for small libraries, test long playback sessions
USB hard drive Spin-up draw Use powered storage if the drive is unstable
Composite cable Signal quality Buy the correct Pi-compatible cable and test before final assembly

Compatibility is the real benchmark. A media appliance succeeds when it plays the files you actually own. 240-MP’s local playback module should be happiest with already-compatible files that MPV can decode cleanly on the chosen Pi. Plex support is more dependent on how your server presents media. Direct play is the target. Transcoding should be treated as something the Plex server does elsewhere, not something this little front end should be asked to solve.

Build Recommendations

The most balanced build is a Raspberry Pi 4B, official-quality power supply, wired Ethernet, and either USB storage or a network share. That gives enough CPU and I/O margin to keep the interface responsive while MPV handles playback. If the goal is pure CRT nostalgia with mostly SD files, a Pi 3B+ is still interesting because the workload is modest and the board fits the spirit of the project.

For CRT use, decide the signal chain before installing. Composite output is the charm point, but it also adds the most failure points: cable pinout, config.txt, overscan, TV input behavior, and power noise. HDMI is the practical fallback and the better option if you want to test the software quickly before hunting down a working CRT.

For Plex users, 240-MP makes the most sense as a direct-play endpoint. Keep a library profile for this box: H.264 video, sane bitrates, stereo or basic surround audio, and subtitle formats MPV handles cleanly. If your Plex library is mostly 4K HDR HEVC remuxes, this is the wrong endpoint unless your server is doing the heavy lifting and you accept the mismatch between source quality and retro display.

The future module list is also interesting. Caccese has mentioned possible support for Jellyfin and RetroArch. Jellyfin support would matter for self-hosters who want an open media server stack, while RetroArch would turn the same Pi and CRT into a broader retro box. That combination makes sense: a low-resolution display, simple controller input, and files served from a homelab are already the ingredients for both media playback and emulation.

My recommended build order is simple. First, make MPV playback work on the Pi over HDMI with a small local test folder. Second, add your real storage path or Plex library. Third, switch to composite only after the software path is known-good. Fourth, measure playback stats and wall power for a full episode or movie, because short tests miss thermal throttling, USB drive dropouts, and subtitle problems.

240-MP is a small project with a very specific taste, but the engineering idea is sound. Use a cheap single-board computer, avoid a heavy graphical shell, let MPV do the playback work, and tune the output for the display instead of pretending every file belongs on a 4K panel. For the right library, especially old TV captures and 4:3 material, that is not regression. It is matching the machine to the media.

Comments

Loading comments...