home / code / contact / GnuPG Key / Keys transition statement
The Brymen 869s is a fantastic multimeter. Among a lot of other functionalities it has serial communication to a PC. The problem is the cable for this is hugely overpriced. Luckily building one is not so complicated. Besides, some clever folks on the EEVBlog Forum have already decoded the protocol the cable uses.
Well, the usb protocol the cable uses is public, but the protocol used between the meter and the serial adapter is not.
This is a infrared communication (so it keeps isolated the pc and the meter), so some infrared LED and photodiode (or a phototransistor) are needed. The parts list for all the circuit are small.
I’ve attached the schematic of what I did come up with with the parts I had lying around at home.
The code is just adapted from what user ‘jesuscf’ did on the EEVBlog Forum for arduino. I “ported” it to work with AVR C on the ATTiny85.
The interesting part is how it works. The ‘cable’ (ATTiny85 driving the IR LED in this case), sends a 10ms pulse to the meter, it then waits for the signal from the meter to go high. After that the cable starts sending a clock signal and the meter starts sending data synced with that clock.
One complete “packet” are 20 bytes. Sixteen of them are data and the last four are fix. The description of each byte can be seen on bm869s.h
Once we got data, is just a matter of deciding what and how to send it to the pc via serial.
I’ve also designed a small 3D printed case for it, similar to the original cable attachment, so the circuit can be easily attached to the meter and the LEDs are well placed, pointing in the right direction and with almost no interference from other sources. The design is on the repo. It’s a FreeCAD file. I’ve also uploaded an STL file in case somebody wants to use it without installing FreeCAD.
All and all a small but pretty fun project to do on a weekend. And now I have data logging on my meter for almost no cost.
$Id: brymen869s-serial-cable.md,v 1.4 2019/03/25 19:15:00 paco Exp $