Philo's Website
 

Getting Talked Into Breathalyzer Repair
cw: alcohol (by necessity)

due to a series of bad decisions inspired by the good people of Glastonledburyshire-on-Severn, I ended up as the winning bidder on a government surplus auction, spending a whopping $19. the next week, I made a day trip down to Fall River, about an hour south of me, had an awkward conversation with some cops, and returned home with a LifeLoc FC20 Breath Tester, its matching printer, and the original case and manual, as well as some pastéis de nata. (no trip to Fall River is complete without them.) if I could get it working and talking to a computer, it would be perfect for part of the "customs checks" to enter our village at EMFcamp, so I had a challenge and a deadline.
the breathalyzer right before the drive back north

when I got it home, I discovered the battery had corroded and made a mess of the innards. thankfully, it hadn't gotten into the fuel cell that actually detects the alcohol. I scrubbed everything down with vinegar to neutralize the alkaline battery leakage and followed with isopropyl alcohol (ironic for a breathalyzer, I know) to get what was left. I also had to sand the battery springs slightly to make better contact and resolder one of the wires to the air pump, but it all proved fixable.

at this point, there was nothing else to do but have an aperol spritz and test it.
please don't judge my choice of glass; I know it isn't the right one for the beverage

it seemed to work.

my unit only came with one mouthpiece, and since not everyone who's going to be using it wants to kiss each other, I needed a replacement for it. the manufacturer still sells compatible mouthpieces, but I am a cheapskate and don't want to have to carry them to the UK for EMFcamp, so that's right out. (there's a vendor in the UK that sells them too, but they cost more than I'm willing to spend.)
I tried drinking straws, but they were too small and didn't pass enough air through to get a reading. instead, I used ½" ID water tubing, which fits over the mouthpiece _and_ can be obtained in the UK, saving me from having to bring it myself. with the tubing held tightly on the existing mouthpiece, I was able to measure my BAC without kissing the last user of the machine.
based on how much cider I'd had that night, I don't think the calibration on my unit is quite right. it's possible to recalibrate it, but a tank of dry calibration gas costs a lot more than I'm willing to spend. fortunately for me, the sovereign nation of Glastonledburyshire-on-Severn has its own system of units and we have simply redefined BAC to match this machine's readings.

the breathalyzer talks to its printer over RS-232 (9600 baud, 8N2, RTS/CTS), which made life easier for me. the printer is an off-the-shelf Able Systems Limited Ap860-B rebadged with LifeLoc's name, which seems to be the norm for Able.
the rest of the demo paper is here.

I wasn't able (no pun intended) to find a manual for this exact model, but I found a similar one with a pinout that turned out to match (backup copy). I cut up some cables, learned the hard way that not all mini-DIN 6 pin cables have all the pins populated (PS/2 keyboards and mice use the same connector but only use 4 of the pins) and eventually blundered my way into working communications with both the printer and breathalyzer.
the pinouts for the mini-DIN 6 pin cables to communicate with the LifeLoc breathalyzer and printer

the breathalyzer simply sends the test results to be printed as text, which was rather convenient for me. my code waits for a test result, pulls it out with a regex, and then spits out a custom receipt. I could swap the original printer for any ESC/POS-compatible one, but where's the fun in that?

thanks for reading! I hope to see some of you at EMFcamp!
enjoying some 1911 black cherry cider while I test the breathalyzer setup

thank you to Ari and Meadow for proofreading