Get Latest CSE Projects in your Email

Raspberry Pi Radio Scanner Control Web Application


In this senior project I design and develop software for the Raspberry Pi which allows the user to listen to and control a scanner radio anywhere in their home. The solution involves utilizing a Raspberry Pi 2 interfaced with the radio, a software package to communicate directly with the radio, and a web app hosting a web client providing the interface for user control. Audio streaming is achieved through the use of FFmpeg. Listening on the client is achieved by using an external software such as Video Lan (VLC) to open the audio stream. We provide an operable proof-of-concept with less than 1-second of latency.


Figure 1: High Level Hardware Overview

Figure 1: High Level Hardware Overview

The hardware used for this project includes: a radio scanner, Raspberry Pi 2 and a USB sound adapter. As shown in figure 1, the Raspberry Pi is connected to the local area network via the on board Ethernet and to the scanner via an USB cable. The USB sound card is connected to the Raspberry Pi to allow for capture of audio. The external speaker port of the scanner is connected to the microphone on the sound card via 3.5mm cable.


We considered various operating systems for the Raspberry Pi including: Raspberian, Ubuntu, Ubuntu Snappy, and Windows IoT. We choose a community supported image of Ubuntu 14.04 for compatibility with existing software packages and user familiarity. You can read more about available operating systems in Appendix C.

Figure 2: Software Overview

Figure 2: Software Overview

In this project we design software to provide remote control of the scanner and allow for configuration of an audio stream. As shown in figure 2, the solution is broken into several parts: a ‘scanner controller’, the web application, and the client web page and JavaScript.


Many Improvements could be made to this project. Currently, it contains several shortcomings that should be addressed. The most pressing of which is the current method of refreshing the display in the client. Currently, this is achieved through a recursive JavaScript function, as discussed in the client side software section. This is an issue because if a second client connects, it will double the amount of commands the controller sends to the scanner. As more clients connect, this can cause congestion of the USB medium.


This project enables scanner listeners to improve their listening experience by removing the physical limitation usually associated scanning. It provides remote scanner control and audio streaming with low latency. It is designed to allow improvement and expand ability and is usable from desktop and mobile clients.

Source: California Polytechnic State University
Author: Jackson Marshall Strand

Download Project

For Free CSE Project Downloads:

Enter your email address:
( Its Free 100% )

Leave a Comment

Your email address will not be published. Required fields are marked *