And, on this occasion, it's well I did.
Got a dinky GPS module, model GP-635T, from Spark Fun, along with a matching cable (6 wires, JST SH connector on each end, fiddly 1mm pitch thing; ready-made cables are good, 'cause I don't have the correct krimpatul*).
Got a matching header designed onto a board, going by the connections in the GP-635T datasheet.
I connect one end of the cable, and pause to consider the situation.
The cable has one white wire, which I take to be a pin 1 marker, unless of course it's pin 6. Assuming it's pin 1, it should be, according to my board, ground. According to the GP-635T datasheet, pin 1 should be ground... only the actual ground connection on the board (according to my continuity beeper and a bit of exposed ground plane) is at the other end of the connector. Somebody, here, is decidedly backward.
Oops. That could have been an expensive mistake.
Did I goof up the footprint?
And so I dig out the SH datasheet, and look through the drawings, and the end where the white wire is definitely matches "Circuit No. 1" on the drawing. So, the cable and my board agree with the connector spec.
It's the GP-635T spec that has the pins numbered wrong way which.
Ergo: hot up the soldering iron and turn that sucker around. Also, flip the connections in the pending respin (the respin was needed anyway, and planned before I'd even gotten the first batch of boards back from fab).
Update: the connector having been duly reversed, everything (re)connected, and the serial port taken away from its default debug-console function, I'm now getting a stream of what looks like GPS data. What's more, it's giving the location of my house; I hadn't really expected such a tiny unit to find the satellites when indoors, but it seems to have done so.
Update 2: install gpsd on the RasPi, run it, and it Just Works. Except... running xgps for a look at the output, I see that my workbench is moving at anything up to half a mile per hour, and drifting from 100 feet above sea level to 5 feet below sea level. So... perhaps using that dinky GPS module indoors doesn't work all that well. Have to try it outdoors sometime soon.
* Update 3: just for giggles, I looked up the correct krimpatul (or, anyway, the cheapest officially-approved option). Nigh unto $1100 for a hand crimper? I have this $60 tool from Spark Fun, and, while it works great for slightly less tiny connectors, it seems to be making the conductor crimp for the SH just that little bit too flat and wide... mostly too wide... and the result doesn't quite fit into the connector body. Maybe if I tried 28 AWG instead of 30? But I'd need 28 AWG wire with very thin insulation.
Update 4: I got out the SR (1mm IDC) connectors again. Supposed to be for 30 AWG stranded wire. I have some nice 4-conductor cable with 30 AWG stranded conductors and thin insulation... but just can't get it to connect to the SR (possibly because the wire is badly tarnished). However! Turns out 30 AWG wire-wrap wire, punched down with a tiny jeweler's screwdriver, works nicely. I'd much prefer stranded, but it shouldn't be seeing all that much flex, and the wire-wrap stuff is handy. Meanwhile, on the 28 AWG front... well, I'd have to order it, in rolls of 100 feet for each color, and it's amazing how expensive basic hook-up wire has gotten, especially if you want thin (ergo, not PVC) insulation.
And furthermore: that other, 4-wire, cable I built with the SR connectors? Meant to carry the I2C bus out to a remote sensor, a coupla feet away. Well... it kinda-sorta worked for a while, then (perhaps because the wires got a little twistier and thus the capacitance increased just a tad) not only did the remote sensor get flakey, but one of the local sensors ceased to work at all... 'twas detected (sometimes) by i2cdetect, but wouldn't answer a read. A reminder, kids: I2C is the Inter-IC bus, intended for connecting chips a few inches apart on a single board, and anyone running it across a backplane is either a nitwit or following a telco standard written by a nitwit. (The main issue with regard to the common use in telco equipment is noise immunity, which I2C lacks. The problem here looks (at a guess) to be wiring capacitance, given that there's not much noise about. Voltage thresholds offer further opportunities for Fun, Negative Amounts Of.)
Recent Comments