Page 1 of 2

Boot Key Cruisers Net on the Net

Posted: Tue May 10, 2016 5:29 pm
by CapCouillon
Good Morning from Boot Key Harbor in Marathon Florida...


This thread is going to be an ongoing discussion of our project to get the daily Marine VHF "Boot Key Harbor Cruisers Net" up and available online. This initial post will discuss the background of the project, some technical details, and how we are (currently) planning to approach it. More posts will follow with current status, questions, and looking for help and or suggestions in dealing with the stumbling blocks we are sure to encounter. Please feel free to comment at your pleasure. Hopefully our experiences may be of help looking to do something similar elsewhere.


We are located just above the 7 Mile Bridge in the Florida Keys, and have a large "live-aboard" community here. Our numbers range from a hundred or so during the summer, up to 350+ boats in the height of the winter season. As a community we get together every morning on Marine VHF Channel 68 at 0900 local time for the Boot Key Harbor Cruisers Net. This controlled net is sort of like our local newspaper, where we share arrivals and departures, announcments of local events, general comments, questions, needing help, and so forth. While the net always starts promptly at 0900 365 days a year, its' length can vary from over an hour in the middle of the season, down to Charles (one of our net-controllers) record of 57 seconds last summer.

Unfortunately, if you don't happen to be on the boat or have a handheld with you when the net is on... too bad for you. Also some of our regular "snow birds" who return to paradise year after year would like to keep track of our version of How The Harbor Churns while they are back in their home ports for the summer. Talking with one of the other net-controllers we decided to think about putting the daily net up online. How hard could it be?

Some Technicalities, Goals, and Philosophy:

Net runs on Marine VHF Channel 68 (156.425Mhz Narrow Band FM)
Transmitter strength at participating stations 1W min 25W max
Area of the net coverage is around a 10 mile radius (max) Most stations within a 5 mile radius can participate even using a handheld radio, but reception of these stations can be spotty.

General philosophy is keep it simple stupid... Charles (the other guy who wants to see this fly) is a "tech-head" and has most every wifi device known to man. His idea is to use SDR-Touch to grab the net and stick it on an android device. Dump that to Twitter Periscope as a 'cast and there you go. Now this offends my sensibilities, my apparant need for control, and the Periscope stream dissapears after 24 hours. My thoughts on the issue are as follows, grab the vhf and demod it, convert to an mp3 file and archive it on a real server we control. Real-time is not critical, we have an archive copy, and I have a full time server available with the storage and bandwidth to work. Plus it is on a CDN and besides.... I need a hobby. So for now, thats the way we are gonna go. Android stream may follow.

Couple other considerations in this ball of worms. Power is an issue. Living out on the mooring ball my extension cord does not reach to shore. The batteries and the solar panels will keep up most of the time, but hours and hours on the laptop will put a dent in the system. Going to try to stick to native linux programs that are known to run on a Rasberry Pi 3. Headless, the pi uses almost nothing even running wide open. Which brings us to another question, what's gonna happen when I am not there to punch up the computer and get this system underway. I mean I am here most of the time, but the occasional out of town trip means that the system should start and stop on its own. Cron in linux makes the start simple, and some scripting should take care of pushing the recorded mp3 up to the server via SFTP but still not sure how to shut down the recording at the end of the net. Maybe no squeltch break for 45 sec or so? Remember the net starts at a fixed time, but isn't over till its over. Something to think about.

So the goal seems to be a linux based system up 24/7 but only records from 0858 till the net ends. Then squirts resulting mp3 file up to the net server which handles the heavy lifting of archiving, sorting, distributing, etc. Hope that if we can get this whole thing down to a small enough footprint (hardware) maybe the City Marina will let us hang it on their tower which would give us excellent coverage, a fat wifi connection for uploads and headless admin of the pi.

Been working on this for a bit and here is a basic status report. More detail to follow in next post. Ordered a RTL-SDR stick from which arrive soon after their end of April restock at Amazon. Got it with the generic telescope antennas (Hey its only $5 or so) and a SMA to UHF type F connector to hook up to an old VHF quarter wave whip I had onboard. Turns out the whip was bork, so ordered another which arrived today.

Installed GnuRadio Gqrx and updated RTL-SDR tools, all on an old IBM T-42 Using the telescoping antenna stretched out to about the right length, was able to follow most of the net via Gqrx which is easier than the planned rtl_fm demodulator as the waterfall and tuning is visual. Switched over to a local FM broadcast station for further experimentation as it has enough signal strength to overcome antenna shortfall. Set up rtl_fm piped to sox via the command line and was able to record a decent mp3 file. If new loaded whip antenna performs as hoped, will start using VHF channel WX2 as experimental base as it broadcasts 24/7 and has the same freq and demod characteristics as channel 68.

Next Post:

Next post we will update the status, performance of the new antenna, and details of the linux command line strings to invoke rtl-fm | sox output, and anything else we happen to remember.

Comments and questions encouraged.

Onboard S/V Solitaire
Boot Key Harbor

Boot Key Cruisers Net on the Net (post 2)

Posted: Wed May 11, 2016 9:55 pm
by CapCouillon
Wed May 11, 2016

All righty then... Got the new antenna out and coupled it directly to the RTl dongle with an adapter to keep it away from the laptop and minimize signal loss in a long coax run. Besides don't have the right adapter to hook up a male to male f connector cable. Plugged the dongle into a 15' usb cable and hoisted the whole mess up the flag halyard to about 15' above the waterline.

Plugged the other end of the usb cable into the old IBM T-42 which is running Navigatrix (Debian/Ubuntu 14.4 based distro) which has RTL-SDR (and associated command line tools) installed along with Gnu-Radio and Gqrx. Fired up Gqrx (graphical interphase) and tuned in Noaa WXJ95 on 162.4M as NarrowBand FM. This is the local VHF weather station located about 35 miles away outputting 1kW 24/7. Net-control on the cruisers net this morning and couldn't juggle well enough to run the net and ck the stream on 156.425M at the same time. Will tune there tomorrow.

Anyway, the sound and signal in Gqrx looked good, so modified our command line calls for rtl-fm (a command line demodulaor included with RTL-SDR) and sox (the swiss army knife of sound processors included in most linux distros). The command line to play the received rf as straight audio follows:

Code: Select all

rtl_fm -f 162.4M -M fm -s 170k -A fast -r 32k -l 0 -E dc  | play -r 32k -t raw -e s -b 16 -c 1 -V1 -
The rtl_fm switches are as follows:
'-f ...' indicated the frequency to tune to
-M fm means narrowband FM
-s 170k means to sample the radio at 170k/sec
-A fast uses a fast polynominal approximation of arctangent
-r 32k means to lowpass/resample at 32kHz
-l 0 disables squelch
-E deemp applies a dc filter

The "play" switches can be found at man play or man sox on any linux box or you can google it... For them not familiar with linux, the | "pipe" allows us to send output from one process directly to another. In this case it goes "tune to 162.4M, apply the appropriate filters, send the raw output to sox-play thence to the sound card".

In order to record our output as a compressed (mp3) file, the command line string is about the same, but we add the file name to the end as follows:

Code: Select all

rtl_fm -M wbfm -f 104.1M | sox -r 32k -t raw -e s -b 16 -c 1 -V1 - /media/500gig-ext4/cruiser-net/net.mp3
In this case I am recording to a directory on an external drive... After we get the front end working reliably we will figure the best way to post it on the net.

Last step covered in this post is used the above command line strings to build 2 simple bash scripts. Just makes it easier than opening a terminal window and typing or pasting in the somewhat long command line string. (simple as it gets)

Code: Select all

rtl_fm -f 162.4M -M fm -s 170k -A fast -r 32k -l 0 -E dc | play -r 32k -t raw -e s -b 16 -c 1 -V1 - (also simple but the little bit of "shell magic" prepends the date to the file name... useful later)

Code: Select all

rtl_fm -f 162.4M -M fm -s 170k -A fast -r 32k -l 0 -E dc | sox -r 32k -t raw -e s -b 16 -c 1 -V1 - /media/500gig-ext4/cruiser-net/$(date '+%F')_net.mp3
Scripts are called via a desktop button. Push "Net Record", and a terminal screen opens up, the tuner is told where to look, and the resulting raw stream is saved as an mp3 encoded file named yyyy-mm-dd_net.mp3. To terminate the operation, hit control-c in the terminal. Wanted to attach an actual short mp3 recorded this morning, but extension not allowed. Here is a pointer to this file on our own server instead.
Next steps... Record full net edition for audio quality, and idea of true file size. Play with rtl_fm squelch settings (-l switch) Explore automatic start stop sequencing of recording. Start building script to transfer recorded files to server. Will cover progress on these fronts as well as any alligators that rear their ugly heads in the next post.

Comments, questions, cat-calls and raspberries always welcome.


Re: Boot Key Cruisers Net on the Net (post3 help request)

Posted: Sat May 14, 2016 3:54 pm
by CapCouillon
Sat May 14 2016

So far... No good. Time to ask for some assistance. Biggest problem, lack of experience with RTL-SDR in general and associated software in general.

Biggest single issue is a massive signal (intermittent 6am to aroiund 2 am Mostly clear in middle of the night) which seems to be centered at 156.26M. Don't have any idea what it is, but walking all over our target freq of 156.425M at least on the RTL-SDR. Can hear in the background on a regular Marine VHF sometimes but filtering is adequate to be able to listen to the channel anyway.

Radio Marti is a extremely powerful AM station only a couple miles away, but at 1180 AM even the 100 kw signal is not expected to be the source... Have a muni radio tower very close with a plethora of antennas hanging off it. Probably the source, but what and how to filter it out?

Audio sounds like a large generator or diesel running ... Not the rf signature, the actual audio. On the regular VHF radio I have often thought someone had their engine running while on the radio. Until I found the signal on Gqrx.

Net can be listened to via the dongle and antenna using gqrx. and/or recorded as wav file.
Have not been able to reproduce same bandwidth filter conditions etc in rtl_fm due to operator ignorance.
gqrx reception is good until interference signal kicks up and then is fair for strong stations and marginal to unusable for weak stations.

Some screen caps of gqrx during different conditions on this morning net follow at the end of this post.


How to duplicate gqrx settings shown in screen shots in rtl-fm ?
(settings not shown gain=auto filter does not seem to matter)

Best method of reducing interfering signal? (Purpose built trap comes to mind?)

While I realize the cheap-john rtl-sdr stick we are using is not going to duplicate the output of even a cheap dedicated marine vhf receiver, the ease of integration with command line scripts to tune/record/upload the projects traffic sill make it an elegant choice if we can get it to work.

Really looking for some suggestions/workarounds folks... Can post links to audio files as requested, as well as any other info you might need to help us along.

Screen shots follow and TIA for any help.

As you can see in the "waterfall" we caught most of these with the interference source just starting or just stopping

High power signal at target 156.425M (probably 25W) and within 1/4 mile of receiver, interference source not keyed up:

High power signal at target 156.425M estimated range 2-3 miles, interference source no keyed up:

High power signal at target 156.425M estimated range 2-3 miles, interference source broadcasting:

Low power signal (5W Hand held) at target 156.425M range 1 mile, interference source broadcasting (audio unreadable)

Re: Boot Key Cruisers Net on the Net

Posted: Sun May 15, 2016 5:45 am
by rtlsdrblog
Is there a strong pager signal at a nearby frequency? Around 150 MHz there are sometimes very strong pagers that can cause overloading and interference to nearby marine signals. A strong pager would explain the intermittent interference, as they usually transmit for a few seconds at a time, and they are more active during the day. The interference from the pager can couple with other strong signals like broadcast FM and cause strange looking interference. The same thing can happen on your hardware radio too, but the VHF marine radios would have decent filtering built in which would strongly reduce the problem.

Definitely building a bad pass filter for the frequencies you need to monitor can help. Building a simple 5 or 7 pole butterworth or Chebyshev filter should be fine.

The other thing is to NOT use auto gain. Set the gain manually and tweak it so that the interference does not cause trouble. This may mean accepting a weaker signal strength of your target signal, but at least there won't be interference.

Re: Boot Key Cruisers Net on the Net

Posted: Mon May 16, 2016 11:08 am
by CapCouillon
Thanks for the input man.... Gotta find me a local "ham" who is into homebrew projects. Bandpass filter is a bit beyond my current skill set, although I will figure it out eventually.

Biggest current issue is rtl_fm... With so many available switches, having a difficult time knowing which "knobs" to spin in order to achieve desired results. Have been reading the docs, but so far like the jitterbug, so simple it plumb evades me. In particular, the -s and -r switches confuse me. -s = bandwith in KHz? More reading and research to do I guess. (Note to self... Google "resample" )

Looking for a way to (temp) pipe the audio of gqrx into sox and save as mp3 rather than the stock wav recording native to gqrx. Gqrx is easier to fiddle on the fly than the straight command line in rtl_fm till we get everything optimized Can get a usable signal out of Gqrx so only a matter of duplicating setup in rtl_fm later.

Tks again for the suggestions. Keep em coming... Will poke and hope again on this mornings net.


Re: Boot Key Cruisers Net on the Net

Posted: Mon May 16, 2016 12:06 pm
by CapCouillon
Ok, gqrx has ability to stream audio over udp (to localhost on my box) so if you hit the "stream audio over udp" button and then enter the following command line string in a terminal

Code: Select all

nc -l -u 7355 | sox -r 48k -t raw -e s -b 16 -c 1 -V1 - /media/500gig-ext4/cruiser-net/net.mp3
we are now recording the gqrx audio stream as a mp3 file (net.mp3)

A little clumsy but works for now and I am not fighting a huge wav file.


Re: Boot Key Cruisers Net on the Net

Posted: Mon May 16, 2016 1:28 pm
by CapCouillon
Getting closer... Managed to record the udp stream. as well as direct from rtl_fm as mp3 Dropping a few weak stations, but not getting overrun by the signal next door. More tweaking of command line. Tks for the pointers RTL-SDR-Blog Still looking at band-pass filter so maybe can increase gain to include the hand held radios in reception


Re: Boot Key Cruisers Net on the Net

Posted: Tue May 17, 2016 10:20 am
by rtlsdrblog
Nice happy to see your making some progress. A bandpass filter isn't too complicated to make, though I do say that assuming you have minor circuit building/electronics skills. There are a few calculators on the web: ... alculator/.

Another much simpler option though is to make a coax stub notch filter. Google that and read up on how to make one. It's basically just a T adapter and a piece of coax cut to the correct length which will notch out an interfering signal.

The first step will still be to determine at exactly what frequency the source of interference is coming from though, so i'd suggest using the dongle with a PC and graphical program like SDR# or GQRX first, and searching for the interferer.

Re: Boot Key Cruisers Net on the Net

Posted: Tue May 17, 2016 10:15 pm
by 9a4qv
I would like to propose a bit different approach and already software supported.
Why not using the WEB SDR approach:

It runs on Linux, ask the author for the SW. Setup and run.
This way you just stream the data to the web and the stations are logging on to receiver/channel (live).
You can even record the baseband or audio for the "offline" listening.
Reduce the bandwidth, block the receiver frequency just to one channel and that's it.

On the HW side, I suggest using the AirSPY or AirSpy mini to obtain more dynamic range and less troubles with the strong stations.
Narrow RF filter is welcome as targeted area is RF polluted.
DC grounded omnidirectional antenna is a must.

I think you can get troubles system if above approach is used.


Re: Boot Key Cruisers Net on the Net

Posted: Fri May 20, 2016 12:40 am
by rtlsdrblog
Good idea Adam. I do wonder though if there is sufficient internet connection on the boat for constant streaming, at the moment he's just streaming to localhost I think.

I agree that the Airspy mini is definitely a good upgrade that should prevent the issues with interference, though i'm unsure on to do the Airspy Linux setup for recording to mp3.