Mumbling about computers

Revamping an old tv as a gift


This entry is a summary of what I built for my dad's 50th birthday, in 2017.

The plan was to get a vintage TV to play some shows from the 70s-80s, and operation should be seamless.

The sacrificial lamb, found in the flea market:

The tiny sticker says "It works"

With the lid off

The tuner

The attack plan:

Getting the raspberry pi to output video to the TV

Because the raspberry only outputs composite video, I needed a 'composite RF modulator' that'd convert the signal to a format that this TV can display.

These modulators output different channels at different frequencies.

These frequencies are what you 'tune' to by rotating the tuner's knob ( learn more about tuners here ). I left the tv tuner in a fixed channel, the same as what the modulator outputs.

Let there be video!

Software-based channels

With the Pi's output being displayed on the TV the next step was to get back the functionality of being able to rotate the knob to change channels.
I did this with software-based channels, controlled by a multi-polar rotary switch.

Switch connected to GPIO

Powering the pi and modulator inside the TV

The raspberry pi needs a 5v power source, and the RF modulator needed 9v.
I found a 12v rail and mounted an LM7809 and LM7805 to obtain the needed voltages inside the TV.

LM7809 and LM7805 placed using part of the TV as a heatsink


Initially, the idea was to have a large set of shows/chapters (and advertisements) per channel, and pick from them randomly.

I had just recently started to get familiar with gstreamer and could not get my player to continuously play seamlessly -- either changing pads or containers or something else would always make it get stuck after a while.

I opted to go with a massive hack: each channel is a single 8-hours long video, with the advertisements baked in.

On poweroff, the timestamp of the nearest keyframe is saved and on power-on, playback resumes from there.

When a video reaches the end of playback, it will start again from the beginning.

The code can be found here , but be warned, it is very bad.

First time I got it working -- the black spots are an artifact my phone's recording..

Final version


I also made a fake parcel-tracking website that'd display the status of the package.


This guy made me think about this in the first place. Our approaches are quite different, as I wanted to have the TV be 'stand alone'.