In this webcomic, French author Boulet describes an uchronic world where technology is stuck with French 70s/80s aesthetics. One of the panels shows a Minitel being used to download videos and record them on VHS tapes. I found this idea really neat, so I made a real life version that works with YouTube videos.

At startup, the user is greeted with a home screen and an input field where they can enter a search query. Pressing return makes the Minitel displays the top search results, allowing the user to select a video, and automatically downloads and records it on a VHS tape.

How it works

The system consists of a Minitel 1B, a Raspberry Pi 3, a VCR, and a few custom-made cables and circuits to make every device talk to each other.

The interface

The real mastermind

The system is based around a Raspberry Pi which does all the actual work. It can use serial communication to talk to the Minitel, but since the later can drive the communication lines to 15V (which is too high for the Pi), we need a logic level shifter.

Level shifter for the Raspberry Pi

Borrowing from Pila’s work, I made a custom PCB that fits on top of the Pi’s GPIO headers. Since the Minitel also provides a 8.5V supply, I added a 5V DC/DC converter to power the Pi directly from the DIN-5 port.

With this setup, we can send data to the Minitel and display some text on-screen. And since the connection is bidirectional, it can also be used to detect key presses.

This is nice, but what about displaying images ? Reading through the technical specifications for the Minitel 1B, we find an alternative set of symbols that can be tiled to draw a picture.

I wrote a script that uses this character set to convert an image file into a string of bytes. Changing the foreground and background colors allows us to draw images using eight shades of gray.

Recording the video

Along with sending things to print on screen, the Python script running on the Raspberry Pi also does the following:

The third step is not as straightforward as the first two. Since the VCR only deals with analog inputs, I had to use the Pi’s composite video output. This required a 4-pole jack to RCA adapter, which I built by splicing together a cheap headset and an audio cable.

This allows me to send a video signal simply by playing the video in VLC.

Finally, I needed a way to start and stop the VCR. At first, I thought about soldering jumper cables to the front panel buttons, but seeing the intricate mechanism inside made me change my mind.

Yeah… I’m not taking this apart

Instead, I decided to emulate the VCR’s remote using LIRC. I whipped up a simple IR transmitter using the schematics from this guide and taped it on the VCR.

This simple solution worked perfectly (which makes me wonder why I thought about opening the VCR in the first place). I might use this little transmitter for other projects involving IR communication.


As you might expect, the video quality is not really on par with today’s standards. But this project is less about being practical, and more about making something that seems to come from an alternate timeline, which I think it does.

Also, although this is not my first Minitel project, it was my first time designing an actual user interface for it. The resulting code is not very elegant, albeit functional. Eventually, I would like to come back and turn it into a reusable Python module, but this is out of the scope of this project.

All in all, I am very happy with the result. I wanted to make this since I first read Boulet’s comic (which is more than a decade ago), and I am glad I finally took the time to bring it to life.

As always, the source code for this project is available on GitHub.