e1e0.net

sources for e1e0 website
git clone https://git.e1e0.net/e1e0.net.git
Log | Files | Refs

brymen869s-serial-cable.md (2778B)


      1 Title: Brymen 869s Serial cable build.
      2 Author: paco
      3 Date: 2018-12-08
      4 Type: article
      5 
      6 The Brymen 869s is a fantastic multimeter. Among a lot of other
      7 functionalities it has serial communication to a PC. The problem is
      8 the cable for this is hugely overpriced. Luckily building one is not so
      9 complicated. Besides, some clever folks on the [EEVBlog Forum][1] have
     10 already decoded the protocol the cable uses.
     11 
     12 Well, the usb protocol the cable uses is public, but the protocol used
     13 between the meter and the serial adapter is not.
     14 
     15 This is a infrared communication (so it keeps isolated the pc and the
     16 meter), so some infrared LED and photodiode (or a phototransistor) are
     17 needed. The parts list for all the circuit are small.
     18 
     19   * One micro controller (ATTiny85 in my case, use what you're
     20     comfortable with).
     21   * One infrared diode.
     22   * One current limiting resistor for it.
     23   * (In my case) one NPN BJT, as the micro could not output enough
     24     current for the LED I used. But this is optional if your LED is
     25     directly driven by the micro.
     26   * One photodiode or phototransistor.
     27   * One suitable limiting resistor for that one too.
     28   * A usb to serial adapter if your micro cannot talk usb directly.
     29 
     30 I've attached the [schematic][2] of what I did come up with with the parts
     31 I had lying around at home.
     32 
     33 The [code][3] is just adapted from what user 'jesuscf' did on the EEVBlog
     34 Forum for arduino. I "ported" it to work with AVR C on the ATTiny85.
     35 
     36 The interesting part is how it works. The 'cable' (ATTiny85 driving the
     37 IR LED in this case), sends a 10ms pulse to the meter, it then waits for
     38 the signal from the meter to go high. After that the cable starts
     39 sending a clock signal and the meter starts sending data synced with
     40 that clock.
     41 
     42 One complete "packet" are 20 bytes. Sixteen of them are data and the
     43 last four are fix. The description of each byte can be seen on bm869s.h
     44 
     45 Once we got data, is just a matter of deciding what and how to send it
     46 to the pc via serial.
     47 
     48 I've also designed a small 3D printed case for it, similar to the
     49 original cable attachment, so the circuit can be easily attached to the
     50 meter and the LEDs are well placed, pointing in the right direction and
     51 with almost no interference from other sources. The design is on the
     52 repo. It's a FreeCAD file. I've also uploaded an [STL file][4] in case
     53 somebody wants to use it without installing FreeCAD.
     54 
     55 All and all a small but pretty fun project to do on a weekend. And now I
     56 have data logging on my meter for almost no cost.
     57 
     58 [1]: https://www.eevblog.com/forum/testgear/brymen-ir-connection-protocol-anyone-sniffed-it-yet/
     59 [2]: https://e1e0.net/files/brymen_cable_schematic.png
     60 [3]: https://git.e1e0.net/brymen_bm869s_ir_cable/log.html
     61 [4]: https://e1e0.net/files/brymen_cable_attachemnt_v2.stl