Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
Early on, I decided that the whole APRS + voice interface for our bikes had to fit on the back of the radio, which meant it had to look a lot like a BP-171 battery pack. The first step was to get all the relevant dimensions from an existing pack.
I laid a (rebuilt) pack on the scanner and took its picture. There’s a lip on the bottom (top in the image), so I held it level with the end of the calipers you can see near the bottom. That puts it slightly above the scanner’s focal plane, but it’s close enough.
Then I scanned some graph paper (remember that?) with 10 lines per inch, overlaid that on the pack image, rotated to line it up with the pack, scaled the grid so that the major lines were 1 cm apart on the pack in both directions, and that gave me a nice 1 mm grid to eyeball the measurements.
Printed the image out at about twice real size and there you have it:
Battery Pack Dimensions
The doodles around the bottom give the Z-axis dimensions for tabs & contact slots & suchlike.
The notes near the top were a first pass at how to mill the thing; two years later, the actual G-Code bears little resemblance to that.
I put the origin at the lower-left corner of the part that fits into the radio body, 2.4 mm inside the left edge that mates with the outside of the body. That was probably a mistake, as it meant I had to touch off the final part at X=-2.4 rather than just 0.0.
The case for this gadget slides into the back of the ICOM IC-Z1A HT and powers the radio through its usual battery contacts. I reshaped 5/16″ 4-40 brass machine screws into flat-top studs, then soldered 8-mil tin strips to their tops.
Grab a screw in a pin vise, brace it on the bench vise, and file off everything that doesn’t fit:
Reshaped 4-40 screws
The result should fit neatly into the flatted recess, with the top flush in the rectangular slot:
Studs in their recesses
Cut an oversized strip of 8-mil tin and solder it to the stud. I tinned both pieces to get nice solder coverage, although the notion of tinning a piece of pure tin with silver-tin solder did give me pause. It’s all in the flux, I suppose.
Anyhow, put the two tinned sides together and hit the combo with a half-second pulse at 100% duty cycle from my resistance soldering gadget. Perfect:
Tin strip soldered in place
Then snip off whatever doesn’t fit into the slot with an ordinary (albeit shop-only) scissors, making it just slightly shorter than the slot so the end doesn’t snag on anything. File the sides and corners so they’re easy on the fingers, flatten the strip so it fits neatly into the slot, buff it up a bit, and it’s all good.
Contacts in place
Takes longer to describe than to do it, at least the second time you do it…
As described there, I made a fixture and a small plate to hold 2.5 mm and 3.5 mm plugs in the proper alignment for the mic & speaker jacks on our ICOM IC-Z1A HTs. Knowing I was going to rebuild the interface boxes, I made several spare plates and tucked them into a small bag against future need.
Jack Plates – Oblique
Time passes.
Come to find out that the new gratuitously gold-plated 2.5 mm plugs in my stash have a slightly thicker front plate that doesn’t quite fit into the recess I milled in the plates for the old nickel-plated plugs. So I set up a little nest in on the Sherline’s table, snuggled each plate into the corner, and poked a 9/32-inch end mill 1 mm down into the plate. The net change was a 0.5 mm deeper recess. Sheesh.
Milling the plug plate recess
I’d originally create the recess with helical milling, but I recently uncovered a stash of shiny-new end mills in a box: 9/32 is 7.31 mm, just about exactly what you want for a 7-mm dia plug front plate surrounded by a blob of fast-curing epoxy.
Plugs epoxied into plate
This epoxy just holds the plugs in the right position for wiring and initial testing. After the cable checks out, I’ll smoosh a blob of epoxy putty around the whole thing as before.
The circuit board is 30-mil, double-sided, half-ounce (I think) copper on glass-fiber stock, direct-etched by rubbing ferric chloride solution onto it with a sponge.
The top copper image (on the left) is reversed so it comes out correctly when you’re doing toner-transfer etching.
I didn’t bother with a silkscreen, because I don’t have a soldermask and there’s no room for text around the parts anyway.
The four vias at the corners mark the edge of the board. Trim it with tinsnips (or a shear if you have one), then introduce it to Mr Belt Sander until the edges pass directly through the middle of those via holes. Round the corners a bit so they fit into the case recess atop the mounting shoulder.
Put Z-wires in the small round vias (the ones that don’t have any other traces) to connect the top and bottom ground planes.
Put Z-wires in the other round vias to connect a top-side signal to the corresponding bottom-side trace.
There are three jumper wires across the bottom; with only two layers I don’t get all bothered about embedding the last few. Those vias are square.
I don’t have any way to do plated-through holes, so solder the wires to both sides of any vias with traces on both planes. I admit I missed two of them on the TT3 ribbon cable.
The big empty space around the positive power terminal prevents the ring-lug connector from shorting to the ground plane. Now that I think of it, there’s no need for an empty space on the bottom copper, but it doesn’t do any harm.
This board drives the helmet mic & earbud, combines the TinyTrak3+ AFSK audio with the mic audio, and interfaces with the radio’s mic & speaker jacks.
GPS + Audio circuit board
The schematic (click for more dots):
GPS + Voice HT Interface schematic
The ICOM IC-Z1A provides a 3.5 V power supply (on the ring terminal of the mic jack) that normally drives an electret mic. I use it to turn on a MOSFET relay that powers all the circuitry directly from the external battery pack. The relay has about 1 Ω of resistance, so there’s not much voltage drop. Note that the radio’s power does not go through the relay: it connects directly to the external battery.
An earlier version used an optocoupler to drive a 2N2907 PNP transistor for power switching. That worked fine and might actually be better; I think the MOSFET relay needs slightly more drive current than the HT’s 3.5 V supply can provide. More on that later if the problems continue.
The TinyTrak3 includes a 5 V regulator that I wired through the normally unused pin 9 of the DB-9 connector (no connector, just a ribbon cable). It powers the PTT button, analog switch, and the PTT optocoupler.
The MAX4467 handles the electret mic, with power from a separate 5 V shunt regulator built around an LM336. That keeps much of the TT3’s digital noise out of the audio. You can use a MAX4468 if the voltage gain required for your electret mic capsule is greater than Av=5; the ’67 is unity-gain stable.
A MAX4544 analog switch (basically, a low-power MOSFET relay) selects either voice or AFSK data. I originally tried adding the two with an op-amp, but there’s just too much noise from the TT3. The external PTT selects audio data; the rest of the time the radio gets the TT3.
The HT’s mic input is galvanically isolated from the rest of the circuit board. That eliminates ground loops, circulating RF, and all manner of hassle. Bulky, awkward, expensive, and highly worthwhile.
An optocoupler isolates the TT3 PTT-out signal from the HT’s audio input, while switching the 33 kΩ resistor that activates the HT PTT. R18 bypasses any leakage current from the TT3’s driver transistor around the coupler’s LED; the PTT current to the HT is so small that the leakage on a hot day can tease it.
A small 1:1 audio transformer couples the voice + data into the HT’s mic input jack. The 1 μF caps are certainly overkill, but they’re small and work well.
The HT’s external speaker goes into a simple L attenuator that reduces the volume. The HT expects an 8 Ω speaker, but most of the earbuds these days are 30 Ω and way loud; the volume control doesn’t have much resolution when there’s only two or three clicks between inaudible and ouch.
All the external inputs have a 100 pF bypass cap and a 100 Ω series resistor to cut down on RF and tamp down static discharges. Might be overkill, but the previous units withstood years of abuse with that sort of circuitry and I’ll stand by it.
Required tweakage for your HT’s preferences:
R9: MAX4467 gain gets the electret capsule output up to whatever your HT expects.
R15/R16: Earbud attenuator cuts the HT’s speaker output down to something reasonable for your ear
R14: PTT resistor must suit your radio
R19: TT3 output may be too hot for your HT audio, even with R6 on the TT3 turned way down.
All the wires go to top-layer solder pads, rather than physical connectors. I didn’t have any “front panel” space for connectors, anyway, so that’s as good as it gets.
I’ll eventually gather all the files into one lump and put ’em up here.
The boards fit in the two halves of the enclosure, which is held together by four 7/8-inch 2-56 machine screws. The blind holes in the lower (right) half are tapped for the screws. The clearance holes in the upper (left) half are a bit too close to the interior; if the setup isn’t perfect, they break through.
The right half slides into the HT’s battery pack grooves. The two tin plates match up with the HT’s power input contact springs.
Interface – top and bottom surfaces
The oval mark around the four LEDs is actually a 1 mm deep recess in the cover; the LEDs are the tallest things on the board and I sort of ran out of room. The GPS connector is essentially flush against the back of the HT, so the board can’t get any lower. Even though the case halves are milled from a hulking 3/4-inch plastic plate, the top surface is only 1 mm thick above the LEDs, so the board can’t get any higher.
The interior view:
Interface box – interior
The DB-9 serial connector mounting screws hold the TinyTrak3 board in place. The GPS receiver and PC serial port (used for configuration) plug into that connector.
The four external cables connected to the circuit board:
power from external battery pack
helmet mic + earbud
PTT switch
HT speaker + mic + mic power
A closeup of the audio PCB in its natural habitat:
GPS + Audio circuit board
The two nuts on the right fit on 4-40 brass screws that I converted into studs under those tin battery pack strips, about which more later. The nuts hold the circuit board in place atop a shoulder around the interior of the compartment.
The OEM battery packs have nice tabs that engage the HT’s clever pushbutton latching mechanism. I spent a lot of time staring at them: they’re easy to do in an injection mold and impossible to machine at my skill level. So I punted: two strips of tape hold the enclosure in place on the HT. Works fine.
You’ve seen bits & pieces of this in the previous weeks and months: now it’s up and running!
Admittedly, this is brassboard hardware; I must now build three final versions for our bikes incorporating all the tweaks & adjustments. But it’s time to write this stuff down so I can find it again … and perhaps you can use some chunks, too.
I don’t have an instruction manual to go along with this, nor is there a parts kit available. You’ll certainly want to modify everything for your own purposes; the circuit board and case certainly won’t fit whatever HT you’re using!
Over the next several days, I’ll be describing & documenting the tricky parts… in no particular order, because I’m not going to sort my notes & photos ahead of time.