This is a Guide on how to update and program Radioshack PRO 164 and similar scanners with a Raspberry Pi. From what I've read on RR the PC/IF port on RadioShack scanners up to the PRO92 model use 5V while all the Scanners after the PRO92 use 3.3V. Ive seen guides on RR that show how to create your own DIY PC/IF cables using arduinos, however many arduinos have a Serial output of 5v without a regulator. The Raspberry Pis have a serial interface that uses 3.3v, just what we'll need. I figured out how to get this to work with an ODROID-C2 and a Raspberry Pi 2 and in my opinion instead of buying the cable for 30 bucks you can buy a raspberry pi and get way more functionality out of it than a cord you'll rarely use. The whole process will take about 1 1/2 hours to complete but a majority of that time is waiting
for your Raspberry Pi to install the software. I have made this guide as descriptive and simple as possible to help out anyone who may not be as tech savy as others. Keep in mind that this is only for Scanners that use a serial interface of 3.3V. Before doing these steps confirm that your radio is supported.
WHAT YOU WILL NEED:
Hardware Requirements
- 3.5mm auxillary cord
- 3.5mm female headphone jack
- Any Raspberry pi or any SMB that runs a debian based OS
- wire
- solder & soldering Iron
- breadboard jumper cables : https://www.amazon.ca/gp/product/B086MVXPVY?psc=1
I picked up a 3.5mm female headphone jack for 1$ and soldered 3 wires to it and used 3
female socket breadboard jumper wires to connect to the GPIO Pins on the Raspberry Pi.
I then clamped my breadboard cable to the wires on the headphone jack.
I would not recommend trying to use a old set of headphones or auxillary cord, the wires
inside of them are far too thin to work with. You can get a female headphone jack out of any old device.
You do not need the breadboard jumper wires, you really just need each wire comming off of the
headphone jack to be connected to each the requrired GPIO pins. If you do decide to directly
connect to the GPIO pins, inulate the wires so that they do not short out on any other Pins.
GPIO Pins
Your Raspberry Pi has a GPIO Header that we will use to connect the Scanner.
DO NOT CONFUSE THE PIN NAMES WITH THE PIN # WE ARE USING THE PINS # 6 8 10
The GPIO Pins we will use are
Pin 6 Ground
Pin 8 TXD0 GPIO 14
Pin 10 RXD0 GPIO 15
The 3.5mm Female Jack has 3 wires you will need to connect to GRND, RX, TX
- GRND Pin attaches to the sleeve wire
- RX Connects to the Tip wire
- TX Connects to the Ring wire.
When I was testing this out, the 3.5mm jack was hard to identify which solder point was GRND, RING, SLEEVE
So I tested each wire in different combination with the breadboard cables attached to my RPI until my COM port was active.
Doing this will not damage your boardi. I would recommend using the breadboard cables because you only need to solder
pieces of wire to the headphone jack and then clamp the breadboard cables to the headphone jack wires.
Software Requirements
-A copy of your radios firmware update file
-If you are looking to program your scanner also grab a copy of your scanners programming software here
Radio Shack Programming Software Free Trial - The RadioReference Wiki
In my case with the PRO164 I used ARC300
-Raspian for Raspberry Pi or Armbian for non Rpi Devices
-If you are using Windows to create the SD card image use Win32 disk imager
How to Install Raspberry Pi OS to SD Card from Windows 10 (Method 2)
-You will need a web browser and desktop enviroment installed on the Raspi or Armbian device.
It will be up to you to figure that out before hand, it is very easy.
Google "Raspberry Pi desktop setup" for help
Also you will have to use the terminal, really you just need to have one open to copy and paste
commands into.
-EXTREMELY IMPORTANT : Enable UART to allow the Raspberry Pi to interface with the Scanner
Once your Pi's environment is setup you can begin setting up wine and Exagear
ALL OF THE INSTALLATION STEPS BELOW ARE TO BE DONE ON THE RASPBERRY PI.
Any command that you will need to copy and paste will be on a single line preceded by COMMAND :
EXAGEAR INSTALLATION
- Download Exagear, DSound, and Guest Image(Debian 9) that correspond to your Raspberry Pi Version
( If you are using a different type of board, as long as you are using a debian based operating system
like armbian they will probably work aswell. )
Once all of the files are downloaded to the same folder either navigate to the folder with your terminal or
open Raspian File manager, navigate to the download folder and press F4 to open a terminal in the folders path.
Copy and paste the following commands into your terminal one at a time, do not include COMMAND :
COMMAND : sudo apt-get update
COMMAND : sudo apt-get install -y bash coreutils findutils curl binfmt-support cron
COMMAND : sudo dpkg -i exagear*3428*.deb
COMMAND : sudo dpkg -i exagear-dsound*.deb
COMMAND : sudo dpkg -i exagear-guest*.deb
COMMAND : curl https://dl.insrt.uk/mirror/exagear/patch.sh | sudo bash
INSTALLING WINE IN EXAGEAR
Now that Exagear is installed we will install wine. YOU HAVE TO RUN EXAGEAR FIRST BEFORE YOU INSTALL WINE OR TO USE
WINE AT ALL. IF YOU DON'T RUN EXAGEAR FIRST WINE WILL NOT RUN.
DO NOT INSTALL WINE USING APT IN RASPIAN IF YOU HAVE NOT RUN EXAGEAR FIRST.
Exagear will create an emulated environment that will allow you to run x86 windows software. It includes a wine package of
its own. It is not the same wine package that you would traditionally install from the command line on a Raspberry pi.
You should be the root user when installing packages and updates in Exagear, you do not need to be root user when
using applications installed with wine.
Copy and paste each line below into your terminal. Let each command run and press the Y key for any prompt you receive.
Installing wine will take at least an hour install so do not reset or cancel out if you think the device is hanging.
I repeat, this is going to take at least 45 minutes to complete.
COMMAND : sudo su
COMMAND : exagear
COMMAND : apt update && apt upgrade -y
COMMAND : apt install -y --force-yes wine winbind libgnutls28-dev
When that completes type the following command into terminal
COMMAND : exit
SETUP COM PORT
Once Wine installation is complete check which tty your Serial device was assigned in /dev
COMMAND : ls /dev
Look for ttyAMA* (* being any number)
That is the serial port that was enabled earlier using raspi-config.
It will Interface with the scanner using the GPIO pins.
If there are multiple ttyAMA* it would be best to make a com port
for each of them so that you can quickly test to see which one works
later on. So basically make a registry key and run the ln command
for each ttyAMA* device that you see in /dev.
Next we need to edit the registry keys for our Wine Installation
COMMAND : exagear
COMMAND : WINEPREFIX=~/.wine regedit
Navigate to HKEY_LOCAL_MACHINE\Software\Wine\Ports
Right click in the right window pane > click New > click String Value
Name entry COM1 > Right Click the new key you created and Modify > add value of /dev/ttyAMA* (* BEING THE ttyAMA NUMBER YOU FOUND ABOVE) > close regedit
COMMAND : wineserver -k
COMMAND : sudo usermod -a -G dialout yourusername
This should be all that you have to do, however on my second installation I had issues getting the COM device detected while update firmware,
I did these additional steps below. If you click the Test button during and you instantly get an error saying your com port cant be opened,
wine com ports aren't setup properly. This step is tricky.
COMMAND : rm ~/.wine/dosdevices/com1
COMMAND : rm ~/.wine/dosdevices/com2
copy and paste this command into the terminal. CHANGE /dev/ttyAMA TO INCLUDE AMA NUMBER YOU CONFIGURED ABOVE. Do this for each COM device you created
COMMAND : ln -s /dev/ttyAMA ~/.wine/dosdevices/com1
Some people might have issues with this so heres some resources to help you out if you need it.
UPDATING YOUR SCANNER
Ok now its time to update your Scanner
I have a PRO164 that I needed to update from FW 1.0 TO FW 1.10
I used this firmware : Downloads / Radio Shack / Pro-163 Pro-164 v 1.10 v1.10 - W2LIE.net | Monitor Long Island, Inc.
Downloads your scanners firmware into your Raspberry Pis Downloads folder
in a terminal navigate to your downloads folder and type this command.
Make sure that you are still in your exagear enviroment by typing arch
into the command line. It should say i386 if you are in your exagear enviroment.
If arch does not output i386 run exagear first before running wine.
COMMAND : arch
COMMAND : wine thenameofyourfirmwarefiles.exe
Connect your headphone jacks 3 wires to GPIO Pins 6 8 10 . Plug a 3.5mm auxillary cord into your Radio's PC/IF port
and then plug the other end into your 3.5mm female headphone jack. The firmware software will allow you to test your COM PORTS
Test each of the COM Ports that you created. You need to find the COM port that is attached to your Scanner.
If all of the COM ports you created and enabled give you the error : "Unable to open the port COM* ..."
Then the wine comport configuration is incorrect. Resort to the steps and resources
in the COM port section above to get the com port working properly. After making changes restart the device.
Don't give up it will eventually work.
If it gives you the error : "No data from scanner..." then the wiring to the headphone jack is incorrect or you forgot to
hold the PGM button when starting the device to enter PC/IF FW update mode.
Try switching the RX and TX wires and test again. The breadboard wires make this a quick thing to do.
Once the test passes press the update button and to update your radio.
Congrats your radio is updated and you saved yourself some money. Knew you could do it.
Programming Your Radio
To install arc download the installation file from here
Make sure you are still in your exagear environment with the arch command before you run it.
COMMAND : wine yourarcsetupfile.exe
The installation will take place
When it prompts you to install mono press Install
When it prompts you to install gecko press Install
Once the installation is complete the program will be located in /home/username/.wine/drive_c/'Program Files'/'Scanner Software'/
I've programmed my Radio with ARC300 and it and it works great. It does crash sometimes after starting
but its within a few seconds after the splash sceen ends. If it doesn't crash after the first minute its fine.
If you have any problems with uploading or downloading from your scanner make sure that your have
selected the right scanner model at the upload or download screen. My PRO164 worked with the
"GRE 300/400 Firmware or later" setting.
Thats it. I don't think I forgot anything and I'm certain it works. I spent a long enough time troubleshooting and retrofitting
this project that it was worth the write up. Hope this helps someone and have fun.
for your Raspberry Pi to install the software. I have made this guide as descriptive and simple as possible to help out anyone who may not be as tech savy as others. Keep in mind that this is only for Scanners that use a serial interface of 3.3V. Before doing these steps confirm that your radio is supported.
WHAT YOU WILL NEED:
Hardware Requirements
- 3.5mm auxillary cord
- 3.5mm female headphone jack
- Any Raspberry pi or any SMB that runs a debian based OS
- wire
- solder & soldering Iron
- breadboard jumper cables : https://www.amazon.ca/gp/product/B086MVXPVY?psc=1
I picked up a 3.5mm female headphone jack for 1$ and soldered 3 wires to it and used 3
female socket breadboard jumper wires to connect to the GPIO Pins on the Raspberry Pi.
I then clamped my breadboard cable to the wires on the headphone jack.
I would not recommend trying to use a old set of headphones or auxillary cord, the wires
inside of them are far too thin to work with. You can get a female headphone jack out of any old device.
You do not need the breadboard jumper wires, you really just need each wire comming off of the
headphone jack to be connected to each the requrired GPIO pins. If you do decide to directly
connect to the GPIO pins, inulate the wires so that they do not short out on any other Pins.
GPIO Pins
Your Raspberry Pi has a GPIO Header that we will use to connect the Scanner.
DO NOT CONFUSE THE PIN NAMES WITH THE PIN # WE ARE USING THE PINS # 6 8 10
The GPIO Pins we will use are
Pin 6 Ground
Pin 8 TXD0 GPIO 14
Pin 10 RXD0 GPIO 15
The 3.5mm Female Jack has 3 wires you will need to connect to GRND, RX, TX
- GRND Pin attaches to the sleeve wire
- RX Connects to the Tip wire
- TX Connects to the Ring wire.
When I was testing this out, the 3.5mm jack was hard to identify which solder point was GRND, RING, SLEEVE
So I tested each wire in different combination with the breadboard cables attached to my RPI until my COM port was active.
Doing this will not damage your boardi. I would recommend using the breadboard cables because you only need to solder
pieces of wire to the headphone jack and then clamp the breadboard cables to the headphone jack wires.
Software Requirements
-A copy of your radios firmware update file
-If you are looking to program your scanner also grab a copy of your scanners programming software here
Radio Shack Programming Software Free Trial - The RadioReference Wiki
In my case with the PRO164 I used ARC300
-Raspian for Raspberry Pi or Armbian for non Rpi Devices
RaspbianImages - Raspbian
www.raspbian.org
-If you are using Windows to create the SD card image use Win32 disk imager
How to Install Raspberry Pi OS to SD Card from Windows 10 (Method 2)
-You will need a web browser and desktop enviroment installed on the Raspi or Armbian device.
It will be up to you to figure that out before hand, it is very easy.
Google "Raspberry Pi desktop setup" for help
Also you will have to use the terminal, really you just need to have one open to copy and paste
commands into.
-EXTREMELY IMPORTANT : Enable UART to allow the Raspberry Pi to interface with the Scanner
Adafruit's Raspberry Pi Lesson 5. Using a Console Cable
In this lesson, you will learn how to remote control your Raspberry Pi with a console cable.
learn.adafruit.com
Once your Pi's environment is setup you can begin setting up wine and Exagear
ALL OF THE INSTALLATION STEPS BELOW ARE TO BE DONE ON THE RASPBERRY PI.
Any command that you will need to copy and paste will be on a single line preceded by COMMAND :
EXAGEAR INSTALLATION
- Download Exagear, DSound, and Guest Image(Debian 9) that correspond to your Raspberry Pi Version
( If you are using a different type of board, as long as you are using a debian based operating system
like armbian they will probably work aswell. )
Once all of the files are downloaded to the same folder either navigate to the folder with your terminal or
open Raspian File manager, navigate to the download folder and press F4 to open a terminal in the folders path.
Copy and paste the following commands into your terminal one at a time, do not include COMMAND :
COMMAND : sudo apt-get update
COMMAND : sudo apt-get install -y bash coreutils findutils curl binfmt-support cron
COMMAND : sudo dpkg -i exagear*3428*.deb
COMMAND : sudo dpkg -i exagear-dsound*.deb
COMMAND : sudo dpkg -i exagear-guest*.deb
COMMAND : curl https://dl.insrt.uk/mirror/exagear/patch.sh | sudo bash
INSTALLING WINE IN EXAGEAR
Now that Exagear is installed we will install wine. YOU HAVE TO RUN EXAGEAR FIRST BEFORE YOU INSTALL WINE OR TO USE
WINE AT ALL. IF YOU DON'T RUN EXAGEAR FIRST WINE WILL NOT RUN.
DO NOT INSTALL WINE USING APT IN RASPIAN IF YOU HAVE NOT RUN EXAGEAR FIRST.
Exagear will create an emulated environment that will allow you to run x86 windows software. It includes a wine package of
its own. It is not the same wine package that you would traditionally install from the command line on a Raspberry pi.
You should be the root user when installing packages and updates in Exagear, you do not need to be root user when
using applications installed with wine.
Copy and paste each line below into your terminal. Let each command run and press the Y key for any prompt you receive.
Installing wine will take at least an hour install so do not reset or cancel out if you think the device is hanging.
I repeat, this is going to take at least 45 minutes to complete.
COMMAND : sudo su
COMMAND : exagear
COMMAND : apt update && apt upgrade -y
COMMAND : apt install -y --force-yes wine winbind libgnutls28-dev
When that completes type the following command into terminal
COMMAND : exit
SETUP COM PORT
Once Wine installation is complete check which tty your Serial device was assigned in /dev
COMMAND : ls /dev
Look for ttyAMA* (* being any number)
That is the serial port that was enabled earlier using raspi-config.
It will Interface with the scanner using the GPIO pins.
If there are multiple ttyAMA* it would be best to make a com port
for each of them so that you can quickly test to see which one works
later on. So basically make a registry key and run the ln command
for each ttyAMA* device that you see in /dev.
Next we need to edit the registry keys for our Wine Installation
COMMAND : exagear
COMMAND : WINEPREFIX=~/.wine regedit
Navigate to HKEY_LOCAL_MACHINE\Software\Wine\Ports
Right click in the right window pane > click New > click String Value
Name entry COM1 > Right Click the new key you created and Modify > add value of /dev/ttyAMA* (* BEING THE ttyAMA NUMBER YOU FOUND ABOVE) > close regedit
COMMAND : wineserver -k
COMMAND : sudo usermod -a -G dialout yourusername
This should be all that you have to do, however on my second installation I had issues getting the COM device detected while update firmware,
I did these additional steps below. If you click the Test button during and you instantly get an error saying your com port cant be opened,
wine com ports aren't setup properly. This step is tricky.
COMMAND : rm ~/.wine/dosdevices/com1
COMMAND : rm ~/.wine/dosdevices/com2
copy and paste this command into the terminal. CHANGE /dev/ttyAMA TO INCLUDE AMA NUMBER YOU CONFIGURED ABOVE. Do this for each COM device you created
COMMAND : ln -s /dev/ttyAMA ~/.wine/dosdevices/com1
Some people might have issues with this so heres some resources to help you out if you need it.
Set up the serial port in Wine
How to configure serial ports in Wine Windows compatibility layer. Access hardware COM ports from Windows application running within Linux.
www.onetransistor.eu
Converting the /dev/ttyUSB to com port to use it with Wine in Linux
I have some software which runs on Windows. I installed Wine and ran it in Linux. It works fine but the issue is it communicates with a serial port. Therefore the only option I can choose are com1,...
superuser.com
Wine User's Guide - WineHQ Wiki
wiki.winehq.org
UPDATING YOUR SCANNER
Ok now its time to update your Scanner
I have a PRO164 that I needed to update from FW 1.0 TO FW 1.10
I used this firmware : Downloads / Radio Shack / Pro-163 Pro-164 v 1.10 v1.10 - W2LIE.net | Monitor Long Island, Inc.
Downloads your scanners firmware into your Raspberry Pis Downloads folder
in a terminal navigate to your downloads folder and type this command.
Make sure that you are still in your exagear enviroment by typing arch
into the command line. It should say i386 if you are in your exagear enviroment.
If arch does not output i386 run exagear first before running wine.
COMMAND : arch
COMMAND : wine thenameofyourfirmwarefiles.exe
Connect your headphone jacks 3 wires to GPIO Pins 6 8 10 . Plug a 3.5mm auxillary cord into your Radio's PC/IF port
and then plug the other end into your 3.5mm female headphone jack. The firmware software will allow you to test your COM PORTS
Test each of the COM Ports that you created. You need to find the COM port that is attached to your Scanner.
If all of the COM ports you created and enabled give you the error : "Unable to open the port COM* ..."
Then the wine comport configuration is incorrect. Resort to the steps and resources
in the COM port section above to get the com port working properly. After making changes restart the device.
Don't give up it will eventually work.
If it gives you the error : "No data from scanner..." then the wiring to the headphone jack is incorrect or you forgot to
hold the PGM button when starting the device to enter PC/IF FW update mode.
Try switching the RX and TX wires and test again. The breadboard wires make this a quick thing to do.
Once the test passes press the update button and to update your radio.
Congrats your radio is updated and you saved yourself some money. Knew you could do it.
Programming Your Radio
To install arc download the installation file from here
RadioShack Software for Police Scanner Radios | ScannerMaster.com
View all the RadioShack Software for Police Scanner Radios here and place your order online with us today!
www.radioreference.com
COMMAND : wine yourarcsetupfile.exe
The installation will take place
When it prompts you to install mono press Install
When it prompts you to install gecko press Install
Once the installation is complete the program will be located in /home/username/.wine/drive_c/'Program Files'/'Scanner Software'/
I've programmed my Radio with ARC300 and it and it works great. It does crash sometimes after starting
but its within a few seconds after the splash sceen ends. If it doesn't crash after the first minute its fine.
If you have any problems with uploading or downloading from your scanner make sure that your have
selected the right scanner model at the upload or download screen. My PRO164 worked with the
"GRE 300/400 Firmware or later" setting.
Thats it. I don't think I forgot anything and I'm certain it works. I spent a long enough time troubleshooting and retrofitting
this project that it was worth the write up. Hope this helps someone and have fun.
Last edited: