ATV generator

For Amateur Television I was looking for a simple and standalone video generator that could do the following:

  • Show predefined pictures in graphic format ( .jpg )
  • Play movies (in mpeg format)
  • Play sound (MP3 or WAV format)
  • Simple to use
  • Network capable (uploading pictures)
  • PAL output
Front view of RPI-ATV


For all of above items I decided to use the RaspBerryPi because of its simplicity and price, programming is done using python. Script can be improved a lot, I’m not a professional programmer and this is the first time I’ve used python. If you decide to change/rewrite or improve my script, please send me an email : pa3bwe at amsat dot org

SAM_0302 Wire added to the backside of the board because I didn’t want to add extra connecters internally.

Raspberry PI board mounted inside a aluminum box
Inside view towards front panel


Front panel view of 1st revision
Front panel detail of 2nd revision, now includes toggle switch to scroll to available pictures without using keyboard.
Backside of generator, has only DC input connector

SAM_0321  SAM_0324  SAM_0325

Some testpictures which are stored internally.

Semi static picture: colors will change randomly!

Software used/installed :

  • Install latest software for RaspBerry PI (check RPI website)
  • Install python-pygame to create graphics
  • Install samba for networking with Windows
  • Install RPi-GPIO for external switches to scroll through images (2 ground closures on pin 24 and 26)
  • Python (comes with unix distribution)
  • Script to display pictures (, install in /home/pi/atv
  • Copy images in /home/pi/atv/images using imageX.jpg format (image1.jpg to image25.jpg)
  • Copy sound file in /home/pi/atv/sounds (default soundfile is sound.wav)
  • Keys for ATV script :
    • I: toggle internal generated picture (default on)
    • R: toggle random picture mode (default off)
    • S: toggle sound on/off (default on)
    • T: toggle floating text on display (default off)
    • Q or ESC to end program
    • F1-F12 selects user-defined images (image1.jpg to image12.jpg)
  • Adjust /boot/config.txt to force RCA output to PAL or NTSC an optional change overscan parameters


  • Use pictures scaled to 768 x 576 (tnx to Dick, G4BBH)
  • Editing of software is done over SSH from a Windows PC, makes live much easier…
  • Start script with root privileges (sudo python to overcome rights with GPIO library

Things to change/add to the python script:

  • Add sound output (added in
  • Add toggle switches to scroll through pictures the simple way (added in
  • Add function to play mpeg movies
  • Add menu to display choices
  • Rewrite the software, can be much better/nicer (I’m not a programmer but a simple hacker….)

Things needed:

  • Time to do all this ….