Every hobbyist has experienced it, and yet it seems to be the hardest lesson to retain over time: The more money you save by going with cheap parts, the more of your time you will waste getting them to work… if you can.
I was recently reminded of this rule while adding GPS to a Raspberry Pi project on which I was working. One of my co-workers had recently had good results with a GlobalSat USB dongle on a Pi project, and even though I had an Adafruit Ultimate GPS Breakout in my wishlist I was enticed by the price and the plug-n-play state that didn’t require me to do any additional wiring. So, I ordered a GlobalSat BU-353-S4 from Amazon.
Getting gpsd set up was pretty trivial, but the results I was getting from ‘cgps -s’ was inconsistent. Despite the GPS unit reporting that it had a lock, the clock display was several hours off from the displayed timezone, and the ‘Speed Err’ was +/- 300MPH. The unit, which was marketed as having a start time of less than 15 seconds, needed to run for an hour or more to finally settle down. Meanwhile, ‘cgps -s’ would keep crashing after a few minutes at most.
At the time, since this was my first experience with gpsd, I assumed cgps was just unstable. After a bit of googling, and reading other people’s tutorials, it became clear that cgps wasn’t unstable and that something was frak’d with my rig. That’s when I visited the gpsd hardware compatibility table. On the entire table, the only device with a ‘do not buy’ rating is the BU-353-S4. (Turns out my co-worker has bought the GlobalSat BU-353, which doesn’t have the ‘do not buy’ rating’)
I’ve since wired up an Adafruit Ultimate GPS Breakout directly to my Pi project. It just works. GPS lock was quick, time reported was correct, margin for error was reasonable, and I was able to run ‘cgps -s’ for hours without issue.
It’s easy to be tempted by the plethora of cheap parts on Amazon and eBay. Not to mention that sweet perk of free shipping… But sometimes it just isn’t worth it. There is a huge value in buying parts that have been fully vetted by someone with more expertise, even if it does mean you have to solder eight measly wires.