OP25 Mobile radio scanner based on OP25

MTL_Emergencies

Member++
Database Admin
Joined
Sep 6, 2019
Messages
122
Location
Quebec, Canada
I recently built a mobile radio scanner to monitor P25 trunk communication systems based on OP25 (Boatbod).
I have been working on the project for 3 years and am finally happy to say that it's done!

I am using a NooElec SMArt v3 dongle as hardware, Raspberry Pi 3B for signal processing, 3.5" touch screen for display, power button (with script to safely shutdown/turn on RPi), 15w audio amp for sound (added also a DC-DC converter to isolate ground potentials), 12v input source (to feed audio amp and buck converter 12v --> 5v for RPi). The case is 3D printed with black PLA)

Next steps would be to properly shield the device against EMI and create a startup script (with GUI) to select which systems I want to monitor.

I recently did an interview for the Scanner School podcast where we discussed in detail every aspect of the build. The episode should be coming out soon.

Video: Scanner Demo (communications are in French)
 

Attachments

  • IMG_2781-min.JPG
    IMG_2781-min.JPG
    90.3 KB · Views: 187
  • IMG_2782-min.JPG
    IMG_2782-min.JPG
    73.2 KB · Views: 192
  • IMG_2783-min.JPG
    IMG_2783-min.JPG
    73.1 KB · Views: 180

nick0909

Antenna flicker
Feed Provider
Joined
Jan 4, 2003
Messages
138
This is awesome. What does the screen look like when it is in use/how much info can it display? I have been considering adding little screens to some of my Pi projects.
 

MTL_Emergencies

Member++
Database Admin
Joined
Sep 6, 2019
Messages
122
Location
Quebec, Canada
This is awesome. What does the screen look like when it is in use/how much info can it display?
It displays OP25's web interface that I adapted to a 3.5" screen. Check out the demo for a live view:

Did the top plate warp because of the heat?
No, bad design from me (the cables from the Pi to the screen make this bump on the case).
It doesn't heat up a lot actually (30-35°C). PLA needs higher temperatures to be able to bend.
 

WB0VHB

Member
Joined
Oct 30, 2009
Messages
160
Location
Mt. Union, Iowa
Nice job! I'll be interested to see how the NooElec dongle handles cold mobile conditions this winter. I figured frequency stability would be a real issue until the vehicle interior warmed up. Keep us posted!
 

maus92

Member
Premium Subscriber
Joined
Jun 23, 2004
Messages
8,041
Location
The OP
Nice job! I'll be interested to see how the NooElec dongle handles cold mobile conditions this winter. I figured frequency stability would be a real issue until the vehicle interior warmed up. Keep us posted!
It will need to warm up if it's been cold soaked.
 

MTL_Emergencies

Member++
Database Admin
Joined
Sep 6, 2019
Messages
122
Location
Quebec, Canada
I'll be interested to see how the NooElec dongle handles cold mobile conditions this winter. I figured frequency stability would be a real issue until the vehicle interior warmed up.
I haven't thought about it actually. I believe if the dongle is cold enough (below 10°C for example) there may be a frequency deviation. I'll do some testing in this scope to see how it affects the scanner's performance. However, it shouldn't take long to warm up since it's next to the RPi which heats up well (30-35°C).

Awesome job. I have some pi's laying around and a few old computer speakers and plexiglass. You gave me some ideas. Can't wait for the Scanner School video podcast.
Thanks Fuzz! I'll be waiting for your video on the subject. Message me if you want any additional info on the project!
 

k7xta

KE7CYT
Premium Subscriber
Joined
Oct 10, 2005
Messages
12
Location
Tucson, AZ
I'm running OP25 on a Raspberry Pi 2 Model B. It was a 100% junkbox project - I didn't have high expectations. I was wrong; it works very well indeed though it lacks the refinements of the MTL_Emergencies rig. No dropouts and no overheating.
 

gegatesSC

Member
Premium Subscriber
Joined
Dec 25, 2022
Messages
9
Location
Murrells Inlet SC
I’m definitely planning to do something very similar. Instead of onboard audio I might hack the web interface to have a button to control external Bluetooth speaker/headphones. Haven’t cloned the repo but assuming the webserver is built around python?
 

MTL_Emergencies

Member++
Database Admin
Joined
Sep 6, 2019
Messages
122
Location
Quebec, Canada
You'll need to consider latency when using Bluetooth audio. Usually not a problem, but a delay would be noticeable when doing a side-by-side comparison with a scanner.
Haven’t cloned the repo but assuming the webserver is built around python?

Not sure what you mean when you say the webserver is built around python... It's using HTML/CSS & Javascript. OP25 is mainly written in Python & C++.
Here's the link for the web interface files: OP25 Boatbod web interface
Here's the link to my web interface: OP25 web interface [Joey Absi Fork]
 

gegatesSC

Member
Premium Subscriber
Joined
Dec 25, 2022
Messages
9
Location
Murrells Inlet SC
You'll need to consider latency when using Bluetooth audio. Usually not a problem, but a delay would be noticeable when doing a side-by-side comparison with a scanner.


Not sure what you mean when you say the webserver is built around python... It's using HTML/CSS & Javascript. OP25 is mainly written in Python & C++.
Here's the link for the web interface files: OP25 Boatbod web interface
Here's the link to my web interface: OP25 web interface [Joey Absi Fork]

Not too worried about the Bluetooth latency, won’t really be comparing it side by side to anything OTA.

I see the files for main.js etc. What I was trying to ascertain is the server that is running the files. Ie is it NGINX, nodejs, lighthttpd etc. Not a biggie, I’ll be able to figure that all out once I get it all installed. Point is, to do the Bluetooth pairing I’ll need to have server side code to discover Bluetooth speakers (could use in a car stereo etc), and client side code on the gui. This will need web sockets or Ajax most likely. I realize in this instance the client is running on the server. But I figured having everything in one gui in kiosk mode is cleanest. Certainly in v1 I won’t need that as I can discover everything from a cli and onscreen keyboard. I just want to make it easier for non technical people in the house if you get my drift :).
 
Top