No, Really, the cat ate the GPS

Had fun this last Sunday building my first Stratum 1 NTP server. Got a couple NEO 7m GPS units from eBay, wired one up to an RPi3B+, and followed (not carefully enough) Phil Martin’s excellent tutorial on building a Stratum 1 server on a Raspberry Pi.

In preparation, I deployed one of my magnetic hockey-puck GPS antennas out on the balcony, and draped the coax run back to the bench. Soldered the SMA female on the GPS board. Wired the GPS to the RPi board. Screwed on the coax to the board. Applied power to all and got a CLI. Then … nothing. No lock. Picked up the board, inspected my soldering job, and as I was moving the board around, the GPS went into lock. Ah, something’s loose or cold solder joint.

Figure 1 – Successful stratum 1 NTP server using RPi and a $7 NEO-7m GPS

But no. Definitely touchy. Connected the uBlox app to the board, all the GPS signals, if there at all, were 30 dB down from where I’d expect them. A whole constellation of them, above the apartment, and none of them much more than 15 dB SNR. Moving the GPS module around, with its built-in ceramic antenna, helped, but still really poor.

Decided to drag the whole thing out on the balcony, and while following the coax cable that was supposed to be connected, in a single run, between the GPS SMA connector and the GPS antenna, discovered that it was now in two pieces. One connected to each device, but not to one another.

Damn cat(s) chewed through the coax. I think it was Sancho, but I don’t have the evidence to prove it.

Stratum 1 server now up and running flawlessly. As far as I can tell!

Figure 2 – ntpq -p output from the Raspberry Pi NTP server


I connected the “High-Precision AD/DA Board” to the RPi. Got PiPyADC up and running. Noticed when I ran the or code the PPS LED on the GPS would stop blinking, though I’d get the following kind of output (see Figure 3).

Figure 3 – PiPyADC output

Discovered that this board uses P0 – P4 for control. Was causing the P1 line to do weird things. Moved the GPIO for the PPS input from the GPS from BCM18 (GPIO P1, header pin 12) to BCM24 (GPIO P5, header pin 18). A reboot and all is good.

The Pi is now running a Stratum 1 NTP server, direwolf decoding APRS packets on 144.39 MHz, and reading the ADCs on the AD/DA board. Now to figure out how to get the ADC data into APRS telemetry packets.

Lightning can kill, destroy, and maim

… people, and especially electronics, when those electronics are out in the desert at a radio comms site.

http://By Catalin.Fatu, CC BY-SA 3.0,

There are a variety of methods developed by others to determine a location’s susceptibility to lightning strikes. Certainly, there’s the question of whether a given location ever gets much in the way of weather that can generate lightning strikes (think LA), but nonetheless, it’s important to realize that bolts from the blue can happen, and when they do, what precautions has a design in place to limit the potential damage.

The little radio site atop Oatman is one of those locations where lightning is probable, at least when there’s that kind of weather somewhere nearby. As well, in one of my day-job jobs, there’s all sorts of lightning strike considerations being done in the design. I get to learn from the experts, there!

A lightning strike is a funny critter – one can never predict precisely when and where the current will go. Plasma physics, air composition, charge distribution, airborne particulates, surface characteristics, probably way more factors. In engineering, one tries to offer “tantalizing” targets for the lightning. But while those targets are only suggestions, they do help quite a lot in terms of the statistical probability of the lightning hitting something that wasn’t intended as a target.

While doing some research for the day job on the rolling-sphere method of lightning protection, I came across this gem of a discription.


It just gives such a sense of predation to the lightning. Not that lightning has that, but kind of cool description nontheless.

Off grid in Arizona

I have a (very small) radio comms site in southwest Arizona, atop Oatman Peak/Hill. Only 1400′ or so in elevation, it’s a clear view from there to perhaps 50 miles of I-8; it’s also a clear radio view to about 100 miles of UPRR Gila Subdivision railroad.

The problem is that right now I do not have commercial power. Not to worry! This is Arizona and there’s 350 days of sun.

Today I swapped out the 15 year-old 125 Kyocera solar panel with a Rich Solar 190 W panel. Essentially the same physical size. Way more efficient. I only messed up one of the 4 stainless steel bolts that hold the panel in place, it galled before I could get a quarter turn on the nut. Nonetheless, I was able to put the new panel in place, and the dc current went up around 25% and the high side voltage from 17+ to 21+ volts.

Figure 1 – New 190 W Solar Panel Installed at Oatman

Yes, there’s a power line drop from APS, but there’s no meter. To get a meter, I’ll have to first have APS remove the drop, call the county to get a permit for a new electric service, replace the ancient entrance panel with a modern one, get the county to come out and inspect, then call APS to reconnect the feed. It’s fun, but it takes time.

But now, with 190 W of peak solar on the mast, I have enough to run a 15-17 W dc load continuous, even through three days of winter storms. And if I upgrade the batteries to 24 Vdc, maybe 18-20 W! Lordy-be. Makes you realize how hard it is to be off-grid.

Makita LXT TOOLs – the FLAMING truth

I learned something this morning, after not learning it for some time now. My large capacity (6.0 AH) Makita batteries don’t fit on my portable Makita angle grinder. At first, I thought it was some minor thing like when I’d bought some off-brand batteries and they just didn’t fit the slide very well. But NO!

One of the things I’ve consistently noted about the angle grinder is that it appears to have a thermal cutoff circuit in the tool, and will shut down the tool after heavy (or sometimes, not so heavy) usage. Working outside in the desert in summer causes it to trigger regularly, which is annoying to the point of unusable sometimes. I also note that it only seems to happen on old batteries or batteries that don’t have much charge left.

I bought a few months back some Makita 6.0 AH batteries. Brand new. Came fully charged as well in original Makita packaging. Cost plenty. Interestingly, they fit on all my tools but the angle grinder. And just now, I learned why: on the angle grinder, there’s a plastic nub protruding on the battery slide that prevents the battery from engaging. See Figure 1.

Figure 1 – Makita BGA542 Angle Grinder and the Nub

On-line, people talk about filing/cutting the nub off, and that obviously solves the issue of the battery mate. Bu others pointed out there’s circuitry missing in the older tools that is important to managing the battery capacity and preventing over-depletion. Ok, I’ll buy that, except:

I bought most of my Makita tools as a kit, back in 2006 or so. Angle grinder, circular saw, drill, impact driver, flashlight, charger, two 3.0 AH batteries, and the all-important “sawzall” tool. And none of them, except the grinder, have that nub! Just last month, I bought an orbital sander and a mini-shop vac. Interestingly, the orbital sander has a microswitch where the nub would be, and a third contact (Figure 2). So, that appears to allow the sander to detect the difference between batteries, and apparently do something about it.

Figure 2 – Microswitch and 3rd Rail Contact, Makita Orbital Sander

I am convinced that there’s a good technical reason for the nub, but since it’s only on the grinder, and the grinder’s more than 10 years old, that I just might consider removing that nub and taking the risk that the tool goes up in flames.

UPDATE: I actually found and read the manual. Figure 3 shows the important bits about overload and battery indicators.

Figure 3 – Makita BGA452 Users Manual Excerpt

That certainly makes sense based upon my observations. And here’s a bit of unintended irony:

Figure 4 – Makita BGA452 Battery Cartridge Storage Temperature Caution

It got to 117 deg F yesterday at the site. Not sure how to manage this item. Wear gloves and eye protection, to be sure!

Experimenting With MPG123 on Raspberry Pi

Last weekend I loaded mpg123 on a spare RPi here at the lab.

Figure 1 – RPi 3B Running mpg123

I haven’t enabled the USB sound dongle yet, but would like to do that. However, I wanted to see if I could get audio from the Internet routed through the HDMI display speakers. And indeed I could!

Next step was getting to stream through the same setup. I know that railroadradio uses .pls files, and not obviously mp3, so I did a quick search to see if there was a way to get mpg123 to do what I wanted. And indeed there was!

The above link gave me the secret, courtesy of “Alex”, where playing a .pls file just needed the “-@” option in the mpg123 command line. So now, I’m streaming railroadradio’s Southern California BNSF/UP/Metrolink audio.

Figure 2 – RPi CLI showing successful streaming of Internet-sourced .pls audio stream

Later, I’ll get the dongle running as a line input from one of my scanners, so that I can get the RPi to be a feed server. Will have to learn more about jack1 and jack2…

MPPT Solar Battery Charging in the Arizona Desert

I’ve got a 125 W solar panel feeding a 12 Vdc 85 Ah deep cycle battery at a comms site in the southwest Arizona desert. I’m using a Rich Solar MPPT-20 solar charge controller (SCC), which so far appears to be doing a great job. The load on the battery is a Raspberry Pi with two NESDR Smart radio dongles, running software called RWMon, and decoding ATCS indication messages being sent from railroad control points along the I-8 corridor, but that functionality isn’t the subject of this article. It’s the battery management that’s the thing!

Figure 1 – 24-Hour Battery Voltage

It’s a tough environment out there in the desert, and determining an appropriate energy storage technology is part of the challenge. I settled on a lead-acid battery, mainly because it tolerates higher working temperatures, and since there are plenty of charge management devices that understand lead-acid chemistry really well.

In Figure 1, battery voltage is shown over a 24-hour period. This particular 24-hour period was dead clear during the daylight hours, so the curve is very clean.

Figure 2 – Manufacturer’s Chart on Battery Charge Management

Figure 2 is the chart right out of the Rich Solar MPPT-20 charge controller manual. From about 0700 (the sun begins to directly illuminate the panel) to around 1130 the SCC is in the fast charge mode. From 1130 to about 1330 the SCC is in the sustained charge mode; from 1130 to 1730 the SCC is in float charge mode. It’s nice to see that the real-world situation replicates the manual pretty accurately.

There are other nice things to discuss about this SCC, including very low RFI generation, that future notes will touch on.


I realized that I also have for the same setup the voltage characteristics for the PWM SCC that I had out there last month before switching to the MPPT unit.

In Figure 3, the units are wrong, but the curve is the important bit.

Figure 3 – PWM SCC Voltage Curve

Here, it’s a much cruder controller, but the same kind of curve is evident. The drop off from boost to float is a very slow ramp, that’s probably not as good as what the MPPT does.

$2.5 M house in Phoenix – Primer in how (not) to price

Am always interested in finding a nice little place to call home – one with line-of-sight views to major mountaintop radio sites, plenty of room for antennas, and air conditioning (this is Phoenix, after all). There’s lots of tools on-line that are rapidly displacing the utility of real estate agents (one of the ultimate in middle men, along with car sales people).

Good views mean hillside or hilltop locations, and those often mean high prices. The sales pricing saga for this particular house for sale is darkly comical in its sales price adjustments, which I’ve memorialized here:

The last deed date is 2005, so it appears in early 2015 the house went on the market at $2.12M, then fluctuated wildly through the following 4 years, never selling. I suppose it’d be hard to buy a place the price for which changes faster than the value of the peso in Argentina.

And no, this is not even remotely in my price range. It’s just fun to look!

Another phake phisher phishing for phools

Just received this jewel.

The sender’s name is apparently “Vicky Murray”, yet the email is “”. is a real entity. Dana Barbera is on the board of that entity. So who’s this Vicky Murray? Can’t find a match with “vicky murray” and “fgproducts”.

The reply to: is, which is a *throwaway* email site.

The is a real thing, doing something with trucking.

There’s the observation that this email was apparently sent to “”, yet the domain “” is parked. In the source, it was sent to one of my oldest email addresses, which is probably all over the interwebs. Also, in the source, there’s and, maybe those are just innocent bystanders.

The misspells and/or malaprops are funny: “confidentiality” when I suspect they wanted “confidentially”; “appriciate” instead of “appreciate”.

Finally, there’s the .doc attachment, complete with the impressive password “123”. I don’t feel like opening the attachment, I have a sandboxed Linux machine for that, but maybe another time.

Phishing must be so much fun, except for the people who don’t know their names are being used for it.

Sharing antennas for 900 MHz ATCSMon receivers

I drew this up to help out a local railfan who tomorrow is going to install a new ATCS Monitor receive site at Winslow AZ. Since the BNSF is long and skinny there, no value in omni antenna, better to use a pair of high-gain directional antennas (like 12-14 dBi) and suffer the 3 dB loss in combining. A whole lot better than finding a 10 dBi omni. The amplifier is one of those super-inexpensive satellite-grade rooftop in-line amps, the kind Summit Source sells for $5. Two splitters, one on the roof at the antennas, the other in the room where the radios are, and a power injector to provide power for the amp. The DC block is there to prevent any power from going beyond the amp to a possibly DC-grounded antenna. Whole thing is maybe $25 in junkbox parts, and outperforms nearly any other setup.

This time, in a box in the desert sun – another identical deep-cycle battery

This one’s sitting in an 8x8x8′ fiberglass box about 25 miles west of Gila Bend, AZ. A 125 W solar panel provides the charge current, and a nice little MPPT charger manages the battery charge. The battery temp sensor is another TMP36, inside the usual black plastic battery box, in intimate contact with the battery case. The room temp sensor is an LM34, glued to a small piece of Al sheet, about 4′ above the battery, around midway in the room and free to the room air.

Link to the above data is

There’s little load on the battery right now – hope to correct that soon with a Raspberry Pi and a few other widgets. Appears from analysis that the system can support a 12 W continuous load, even through the depths of winter and 3 days of gloomy skies. Only way to know for sure is to test it.