Slow Scan Television Camera with the Raspberry Pi

Ham radio operators use their radio equipment and computers to send and receive pictures over wireless. Earlier, most images sent through voice transceivers were low resolution black and white. However, with improvement in technology, nearly all images are of higher resolution and in color. The technique for sending and receiving pictures over radio is called Slow Scan TV. All that is required is a VHF scanner, a computer and a camera. This project replaces the computer with a Raspberry Pi or RBPi, the tiny credit card sized single board computer.

The RBPi with the PiCam forms a wireless camera for transmitting images over very long distances such as tens of kilometers. Finally, the images will be transmitted by ham or amateur radio equipment that uses slow scan television or SSTV over the 2m band (144.5MHz). Here, the RBPi is capable of generating the HF FM signals, and no additional electronics is needed for transmissions at low power. However, with a low pass filter and a single or a two-transistor amplifier, a more powerful transmission can be achieved.

Greater distance coverage is the main advantage of using SSTV over Wi-Fi for transmitting pictures. Using the RBPi as a wireless security camera, you can transmit pictures to distances far beyond the range normally covered by Wi-Fi networks. One of the main requirements is you will need a ham-radio license for using this application.

For transmitting a picture, you will first need to capture it using the PiCam. The program that RBPi uses to do this is named as rapistill. Once the image is captured, it has to be converted to a SSTV sound file. Although there is a program called PySSTV, the conversion rate is very slow and it may take several minutes for converting a single image. However, a simple program implemented in C – PiFm – works very well. The program allows setting the audio sample rate from the command line and converts the picture to an SSTV sound file in just under four seconds.

Although it is customary to transmit the sound file over a radio transmitter, it is much more fun to allow the RBPi to generate its own high frequency signal. Following the Wiki of the Imperial College Robotics, you can turn your RBPi into an FM transmitter. Their code used DMA, but the bandwidth used is very high and the timing for SSTV is not accurate.

In PiFm, bandwidth reduction is very simple. Usually, for FM, the bandwidth is set with the modulation index. This index is the volume of the audio signal modulating the HF carrier. Timing is very essential for SSTV, as a small change in the sampling rate results in slanted images. The timing correction, in the form of a constant, can be set from the command line.

Another requirement when using ham radio for transmitting SSTV signals is that you are required to transmit your call sign in every transmission. This information has to be added to the picture and the RBPi uses imagick from the python image library to accomplish this. Whenever something interesting happens in front of the camera, the RBPi captures the image and sends it over wireless.