December 26th 2018, that’s when the Signals Everywhere community and Myself decided to start working on a project we called “Pi25”. The idea was simple, take off the shelf hardware and use it to create the first open source portable digital radio scanner!
Well, while simple in concept actually getting the parts we needed, learning hardware and software as well as having the funds to buy hardware to work with slowed us down. I had started doing some basic 3D modeling to get an idea of where the project might be headed.
By March of 2019 I had finally started working on getting data from OP25 to display on an OLED screen.
That’s about where the development ended until January.
See there were two designs for the Pi25 project, the first was a hand-held portable unit designed specifically to replace your traditional portable scanner.
The second was intended to be a mobile scanner that you would use in your vehicle.
This is the point in the project where I started making some big changes. I went from attempting to re-design the horrid web-ui with another horrid web-ui to writing my own UI in python. The idea here was that the Rasberry Pi would run not only the OP25 software but also the display. It went through several variations from here.
This was the point in my project that I realized I could begin to add my own features on top of OP25, this didn’t have to be just some passive overlay to the WebUI provided with the software, this could manipulate the OP25 instance to do things nothing publicly available could do!
With the new remote application on the Raspberry Pi with the OP25 instance I could now start doing things like importing Radio Reference data and implementing my own modes of functionality.
I added night-mode functionality that would auto-switch depending on the time, an alert window which would read a file and provide you with an audible, visual and logged alert when that talkgroup was heard.
After suggested by a viewer I began working on the scan grid. This feature was completed on January 20th and would allow you to create a grid of buttons to enable/disable the scanning of talk groups on the fly. This meant that you could easily modify your scanlist without having to sit in a text editor or go through a bunch of menus when you’re on the go.
By the end of the month this revision was nearly completed and I had successfully tested automatic site-switching which allows you to drive through an area and have OP25 automatically switch sites based on your location in relation to the known tower location we grabbed from our radio reference import.
The only downside to what appeared to be a very successful software release was that the application ran poorly on the python interpreters available for Android and it was very limited when it came to grabbing system calls (or using an actual cell-phone gps and not just the usb model I had).
This meant that once again I was going to have to re-write this thing in order to make it useful as a mobile control head. The fact that I would deploy to android and potentially iOS also meant that nearly any mobile device could become the GPS unit and the touchscreen display for the control head.
Finally at the end of March I have an APK compiled and running on my phone!
There is so much that went into learning how Kivy works to get this moving, not to mention manipulating OP25.
I have a heck of a lot more left to implement, design and re-design but I hope one day I’ll have this sitting in my car replacing the $1000+ scanner and put it up on the app store so others can do the same.
Below is the current state of the App, to be released once I hit Stable Alpha 1.0