Brymen IR connection protocol - Anyone sniffed it yet? - Page 1
Forum section: electronics / testgear

author: onmobile
author_rank: Newbie
timestamp: March 27, 2013, 02:10:29 pm
content: Hello,Has anyone sniffed the brymen 867 or 869 IR connection? It would be good to know what's going on in there, how the handshake looks like, how data gets transmitted, baudrate, etc.I guess a simple sniffing session for one data acquisition from the DMM, would be enough to get the rest of us started in making our own connection cables.

author: Slothie
author_rank: Regular Contributor
timestamp: March 28, 2013, 12:17:05 am
content: I recently bought a Brymen 257 Multimeter and that has an IR port. I read on here somewhere that the software for the IR cable has PDF's with it that detail the protocol for all models. This software is downloadable from Brymen's website as a windows installer. I have downloaded it but not yet used it because I dont have a working windows PC (all Linux...) at the moment but I'm going to set up a VM and see if I can extract the files.Somewhere on the forum (sorry I looked for it but couldnt find it again) someone posted the PDF for the '867 and I recall it looked like the port just outputs a bitstream that indicates if the segments of the display are on or off.

author: jadew
author_rank: Frequent Contributor
timestamp: March 28, 2013, 01:08:00 am
content: Indeed, they do publish the protocol, but it's the protocol between the PC and the cable, which then makes the request to the DMM trough IR.What they're not saying in there is how they are forwarding the data: How is the IR signal modulated? What baudrate? And what is the cable sending before the user bytes - I suspect it might send out some unknown bytes, for framing and for keeping the protocol closed.If someone who already owns a cable, could capture the IR stream, from the cable to the device, I would greatly appreciate it. (oscilloscope capture or logic analyzer, anything would do)Currently I'm trying to initialize it based on the mentioned PDFs, however lots of variables are a mystery.I got the protocol docs from the brymen software zip, located at:http://brymen.com/product-html/software-download/BM860-Bs86x-V6002s-use-BC86X-Win7.zipBU-86x being the cable for the BM867 and BM869.I also found this:http://g-tech.no-ip.org/~mrnuke/brymen_protocols/500000-count%20DMMs%20protocol-r1.pdfWhich seems to be similar tohttp://sigrok.org/wiki/Device_cables#Brymen_BC-85Xawhich was used by Extech. From the last PDF I linked, it looks like brymen changed something to the cable/protocol between BR85X and BC-85Xa - what exactly was that, I don't know, but it could be anything from the IR baudrate to just a few frame bytes or something silly. The change might have been propagated to BU-86x too, but again, just a guess.What's clear is that they like to change stuff, apparently just to make them incompatible, in order to get you to spend another $60 on a cable which can be made with $4 parts.What I did notice by checking their PDFs for other products is that they usually use a 9600 baudrate for the serial connection, which makes me think they might use the same baudrate for the IR communication - just a guess tho.Anyway, if someone is willing to capture some traffic from the cable, I'd appreciate it and I promise to share whatever results I get.

author: madshaman
author_rank: Frequent Contributor
timestamp: March 28, 2013, 07:08:39 am
content: I've got a BM867 with the BU-86x kit. I can't guarantee I'll ever get around to it, but if I find any extra time I could give it a go.

author: jadew
author_rank: Frequent Contributor
timestamp: March 28, 2013, 01:43:05 pm
content: Quote from: madshaman on March 28, 2013, 07:08:39 amThat would nice. I managed to get some sort of response from the meter last night, but it wasn't what I was hoping for so I started blasting it with consecutive numbers + the specified 4 bytes (00 00 86 66), however I stopped, because I realized that if I keep sending Junk I might overwrite calibration data or something. Hopefully I did not do that, I guess I'll know for sure once I take a look at how real data looks like.Thanks for offering.

author: Slothie
author_rank: Regular Contributor
timestamp: March 29, 2013, 05:43:27 pm
content: I don't know about the 86x series but the cable for the 25x series is available in rs232 or USB and looks to me like the USB adapter is just a rs232- USB adapter. I've leant my meter to a friend but when I get it back I'll hook up a IR receiver to my scope and look at what the output looks like. At least the 25x doesn't have a reciever so I've only half the problem!!I wondered why there where two kinds of adapter for Brymen meters perhaps the slot type on the 25x is transmit only and the round ish one is bidirectional .

author: jadew
author_rank: Frequent Contributor
timestamp: March 30, 2013, 12:48:24 am
content: Quote from: Slothie on March 29, 2013, 05:43:27 pmYeah, I can confirm that the 86x one is bidirectional. You're also right about the USB-2-SERIAL cable, it's just that.I also think the fact that the new cable (the 86x) is registering as a HID device is because they're using a cheap chip, with no native USB support, so they're only able to bit-bang USB. That means low speed USB and you can't register as a CDC device with that. That's just a guess, but I don't see why else they wouldn't want to provide a virtual COM port.

author: jadew
author_rank: Frequent Contributor
timestamp: May 23, 2013, 10:30:08 pm
content: Anyone still willing/able to help?Thanks

author: madshaman
author_rank: Frequent Contributor
timestamp: May 24, 2013, 12:27:27 pm
content: Still willing. Life's gotten in the way of recent. I'll have time beginning of June ^^'

author: sado1
author_rank: Newbie
timestamp: September 26, 2013, 04:25:00 pm
content: I wrote simple Python program for Linux for plotting and logging Brymen 257 output:https://github.com/sadol/brylog.

author: macboy
author_rank: Super Contributor
timestamp: September 26, 2013, 09:52:14 pm
content: I can't speak to the Brymen specifically, but I have a handheld meter with an IR serial interface, a B&K 5360 (aka Metrix mx56c). There is no special modulation or data format, the data on IR is just vanilla UART style serial, no additional carrier (like a TV remote control) or anything. I used a USB-TLL serial converter (PL2303 based), with a IR diode and current-limit resistor for Tx, and a phototransistor and pull-up resistor for the Rx. Very simple. Sometimes the simplest answer is the one.

author: pradipkhare
author_rank: Newbie
timestamp: September 27, 2013, 04:07:04 am
content: I recently bought the Brymen BM869 along with the s/w and interface USB cable pack.Supplied s/w on the CD was not getting installed on my Windows-8 Laptop due to the version issue. I downloaded the Win-7 version (that is the recent they have) from the Brymen's website. It got installed and working fine now.For installing USB interface driver, I needn't require to install it separately, as when I plugged the usb cable in, Windows automatically detected and installed the driver and protocol from the already inserted CD.I am using it successfully and baud-rate is enough for all types of logging. It also shows a nice wave form. You can log data for all the parameters that can be measured using this multimeter. I also used export-to-CSV file feature successfully and were able to do additional analysis using the Excel.It is working fine and has an excellent accuracy. I love this multimeter and recommend to everybody looking for an advance DMM.Dave,Thank you very much for doing the review of this meter, as from there only I got to know about Brymen and bought this.Regards,

author: Simon Loell
author_rank: Contributor
timestamp: September 27, 2013, 07:35:50 pm
content: @Jadew / others.Did anyone start monitoring this IR protocol?I have both the BM869 and the USB/IR interface.I don't know much about USB communications, but the IR part should be a bit more simple to sniff.What is your main purpose of knowing the protocol?If it's making a new PC interface for it, it would be GREAT! I use my multimeter for logging temperature a lot. It has 2 temp inputs, but in the PC interface only T1 is displayed. A huge bug in my opinion.-Simon

author: jadew
author_rank: Frequent Contributor
timestamp: September 27, 2013, 10:12:59 pm
content: I tried sniffing the protocol, but not knowing the handshake doesn't get you anywhere, because the meter won't start transmitting, even if it's plain UART@Simon, yes I'd like to make an IR interface, since I'm too cheap to buy an original onewhich honestly... it's super expensive for what it is.As for the USB communication, I wouldn't worry about that too much at this point. The first step is to establish serial communication with the meter, in order to get some usable data out. The HID device should be fairly easy to implement.

author: Simon Loell
author_rank: Contributor
timestamp: September 30, 2013, 08:03:59 pm
content: Well I hooked my oscilloscope into the Rx and Tx diodes, and my findings are not so obvious I think.It seems that the data is not UART protocol, but Brymens own. Maybe some direct indication of what segments are active in the display.In my attached pictures it can be seen that a "1" is represented by two LOW bits, where as a "8" has a hole bunch.Another strange thing is that the Rx and Tx diodes measure the exact same, and no I did not short circuit anything...Last but not least. The packages are sent with a speed of approx 5Hz, which is even faster than the PC User Interface can update. It would be very nice with a UI with faster update speed.I hope you can find some logic in my pictures. Since I have the setup, I'm not that eager to spend a lot of time on this projects. But if you need a reading or two to figure out the puzzle I can give it a try. As long as you're the brain in this backwards engineering

author: jadew
author_rank: Frequent Contributor
timestamp: September 30, 2013, 10:11:40 pm
content: Awesome!Thanks a lot for the screenshots!Indeed, I think it represents which segments are ON or OFF and yeah, doesn't seem like UART because I can't spot any stop or start bits.Also, it's probably safe to assume that the spot where you wrote the values is actually the last digit, which is turned off, hence the HIGH value for all the segments.I think the bit meaning is this (MSB first):45 016 237So bit 7 is the dot, 4 - the top segment, 0 - top right, 1 - middle, etc.I think what we need to know now is what gets transmitted when you first plug the device in or when you start reading data, because there has to be a trigger string that starts all this up. So if you still have everything set up, it would be great to see what's going on at that time.I don't know why the TX diode reflects whatever is on RX, maybe it's just a way of saying we got the bit right, go on. I guess I can experiment with that once I get communication going. This would explain the weird baud rate as well, meaning that it's not given by any clock, but by how fast the devices respond to each other.Thanks again.PS: Love that scope of yours.

author: Simon Loell
author_rank: Contributor
timestamp: September 30, 2013, 11:03:52 pm
content: I just took the IR thing apart again. Maybe I have to measure some where else on the phototransistor.I will do the measurements tomorrow (it's 1a.m. local time).

author: jadew
author_rank: Frequent Contributor
timestamp: September 30, 2013, 11:41:47 pm
content: Cool, I'll set up a test environment by tomorrow.Cheers!

author: Simon Loell
author_rank: Contributor
timestamp: October 01, 2013, 07:23:42 pm
content: Happy news.I've got it hooked up right this time. After have tried to ohm the tracks on the PCB, it lead me into 3 pinheader holes marked with silkscreen "T", "R", "G"..... Guess what EinsteinAnyway. It makes a bit more sense now.The PC transmits clock at a given frequency. Exactly 160 clock cycles.The multimeter sends data back in sync with the clock.Before the clock starts, a initialization pulse is given on 10ms.See if the data makes sense or if I have to make more measurements.

author: jadew
author_rank: Frequent Contributor
timestamp: October 01, 2013, 08:35:16 pm
content: Nice!I find it a bit weird tho that the clock signal is behind the data, in the close up you can tell that RX went high before TX went down.Kinda makes you wonder which edge is the setup edge and which one is the sampling edge, or... what's really the deal in there.I'll send that initial 10ms pulse first and see if I get anything in response.Edit: I'll get to it in about 20 minutes. I'm still working for my day job right now.

author: jadew
author_rank: Frequent Contributor
timestamp: October 01, 2013, 09:24:26 pm
content: Alright, I just gave it a try, I sent the 10ms pulse, but to no avail.Are you sure there's no other data sent from the device to the meter when communication starts? Like... when you start the software that controls it?Edit:I guess a good test would be to leave the device disconnected from the meter and see what happens, it should try to sync with the meter.

author: Simon Loell
author_rank: Contributor
timestamp: October 02, 2013, 07:24:44 am
content: I will try to measure the TX line without the multimeter connected tonight. (In 10 hours from now).Did you send the 10ms pulse wait for about 120ms, and then start sending 160 clock cycles?I would imagine the communication is like SPI, but without MOSI (Master Out Slave In) and CS (Chip Select). Where the PC is the master giving the CLK (syncronous Clock) and the multimeter sending data in sync on MISO (Master In Slave Out).What platform are you testing via?I could hook up an AVR on both a STK600 board or just use a simple Arduino Uno to generate the clock cycles, read back from multimeter, pack the 160 bits into 20 bytes and send to a PC over the UART.

author: jadew
author_rank: Frequent Contributor
timestamp: October 02, 2013, 11:07:57 am
content: Hey, I did not send the clock, because from the last screenshots, it looks like the meter does something first and only then the clock starts rolling.I think that after the meter is initialized, things happen like this:Tx: 10 ms pulseRx: goes highTx: starts rolling the clockThis is visible in the picture called "BM869 link startup close-up on beginnning on first data packet".From that picture we can also conclude that the falling edge of the clock is the setup edge and the rising one the sample edge. You can pretty much tell why communication happens at this speed based on the response of the meter to the falling edge (it's way off).I'm testing it with an AVR and a temporary "adapter" I made from cardboard. The receiver diode is connected in series with a resistor, between vcc and gnd and I'm probing between the resistor and the diode with the scope. Once the diode starts conducting, the line will get high (tested it, the receiver works).Edit: It would be useful if you could tell me which one is the RX and which one is the TX diode on the meter, because they're the same color and I have to reverse the "adapter" for each test I'm making

author: Simon Loell
author_rank: Contributor
timestamp: October 02, 2013, 12:08:09 pm
content: Which AVR are you using?What compiler?What clock rate etc.If you give me the details, I will try to mock up a setup exactly identical. In that way we can exchange our code.Regarding the IR diode and phototransistor, can you make a schematic - just a handwritten, so no misunderstandings will occour.

author: jadew
author_rank: Frequent Contributor
timestamp: October 02, 2013, 02:45:53 pm
content: I'm using an attiny2313.Compiler: avr-gcc, altho the code at this point is just a pulse generating thingie, so nothing special there.Using the internal 8Mhz clock, however, the timing for this protocol should be easily met with pretty much any clock speed.As you can see from the code, there's not much to it at this point. Also, if you're going to use that makefile, make sure you're changing the fuse settings to match the chip you're testing on, otherwise you might brick it.

author: Simon Loell
author_rank: Contributor
timestamp: October 02, 2013, 07:58:49 pm
content: You're observations regarding the init pulse was correct.It seems the 10 ms pulse comes first, then some data from the multimeter, and then the clock.I will try to see if I can manage to get some communication answers on a Tiny2313. I even found my vintage STK500 board. It's a bit dusty but I think it will work:-)Regarding RX and TX sides: When looking on the multimeter from the back side, the multimeter RX is on the left hand side.On the picture I have my thumb closest to mutimeter RX and the propes in the background closest to multimeter TX.

author: jadew
author_rank: Frequent Contributor
timestamp: October 02, 2013, 09:30:37 pm
content: Hmm, interesting, so I'm either not transmitting the pulse correctly (maybe not the right power or it's not the right angle) or I'm not receiving the data.I'll try it with a hand held TX LED and will try to check the TX of the multimeter with my phone's camera, maybe it'll pick something up.

author: jadew
author_rank: Frequent Contributor
timestamp: October 02, 2013, 10:05:48 pm
content: alright... I'm getting a response, it seems the issue is that my TX diode is not strong enough, the RX side seems to work fine from pretty much any angle, but for proper TX I need to hold the LED against the small window, right in the middle and at a perfect 90 degrees angle.Would be really nice if that's all it took, a 10ms signal.Edit: going to look for a remote to tare down

author: Simon Loell
author_rank: Contributor
timestamp: October 02, 2013, 10:25:09 pm
content: I'm glad it worked out for you.I managed to burn the IR TX LED on my original communication cable!But I was lucky, it only took the LED. I'm back on track again.Did you make a loop including the clock cycles?, or did you only register the RX pin going high (active)?

author: jadew
author_rank: Frequent Contributor
timestamp: October 02, 2013, 10:38:02 pm
content: Sorry about your LED and I'm glad too it was only the LED.I managed to get a response using the old TX led, simply by increasing the power (I lowered the resistance to 150 Ohm).I'm about to make the clock tick. I'll let you know how it goes in about 10-20 minutes.

author: Simon Loell
author_rank: Contributor
timestamp: October 02, 2013, 10:47:55 pm
content: For your info, some respons will get back when making the clock tick. I can see the TX led on the multimeter blink with my mobile camera.I'm building a foot for my LED TX and RX on some plastic at the moment.

author: Simon Loell
author_rank: Contributor
timestamp: October 02, 2013, 11:11:28 pm
content: And the proof!I know the setup should be glued, and the phototransistor amplified, but at least now we know how to interface with the BM869.The lower purple signal is the clock generated from below code on a ATtiny2313 and the IR LED is connected to a NPN547 with a 470ohm resistor to 10V.Code:#include <avr/io.h>#define F_CPU 8000000UL#include <util/delay.h>int main(void){unsigned char x;PORTD = 0;DDRD = 1;while (1){//send init pulse on 10ms.PORTD = 0;_delay_ms(10);PORTD = 1;_delay_ms(125);//send 160 clock cycles.for (x=0; x<160; x++){PORTD = 1;_delay_us(75);PORTD = 0;_delay_us(75);}PORTD = 1;//wait 20ms before next package._delay_ms(20);}}The upper blue signal is measured on the phototransistor, which means transmitted from BM869.

author: jadew
author_rank: Frequent Contributor
timestamp: October 02, 2013, 11:27:08 pm
content: Nice!I pretty much did the same thing, but I'm not getting anything out..Here's some screenshots and my code:

author: jadew
author_rank: Frequent Contributor
timestamp: October 02, 2013, 11:36:48 pm
content: GOT DATA!I just had to move the Tx diode a bit, it seems it wasn't strong enough to carry the clock.

author: jadew
author_rank: Frequent Contributor
timestamp: October 02, 2013, 11:52:50 pm
content: Well, good job!Now... this is what I think the protocol is:1) The device sends a 10ms pulse.2) It then waits until the meter sends something. I made my code time out after 600ms.3) Once the meter has sent something, the clock starts. On my meter the time between the Tx signal and the first signal from the meter is only 60ms, as opposed to the 120ms you got on your measurements. My guess is that you have to wait for the meter to say something first, otherwise you might end up reading the LCD buffer in the middle of a change. I suspect the signal from the meter comes when the LCD buffer is in a stable state and can be read.Reducing the delay between reads to 20ms, as you did, will yield the next signal from the meter at about 120ms, which makes sense, because it takes a while before the next LCD buffer is ready.4) My guess is that it's setup on rising, sample on falling, where rising means active LED.Let me know if this makes sense or if you have corrections or any other ideas.Edit: Just did some clock stretching experiments and it looks like number 4 is right.Edit 2: For the kicks, I also tried to read more than 160 bits, nothing else came outEdit 3: I changed the code a bit and attached it in here. Most notably, I changed the pins because PD0 and PD1 are used for serial communication and this code will output what it reads over serial, at a 125000 baud rate. The 20 bytes are in hex, followed by \r\n.Edit 4:I updated the attachment. I changed the endiannes and negated the bits, since (because of my hardware) I was sampling them inverted.I also included a header file which maps the bits in the first 15 bytes to the LCD segments. I don't know what the other 5 bytes mean, but 4 of them seem to always be 0x86, while the other one seems to always be 0.Practically, at this point we can build our own cables and build software for them that understands the data, however for the cable to be compatible with the original software, we'll need a USB enabled chip. I don't know if V-USB is a viable option here because I'm not sure if we can meet the timing requirements of both USB and the meter. In my clock stretching experiments, I didn't have much success in stretching the clock too much over 2ms / cycle. I'm happy with this solution anyway, but I'll look into giving it USB support too, over the weekend. The cheapest MCU with USB that I know of is the PIC18F14K50.I also attached two screenshots that give away the meaning of the first signal from the meter and the setup/sampling edges. It all becomes obvious when the clock is stretched to 1ms/cycle.

author: microbug
author_rank: Frequent Contributor
timestamp: October 03, 2013, 07:55:20 am
content: Has anyone else noticedthis?

author: jadew
author_rank: Frequent Contributor
timestamp: October 03, 2013, 12:21:32 pm
content: @microbug,Yes, but it's the protocol for the cable, not the meter. It's also what confused me, because I was living under the impression that there's a more complicated handshake.

author: rastro
author_rank: Frequent Contributor
timestamp: October 03, 2013, 02:32:47 pm
content: Quote from: jadew on October 02, 2013, 11:52:50 pmGreat detective work. I'm looking to purchase a Brymen. I'd rather build my own cable and also make it OSX compatible.You may also consider the New Pro Micro ATmega32U4 5V 16MHz. Selling on eBay for around $8.00US delivered.http://www.ebay.com/itm/New-Pro-Micro-ATmega32U4-5V-16MHz-Replace-ATmega328-Arduino-Pro-Mini-/181177986498?pt=LH_DefaultDomain_0&hash=item2a2f0cadc2

author: Simon Loell
author_rank: Contributor
timestamp: October 03, 2013, 03:03:14 pm
content: Not because I wan't to make this a religions war on PIC vs. AVR, but I too would prefer an AVR. Mostly because of my experience.And the Pro Micro Arduino board you link to Rastro, looks very promising. It only needs a power stage (SOT23 N-FET) for driving the TX IR LED.I won't be making a lot of measurements before monday, but this project has triggered somthing in me.

author: jadew
author_rank: Frequent Contributor
timestamp: October 03, 2013, 03:21:56 pm
content: Yeah, I'd prefer an AVR as well. I guess we'll see, I'll do some tests tonight, after work, with V-USB and if the USB stuff takes less than 1ms to complete, it shouldn't interfere with our clock too much and we could do this with a tiny25, tiny2313.As for the TX transistor, looks like it could do with out, but I guess it's better to have it in. It needs about 30mA (in my case), which is doable from one pin on the tiny2313.

author: jadew
author_rank: Frequent Contributor
timestamp: October 04, 2013, 04:52:31 am
content: @SimonAny chance you can dump the HID descriptor of the original cable?Edit: HID Report Descriptor.

author: jadew
author_rank: Frequent Contributor
timestamp: October 06, 2013, 01:39:39 am
content: Simon, thanks for the report descriptor!Will post code and schematic in a bit.Edit: I added the schematic and the code.Now here's the deal, I didn't use the original cable's VID and PID, because brymen owns them, this means the cable here won't work with the original software since it's looking for a different VID/PID pair.EnjoyEdit2:Changed the schematic a bit.

author: aurel
author_rank: Contributor
timestamp: February 18, 2014, 10:49:58 pm
content: As suggested before, you should really have a look at Brymen's protocol documentation. You can find the BM869 one inside the BM860-Bs86x windows software distribution fromhttp://brymen.com/product-html/software-download/. It is indeed the documentation of the USB protocol of Brymen's official cable, but it seems to have only a very thin layer over the raw IR protocol.In the documentation the transfer is described as one 27 bytes packets, but in fact, it is the concatenation of 3 USB HID interrupt transfer, each one composed of one HID report ID byte (always 0x00) and 8 actual payload bytes. So if you remove the HID report bytes, the actual packet is 24 bytes, the last 4 of which are always 0x00 in my experience (probably USB HID padding). So this leaves us with only 20 bytes of actual content, which is.... tadammm... 160 bits ! (does that ring a bell ?)Looking at the scope capture of the IR data, the encoding seems to match perfectly Brymen's documentation (without the HID report ID bytes), with each byte transferred LSB first. Each bit of the IR transfer represents one segment of the LCD.So it seems Brymen's cable just packs the raw IR data into some standard USB HID interrupt transfer, without any other kind of transformation.I hope this can help you support more features with your home made cable.

author: jadew
author_rank: Frequent Contributor
timestamp: February 19, 2014, 04:14:50 am
content: Hey,Thanks for posting, but the cable is already complete since my last postAnd you are correct, there's not much to it, it's just the data they describe in that document.From the code I posted last time:Code:switch (read_step){// Report 1// First report consists of a blank byte + the first 7 bytes readcase 1:outbuf = 0;memcpy(outbuf + 1, buff, 7);break;// Report 2// Second one consists of the next 8 bytes readcase 2:memcpy(outbuf, buff + 7, 8);break;// Report 3// This one consists of only 0x86 in the 4th byte while the other ones are "Don't care"case 3:outbuf = 0x86;break;}

author: jancelot
author_rank: Regular Contributor
timestamp: July 05, 2014, 08:29:14 pm
content: So, did anyone achieve a data-logging to the computer of the 869S using custom software and hardware? I would like to see the whole thing.

author: Simon Loell
author_rank: Contributor
timestamp: July 06, 2014, 07:45:40 am
content: Hi Jancelot.The best chance is propably with Jadew. I haven't looked into the project since sniffing the protocol. And my primary whish is to be able to log both temperature channels, so my motivation isn't that high.maybe next winther I'll be writing a Visual Studio program just for the practice.-Simon

author: bfishman
author_rank: Newbie
timestamp: February 11, 2015, 06:33:58 am
content: This is digging up an old post, but I'm also curious if either of you gentlemen continued your efforts on this project?

author: Simon Loell
author_rank: Contributor
timestamp: February 11, 2015, 06:45:59 am
content: Hi bfishman.I haven't worked further on the project.All hardware issues are solved, so the only part missing is coding a program for a PC. I would sigges c# in Visual Studio, since it is a common language and Visual Studio is free.-Simon

author: jancelot
author_rank: Regular Contributor
timestamp: February 11, 2015, 08:04:42 am
content: Hi Simon Loell, is the complete documentation available on the internet or is just a work of yours?

author: Simon Loell
author_rank: Contributor
timestamp: February 11, 2015, 08:48:56 am
content: I haven't searched the internet, but all information should be available for you in this thread.A short brush up:Segment info: #15https://www.eevblog.com/forum/testgear/brymen-ir-connection-protocol-anyone-sniffed-it-yet/15/Schematic info: #18 picture1https://www.eevblog.com/forum/testgear/brymen-ir-connection-protocol-anyone-sniffed-it-yet/15/] https://www.eevblog.com/forum/testgear/brymen-ir-connection-protocol-anyone-sniffed-it-yet/15/Protocol info: #34https://www.eevblog.com/forum/testgear/brymen-ir-connection-protocol-anyone-sniffed-it-yet/30/-Simon

author: jesuscf
author_rank: Frequent Contributor
timestamp: February 07, 2016, 05:52:38 pm
content: Although I bought the USB Interface Kit to communicate with the BM869s multimeter, I decided to give the information posted in this topic a try and built myself a serial interface adapter using an IR LED and photo transistor together with a C8051F38C micro-controller and FT230 USB to serial adapter. Attached are some pictures. Probably the most useful thing I can share is how I made the IR adapter. I used a few pieces of 1/32 single sided PCB copper clad (very easy to cut with scissors!) to attach the IR LED (QED123) and photo transistor (QSD124). The long pins of the LED and photo transistor were bent to add some 'spring' to the adapter for a firm but gentle fit to the BM869s. Hopefully the roundness and softness of both the LED and photo transistor would prevent any scratches to the adapter window of the BM869s. Finally, I encased the whole adapter with pieces of PCB to make it more robust. The PuTTY screen capture shows the response to some of the commands I implemented in my program: '*idn?', 'meas?', 'meas1?', 'meas2?', 'print', Ctrl+c, 'meas?' (after changing the selection to ohms), and 'meas?' (after changing the selection to temperature).

author: markone
author_rank: Frequent Contributor
timestamp: February 08, 2016, 12:13:01 am
content: Quote from: jesuscf on February 07, 2016, 05:52:38 pmNice job.I too have the BM869 and it's USB cable (BU-86X) with whom i have a problem : i'm not able to see it as a COM port under Windows 10.It's logging program works but it's useless for me, i know that the USB cable has inside a Cypress CY7C63743 and it's supported by SigRok, but i have to write a Labview driver ....

author: jesuscf
author_rank: Frequent Contributor
timestamp: February 20, 2016, 04:09:45 pm
content: Yesterday night I made another IR adapter for the BM869s multimeter. I took some pictures of the process, so here they are:Step01.jpg: I already started when I realized I may as well take some pictures and share them in the eevblog forum. I am using 1/32" single sided copper clad pcb. 1/16" pcb is too thick for the BM869s.Step02.jpg: This picture shows the dimensions of the base and the location of the holes for the IR LED and photo transistor.Step03.jpg: The holes are 4mm in diameter.Step04.jpg: I needed to file the base a bit so it fits the BM869s.Step05.jpg: This picture shows the location of the isolated pads for the IR LED and photo transistor.Step06.jpg: I used an Xacto knife and small file to create the pads. It took some time. Etching may have been faster.Step07.jpg: This picture shows the IR LED and photo transistor with the leads bent before soldering to the base.Step08.jpg: The IR LED and photo transistor are soldered to the base. I use Pb free solder!Step09.jpg: A four conductor ribbon cable is soldered to each of the pad.Step10.jpg: Time to make the 'case'. Let start with the sides.Step11.jpg: The two sides cut to size.Step12.jpg: The two sides are soldered to the base.Step13.jpg: The top is sketched in the pcb.Step14.jpg: The top is attached with two pieces of wire. The wires are solder to the top as shown in this picture.Step15.jpg: The top is soldered to the sides. Note how I bent the ribbon cable to provide some strain relief.Step16.jpg: Another view of the almost finished adapter.Step17.jpg: The adapter was a bit loose in the BM869s, so a couple of drops of solder were added to the sides for a firmer fit.step18.jpg: The completed adapter in the BM869s.

author: jesuscf
author_rank: Frequent Contributor
timestamp: February 21, 2016, 08:40:44 am
content: In order to make it more accessible, I ported my C program to communicate with the BM869s and decode its output to the Arduino board. It is my first Arduino program ever... but it apparently works as expected. I don't think .ino files can be uploaded to the forumso I renamed the source code 'bm869s.ino' to 'bm869.ino.c'. If you want to use it back with the Arduino IDE you have to rename the 'c' file back to just 'ino'. Also, attached to this post are: a simple circuit diagram, a picture of the connection of the IR adapter (described previously) and the Arduino (using a breadboard), and the output from some commands as displayed in the Arduino IDE terminal.Note: I arbitrarily selected TX_PIN as pin 12 and RX_PIN as pin 11 in the Arduino board.

author: jesuscf
author_rank: Frequent Contributor
timestamp: February 22, 2016, 12:06:49 am
content: Finally, here is a python script to display the data coming from the BM869s via the Arduino. Once again I had to rename the file from 'stripchart_BM869s.py' to 'stripchart_BM869s.py.c'. So before using it don't forget to rename the file so it has the .py extension! The attached image shows the output of the script.Note: I already fixed a couple of bugs in the script from the first upload.Note 2: Added script that works with Python 3.x

author: jadew
author_rank: Frequent Contributor
timestamp: March 15, 2016, 11:11:32 pm
content: @jesuscfNice job! your adapters look much better than mine.Here's what I did:

author: t1d
author_rank: Super Contributor
timestamp: May 11, 2016, 01:27:23 am
content: Yes, I am aware that this is an old thread.This is a pdf drawing of a prototype Eagle board that I intend to post to this thread. It is intended to use the design, posted earlier, with its specification of through-hole IR LED components and the needed Resistors, mounted vertically, on SMD pads. I still need to print out a scaled drawing and verify that all of the dimensions are correct. I will not be providing a schematic, because it is available in early postings and having a schematic tied to the board limits the tricks that I used to configure the board.I suggest using OSH Park for production of the board. They will do all of the critical cutting, for the board profile, and their solder resist coatings are superior to the Chinese houses. I think that the stronger coating will last longer on the connector’s twist-lock surfaces. I may post the Eagle files, there, also.I did not include a ground plane. This will aid in tweaking the board thickness, to mate with the lock bracket. I suggest having the board made in the thickest, no-up-charge plastic. If it is too thick for the lock bracket, it can be easily sanded. If it is too thin, the plastic can be built up with super glue and baking soda; this makes an excellent faux plastic. Just apply SG to the board and sprinkle on the BS. Repeat and sand, as necessary.Things that would be helpful:- If you would like an alternate board, having a lower profile, I need the make, model number and distributor for SMD style IR LED and Resistor components. 0805 size resistors should be “solderable,” by hand. The IR LED components will need to have solder pads on the top corners of their bases, to facilitate inverting them on the PCB. I don’t play with LEDs much, so maybe you know about these components better than I do…- Verification of the IR LED Resistor value… 150 Ohm, down from 330 Ohm?- My controller will be a PIC18F4550, as I have already developed it for other projects. I recall that someone was using an 18f series PIC. I would very much like that c code, if it was developed.- If anyone developed a computer-side program in Java, I would love to have that, also…- Any suggestions you have.I look forward to working on this project with you.

author: jadew
author_rank: Frequent Contributor
timestamp: May 12, 2016, 03:59:31 am
content: Ok, a couple of notes:1) If you used the schematic from post #41, you got the TX path wrong, but it should work like that too, only that you would use the MCU as a sink instead of a source.2) The LEDs are IR, not UV. Odds are it won't work with UV LEDs, since it's made to block visible light and UV is on the other side of the spectrum.3) You should probably make a piece of plastic that fits in there first, measure it and then try to get a PCB of that thickness.About the resistors, I went by trial and error, I guess it depends on the voltage you'll use and on the LEDs themselves. The reason one resistor is 330 Ohms and another one is 150 is because I needed more current in the TX one, but "less" pulldown for RX (so higher resistance).For the record, I'm happy with my ghetto adapter.Cheers

author: t1d
author_rank: Super Contributor
timestamp: May 12, 2016, 04:33:14 am
content: Quote from: jadew on May 12, 2016, 03:59:31 amGood catch! I will correct it.Quote from: jadew on May 12, 2016, 03:59:31 amDoh! Yes, IR not UV. I have edited my prior post.Quote from: jadew on May 12, 2016, 03:59:31 amI have a small piece of OSH Park board. I will use it to check the thickness. Great suggestion.Quote from: jadew on May 12, 2016, 03:59:31 amWell, I don't have to specify their values on the board, so folks can use whatever they need.The price for OSH Park boards, of the current profile, is less than $5/shipped/QTY(3). That's cheap enough...Thank you so much for your help! You made lots of really good points.

author: Jacek_Paw
author_rank: Contributor
timestamp: May 12, 2016, 07:34:43 am
content: If you already know that Brymen uses rs232 why don't you just use some RS232 sniffing computer software like Free Serial Port Monitor (HHD Software)?

author: t1d
author_rank: Super Contributor
timestamp: May 12, 2016, 05:17:17 pm
content: @ Jadew1) I was using JesusCF's schematic from post #54, because I thought it was the most recent. I didn't really study it out, but I think you are correct... The TX pin out would be configured to start low, go high when transmitting, through the Resistor and LED and on to ground. Is that correct?3) I tried a piece of OSH Park board in the bracket. It is slightly too snug. A tiny bit of sanding should make it perfect. But, folks can specify whatever thickness they like, when they order their boards.

author: t1d
author_rank: Super Contributor
timestamp: May 13, 2016, 02:07:49 am
content: Here is Rev2 of the board...1) Changed the IR LED circuit to what I think is correct. Please verify.2) Added an outline to build a box to house the components. I will likely build the box walls from thin paper board and pot the components, for strength and protection. Then, the box can be removed.Thoughts? Suggestions?I have printed the board outline. I hope to cut it out, tomorrow...

author: t1d
author_rank: Super Contributor
timestamp: May 13, 2016, 08:47:20 am
content: Well, if I ain't sleep'n, best to just play with the electronic stuff, right?I cut out the cardboard PCB template. The locking arcs and the length were dead on. The corner offsets were too deep.So, I have corrected the offsets and used the extra space to expand the box outline. See attached. I will go back through the print, cut, compare process and let you know how it goes...

author: t1d
author_rank: Super Contributor
timestamp: May 14, 2016, 12:09:04 am
content: I managed to get the template printed, cut out and fit tested. It looks to be good enough to order a set of boards from OSH Park, for further testing.It was difficult to determine from the paper template that the holes for the IR LED and Phototransistor are exactly in line with the ports on the DMM. This is about the only item that I am wondering about. So, having the prototype manufactured is necessary to make this final determination.I picked a fancy, play-on-words name for the board, because that is what all the cool kids do... "LOCKSTEP" This term means to move in mirrored unison, as a marching band would do... The board locks onto the DMM and the DMM and computer move in unison... The name is printed on the bottom of the board...Here is the OSH Park renderings. Notice that the price for 3 boards is just $4.10/shipped!

author: serggio
author_rank: Regular Contributor
timestamp: May 14, 2016, 09:24:15 am
content: Probably your IR emmiting/receiving LEDs placed slightly far away each other than in Fluke, then you might use my PCB that I developed for Fluke measuring devices with optoisolated UART connections.

author: t1d
author_rank: Super Contributor
timestamp: May 14, 2016, 12:59:36 pm
content: Wow, Serggio, that's real good looking work. Thank you for offering to allow us to use it. I have already developed a DMM to Laptop PIC18F4550 converter platform. I use it for lots of different projects. I just need to plug all the components together and I am ready to go.Tell me about your SMD components, particularly about the IR LED and Phototransistor. If I could find those two components, with their connector pads on the top surfaces, so I can invert them on my board, I would reconfigure the board, for people that want to use SMDs, too. I would like that type of IR interface, for myself. We need the light bandwidth to be 880nm, withI am working on a Homemade Reflow Oven, with my brother. All of the hardware has been developed. All that is left is for my brother to finish the code work.

author: serggio
author_rank: Regular Contributor
timestamp: May 14, 2016, 01:06:57 pm
content: Hi t1d. I did a lot testing with different IR diodes. I will help you later. Sorry, i'm not front of PC. What information you want to know?I using Vishay 5mm leds, photocurrents from 3 mm really weak and required preamplifier for good signal. 880 and 940 really doesn't matter? ??? iPhoneTapatalk

author: t1d
author_rank: Super Contributor
timestamp: May 14, 2016, 01:09:42 pm
content: Something odd happened when making this post... Here is the complete reply...Wow, Serggio, that's real good looking work. Thank you for offering to allow us to use it. I have already developed a DMM to Laptop PIC18F4550 converter platform. I use it for lots of different projects. I just need to plug all the components together and I am ready to go.Tell me about your SMD components, particularly about the IR LED and Phototransistor. If I could find those two components, with their connector pads on the top surfaces, so I can invert them on my board, I would design a second version of my board, for people that want to use SMDs, too. I would like that type of IR interface, for myself. We need the light bandwidth to be 880nm, with a low power requirement that can be driven directly off of the PIC 18F4550 pin.I am working on a Homemade Reflow Oven, with my brother. All of the hardware has been developed. All that is left is for my brother to finish the code work. An SMD version of this board would make a great first-run project.

author: t1d
author_rank: Super Contributor
timestamp: May 14, 2016, 01:11:59 pm
content: Quote from: serggio on May 14, 2016, 01:06:57 pmYes, I need to go, myself... I look forward to talking with you, later...

author: serggio
author_rank: Regular Contributor
timestamp: May 14, 2016, 02:43:18 pm
content: Quote from: t1d on May 14, 2016, 01:11:59 pmOk..This is just part of my uncompleted AN that I preparing for future posting, but some information can help you...QuoteAs for photodiode, I suggest you use leaded components instead SMD. For example BPV10(NF)http://www.vishay.com/photo-detectors/leaded-devices/Because of emitting diode in meters driving with small current for power saving, you need to most sensitive photodiode to have enough amplitude (over 1V) on resistor connected in series with your diode. SMD photodiodes with 50-60 uA output photocurrent will be big in size.http://www.vishay.com/photo-detectors/list/product-81128/In my board RX and TX LEDs this is just green and red emmiting LEDs for information purpose only. They can be excluded. D1 and Q1 - this is diodes for interface.Hope this will help you.

author: t1d
author_rank: Super Contributor
timestamp: May 15, 2016, 12:17:24 am
content: Wow, Serggio, that is really great information... I learned a thing, or two... Thanks! I look forward to checking out the links... I will be busy, tomorrow, too...

author: Sairus
author_rank: Contributor
timestamp: May 15, 2016, 06:22:27 pm
content: Hi everyone.I got brymen bm869 and right now try make my own usb cable (with blackjack and hookers).I got one question:Are someone try to emulate genuine usb cable?I try do it but brymen software not sending any command to my device (i use brymen VID and PID and software detect "bu86x cable" but when i try to read it return error "no data received"). I tried with pic18f4455/18f46j50 in proteus no result,i tried in real hardware no result,i even write simple program when micro get any data from usb bus it light up the LED and it works when i send any data from hid terminal but not work with brymen software.

author: serggio
author_rank: Regular Contributor
timestamp: May 15, 2016, 06:34:59 pm
content: Are you sure that your adapter receiving all data without error? Can you check with oscilloscope what signals from photodiode you have?If you want to make good working cable it's no possible to do without oscilloscope. Why you use PIC? Simple USB-UART IC should be enough.

author: EEVblog
author_rank: Unknown
timestamp: May 18, 2016, 04:59:20 am
content: Brymen BM257 protocol is here:http://www.brymen.com.tw/product-html/software-download/Protocols/6000-count-digital-multimeters-r1.pdfBM869 is here:http://www.brymen.com.tw/product-html/software-download/BM860-Bs86x-V6003s-use-BC86X-Win7.zip

author: jadew
author_rank: Frequent Contributor
timestamp: May 18, 2016, 05:14:38 am
content: Hey Dave,Thanks for the video. It looks like the protocol described there is for their serial adapter. Given that the data you get from it is a map of the LCD panel, it's possible the protocol between the meter and the adapter is the same as the one we found on the BM867.The only thing that will probably be different is that the BM235 won't have to wait for a trigger impulse, instead it will just output data with a time gap between the readings, since it doesn't have an RX diode.PS: You named your video BM235 vs BM235.

author: t1d
author_rank: Super Contributor
timestamp: May 19, 2016, 05:43:53 pm
content: Quote from: jesuscf on February 22, 2016, 12:06:49 amI am having difficulty opening the GUI. I used the rename function to try to remove the .c file extension. The file does, now, display in the menu list without the .c extension, however the Properties shows that the .c extension is still there.Anyone know how to clear this up? I am using Windows 8.1.EDIT: Solved; I needed to go into the Folder Properties settings and enable seeing the full file name.Still need to know: I am not accustomed to Python scripts... What software do I need, and how do I run, the app?EDIT: I wasn't sure that I even had Python on my computer, so I installed v3.5... I still don't understand what to do next...Board Update: The Eagle boards are in production at OSH Park...

author: JackM
author_rank: Regular Contributor
timestamp: May 20, 2016, 02:49:39 am
content: Quote from: t1d on May 19, 2016, 05:43:53 pmRun the script using the Python interpreter. How did you install Python? I'm guessing that you didn't add the python interpreter to the PATH environment variable since the default install doesn't do that. You should however have the "py" Python launcher program though, since that is installed by default.Open a Windows command prompt, change directory to where the python script is, and then run it withCode:py script_filename.pyHave a look here if you're still stuck:https://docs.python.org/3/using/windows.htmlYou should also note that jesuscf's python script that he posted makes use of a few other python libraries (numpy, matplotlib, etc). You will also need to install these libraries to python before you can use them. If they're not installed, python will give you an error when it attempts to import them.

author: t1d
author_rank: Super Contributor
timestamp: May 22, 2016, 04:02:27 am
content: Thanks, Jack, but I must admit this is outside of my skill set... Python27 was already installed on my laptop. I have also installed Python35. But neither seem to be added properly. I have gone into the system environmental variables to get the path, but I don't see the path information for either of the Python versions. So, I don't know the path to add to the command line... If it sounds like I might have some understanding, please know that I am faking it...

author: t1d
author_rank: Super Contributor
timestamp: May 22, 2016, 03:09:22 pm
content: I found a video with simple instructions and I installed the path for Python27:Now, I am working on learning how to run the Reflow Oven script, itself...

author: serggio
author_rank: Regular Contributor
timestamp: May 22, 2016, 07:47:44 pm
content: Gentlemen,Could you explain me, why you using PIC controller for your project instead of FTDI USB UART IC? I do not have any experience with Brymen, but Is suppose than they also use UART communication interface, because UART present in every microcontrollers. This is just Rx and Tx lines.

author: jadew
author_rank: Frequent Contributor
timestamp: May 22, 2016, 07:51:53 pm
content: @serggio,It's not the same protocol. It just transmits a stream of bits, each representing one segment of the screen.

author: serggio
author_rank: Regular Contributor
timestamp: May 22, 2016, 07:59:46 pm
content: Quote from: jadew on May 22, 2016, 07:51:53 pmWhat you mean protocol? I asking about hardware, not about protocol. UART or COM, or USB, this is interface. Protocol can be defined by sets of commands, can be on physical or program layers.How your connection adapter introduced inside of Brymen software? Like USB or COM device?

author: t1d
author_rank: Super Contributor
timestamp: May 23, 2016, 01:57:11 am
content: Quote from: serggio on May 22, 2016, 07:59:46 pmHi, Serggio,I joined in this thread, long after it was begun. It appears that the controller was selected early in the development. The Arduino controller platform was the groups preference, most likely because 1) of its ease of use, 2) lots of people already own one and 3) everyone's familiarity with programming it. This history is on the first couple of pages of the thread.I will be using my controller design that I built around a Microchip PIC18F4550. It is similar to what is called a "Pinquino," a controller platform developed by the Microchip user community, in response to the Arduino.I am using it, because 1) I have the hardware completed, 2) my brother is finishing up the software for all sorts of applications and 3) it is fun to use what we have built, ourselves. The PIC18F4550 will receive the IR code information and send the information to my laptop, by USB.I don't think it is a matter of anyone thinking that one type of controller system is better than another. I think it is about what people simply want to do. However, these are just my personal observations and suppositions; I certainly am not speaking as a leader of the group. It just looked to be a fun project, of benefit to me, as I own a BM869s, and somewhere where I could make a contribution to the group, by designing the Eagle hardware files... I say use the controller of your choice and go for it...

author: t1d
author_rank: Super Contributor
timestamp: May 27, 2016, 02:33:59 am
content: Re: Lockstep BoardsMy Lockstep boards have arrived from OSH Park. They were ordered on the 13th and came today. So, 13 days to delivery; not bad.I have not had time to work with them, fully, yet. But here are my observations.1) It appears that the curves on the board will seat properly in the brackets.2) I will have to sand the tops of the curves, just a hair, to get them to slide under the bracket.3) My concerns as to the placement of the IR components seems to have been correct, meaning that they will need to be moved in toward the center, a bit. I did use the 6mm measurement. But, this measurement may have been to the edge of the hole? I thought it was to the center of the hole.4) All the pads seem to be adequate.5) OSH Park placed break-off tabs on the curved ends of the board. I will sand them off, but I need to remember to ask them to refrain from placing them there, on the next batch...I am pleased with these, as a prototype. I think I will be able to get all the information from them that I need to finalize the design.I still could use instructions on how to launch the Python GUI from the command line. I have installed the path, correctly.

author: t1d
author_rank: Super Contributor
timestamp: May 27, 2016, 06:21:24 am
content: I have done some measuring and confirmed that the center of the IR components should be at 7mm, not 6mm. So, I have reworked the board. Here is what I think the final layout will likely be... The sanding and testing the fit are still pending.

author: t1d
author_rank: Super Contributor
timestamp: May 27, 2016, 10:05:31 pm
content: Re: Lockstep BoardI have done the final sanding and the board locks into the bracket, perfectly. I only had to sand off the break-off points and remove the top coat of the solder resist, under the bracket tab areas. It was very easy, and very minor, work.Then, I built up the PCB, using purple LEDs as substitutes for the IR components. This made for a cool looking mock-up and made it possible to check the hole locations in the board. Yes, the holes did need to be relocated, inward.Changes:1) Rearranged component names to make them more legible.2) Moved the logo from the bottom surface to the top, to limit scratching of the DMM lens and reduce the thickness of the board.3) Moved holes, inward.4) Moved the IR component pads, for better access.I have contacted OSH Park, regarding not placing break-off points on the curved edges. Ordering the final (I hope) design is pending their reply.My new cell phone doesn't want to give me access to my pictures. I will try to have a friend make some and get them posted. But, no promises. Here is the lastest draft jpeg.

author: serggio
author_rank: Regular Contributor
timestamp: May 28, 2016, 07:11:21 am
content: You need rearrange not only component name, but entire all board should be redesigned.You need go to double side PCB to prevent tracing connectors between components pads. Your board highly noisily with current designs.Central pads is just contact pads or soldering pads? If it soldering, change it to connector pad.R1, R2 pads seems oversized for standard 0805 components tooSent from my phone using Tapatalk

author: t1d
author_rank: Super Contributor
timestamp: May 28, 2016, 07:51:56 am
content: You make a good point about the noise, Serggio. I did give the design considerable thought and I did have to make compromises.The traces are routed on top of the board, because the bottom of the board mates to the meter. This mating surface will be exposed to wear, which would erode any traces routed on that side. Additionally, traces on the bottom would add texture to the bottom and cause additional wear.SMD pads were used as solder points for the through-hole components, because their pins can not penetrate the board. The through-hole components will require their pins to be trimmed and "feet" bent on the pins to rest on the pads, for soldering. I used this method to mock up the prototype, today, and it works well.One thing that I could do to improve the trace clearances is to reduce the width of the traces. I used traces that are much wider than needed. I will heed your advice and make them more narrow, to try to avoid the noise problem, now.Adding a ground plane might be an option, also. I will give that a look.Only testing will indicate, if the noise level is a problem. I will only be able to do that level of testing, after I get the new version of the board.Please feel free to propose your own design. I would be glad to have your help.I would like to make a SMD version of the board, also. But, I am having difficulty locating the IR components in SMD. If you know of these components, please let me know.Thank you very much for your observations.

author: serggio
author_rank: Regular Contributor
timestamp: May 28, 2016, 08:24:35 am
content: Make double side board with mini USB or other small one connector (molex and etc.) and join board to your meter with double side stickly (Scotch) tape. You will not need to disattaching board and scratching your meter, just attaching connector will be needed for connect it to PC.But this is still bad, because your controller will be at separate board and you will need connect it with your board by wires.When I worked with my prototype with same design (like your), I used ~ 50 cm wires between boards. I was not able to have good signal from my photodiode because of big capacitance in wiring and etc. It was worked, but not enough well. When I placed tr/rx diodes to main board I received double strength signal it tx line.I do not know what SMD led may be suggest to you because I dont test it. I told you about Vishay they have wide range diodes in any cases. Check availability required components to you and do some testing.This picture from my final board where I measured signal on Vishay TEFD 4300 photodiode in series with 68 kohm resistor.On my prototype board with wiring connection I have twice less signal with 36 kohm and with 68-100 kohm signal was not acceptable to convert it to TTLSent from my phone using Tapatalk

author: npelov
author_rank: Frequent Contributor
timestamp: May 28, 2016, 03:28:10 pm
content: I checked the links in the first few posts and they didn't work, so I decided to post a link to all the protocols:http://brymen.com/product-html/software-download/Protocols/I didn't read the whole thread, so sorry if it's already posted.

author: t1d
author_rank: Super Contributor
timestamp: May 28, 2016, 05:50:29 pm
content: Quote from: serggio on May 28, 2016, 08:24:35 amThis is a good suggestion, but it is not the type of functionality that I, personally, desire. I want to be able to remove the silicone cover to access batteries, fuses, etc.Quote from: serggio on May 28, 2016, 08:24:35 amYou may recall that the others that designed the system are using controllers separated from the IR board by wire. I am using this type of system, also, so a wire is necessary. They were able to get it to work. I am hopeful that I will be able to, also. Some folks lowered the resistor values to increase the output.Quote from: serggio on May 28, 2016, 08:24:35 amI did research the SMDs that you suggested. The best that I could tell, the SMD IRs have a higher amperage draw that could not be readily fulfilled by the USB power supply. I may have that all wrong, as I do not know much about these components.Quote from: serggio on May 28, 2016, 08:24:35 amYes, that is a cool picture. You have very nice measurement equipment.

author: serggio
author_rank: Regular Contributor
timestamp: May 28, 2016, 06:02:36 pm
content: Quote from: t1d on May 28, 2016, 05:50:29 pmHi t1d.Could you explain please, what you mean above? To receive signal from photodiode you should connect in reverse to your chain. That is mean cathode to positive rail, anode to resistor, resistor to ground rail. Absolute max reverse voltage for photodiodes usually 30-60 V. USB is 5 V only. You can use any photodiode in USB powered device.Could you post your schematic pls?

author: t1d
author_rank: Super Contributor
timestamp: May 28, 2016, 06:52:51 pm
content: Hi, Serggio,Not voltage, rather, amperage. The controller can only supply 20mA, per pin, if I remember correctly. The SMD IRs seemed to require more than that, if I read the specs correctly.I did not develop the schematic. I used the IR portion of the circuit specified at post #41/Pg 2.

author: t1d
author_rank: Super Contributor
timestamp: May 28, 2016, 06:54:52 pm
content: Here is the updated board, per Serggio's suggestions.

author: serggio
author_rank: Regular Contributor
timestamp: May 28, 2016, 06:58:57 pm
content: Quote from: t1d on May 28, 2016, 06:52:51 pmYou telling about emitting LED. But you need use it in series with resistor! Resistor for limiting current consuming by LED. If your LED have 1,2 V forward voltage for 10 mA, then you need connect resistor in series 5-1,2 = 3,8 V. R=U/I = 3,8/0,01 = 380 Ohm.

author: t1d
author_rank: Super Contributor
timestamp: May 28, 2016, 07:15:44 pm
content: Quote from: serggio on May 28, 2016, 06:58:57 pmThere was a discussion of the needed value of the resistor. Because flexibility in the value seemed to be needed, I did not specify the resistor values on the board; I simply provided the pads for whatever resistor might be used. My contribution to the development is really about making a board that will lock into the bracket, without having to make the board from scratch. JadeW will need to address your question, as to the resistor value. You are providing impressive help! Please keep it coming!

author: serggio
author_rank: Regular Contributor
timestamp: May 28, 2016, 07:23:31 pm
content: Quote from: t1d on May 28, 2016, 07:15:44 pmYou no need to print components nominal on board. Only name needed.Newer try projecting board without schematic! You need have complete tested solution first, then you can trace your board according your scheme and place it to production!

author: t1d
author_rank: Super Contributor
timestamp: May 28, 2016, 08:11:31 pm
content: Yes, that is the typical method of proper development. From my understanding of the work of the other contributors, the circuit has been tested and was successful.You may have noticed that I have not released the my Eagle file, yet. That is because I will prove the design, for myself, before offering it to others.I am having the prototype boards manufactured, because they are so cheap and I have had limited success, with printing my own boards.Please stay involved and keep me on the right track. I appreciate you!

author: t1d
author_rank: Super Contributor
timestamp: May 29, 2016, 10:00:54 pm
content: I built a cardboard form to try potting the components on the board in hot glue. It is cooling, now.Here is what I recommend:1) Lay out the measurements of the box on thin cardboard; 32mmL x 10mmW x 32mmL x 10mmW. Make the fence high enough to cover the components and their bent leads... Mine is 12mmH.These dimensions will change on the new version of the board.2) Cut the cardboard, vertically, at the vertical points. Do not cut the horizontals, yet.3) Cover the cardboard with tape that is resistant to the hot glue... Kapton tape would be good.4) Cut the horizontal line and remove the fence strip from the remaining cardboard. Do not cut the vertical tape joints.5) Fold the fence strip into a rectangle with the tape to the inside of the fence.6) Cover the outside of the fence with tape.7) Secure the fence to the board. The fence will try to float up and allow glue to ooze out the bottom, if you don't secure it well.8) Make a heat shield to protect the wiring.9) Heat a stick of hot glue and fill the cavity. I used a heat gun.You could use proper potting, or some sort of glue, but I did not want to go to that expense, for prototyping.I can make a drawing, if the instructions are not clear.EDIT: Things I learned- Make a dam, out of aluminum foil, and wrap it around the convex end of the IR components, to close the gap between them and the board, to prevent glue from filling their holes.- Cover the bottom of the board with tape, to protect that surface.- Make the fence higher than needed, to accommodate shrinkage, due to the cooling of the hot glue.I have an extra board, if someone would like to:- Verify the traces- Verify the fit in the bracket- Practice pottingI would be glad to mail it to anyone in the USA/Lower48. Just send me a pm with your mailing address.Please know that the IR component holes are not exactly in the correct spot, so this is not a functional board.

author: t1d
author_rank: Super Contributor
timestamp: June 01, 2016, 01:21:51 am
content: I have ordered the updated boards from OSH Park, as of tonight.

author: t1d
author_rank: Super Contributor
timestamp: June 11, 2016, 05:28:32 pm
content: The new "Lockstep" Digital MultiMeter interface pcb boards arrived, today. The fit into the bracket on the DMM remains good and is consistent. Break-off tabs were placed on the curved locking surfaces, again. You may recall that OSH Park could not offer a good solution for that.The corrected hole positions for the infrared components seems to have improved alignment with the DMM's infrared components; the alignment appears to be perfect. This allows proceeding to the next step, soldering up a working prototype. That's exciting...I have thought of a method to prevent the potting material from seeping under the IR components. The convex lens of the IR components will be seated in Viton o-rings and mated to the PCB board. The hole in the o-ring will facilitate light communications. Green, Viton o-rings are heat and chemical resistant, which aids the use of various potting agents.

author: t1d
author_rank: Super Contributor
timestamp: June 12, 2016, 01:00:12 am
content: I have discovered a couple of more things, this afternoon...- I have learned how to prevent the solder mask from being printed on the curved tabs that mate to the bracket. This means that this paint will no longer need to be removed by sanding, etc... See jpeg- I am having difficulty finding an o-ring that will work to seal under the IR component lenses. The problem is that the o-rings are too thick... The thickness covers the IR component pads... I will have to devise another method.

author: t1d
author_rank: Super Contributor
timestamp: June 15, 2016, 01:38:53 am
content: Hmm... Seems my last reply did not post?I finished assembling a Lockstep prototype board. This is a fully functional prototype, not just a mock up model. I am well satisfied with the soldering. I will not pot the components, in case the resistors need to be changed to different values.I want to test the Lockstep, so I will build a go-no-go circuit on a breadboard. I want to power it with 5 volts, as this is what the PIC18F4550 uses. The phototransistor will drive a common LED as an indicator light. The circuit only has a few parts... A power source, a LED and its resistor, and the Lockstep, of course... That's it...I have ordered the most recent revision of the Lockstep board, mostly just for fun, but I also want to see how the "paint" stop works for the curved locking surfaces. The boards that I have on hand are perfectly usable for prototyping.@ Jadew - Did you use the QED123 and the QSD124? If not, please tell us what you did use. I reread the whole thread, but I didn't see this information. And, for whatever you are using, please tell us about how you are supplying the needed voltage and amps. Thanks, yet again!

author: JackM
author_rank: Regular Contributor
timestamp: June 15, 2016, 06:15:14 pm
content: Nice progress t1d! I would be interested in getting one of these boards for my own Brymen BM867s if you do find that they work as intended.

author: jadew
author_rank: Frequent Contributor
timestamp: June 15, 2016, 10:59:53 pm
content: Quote from: t1d on June 15, 2016, 01:38:53 amJust some generic IR diodes I found in my parts bin. I think I bought them a long time ago from dx.com or buyincoins.

author: t1d
author_rank: Super Contributor
timestamp: June 16, 2016, 02:06:49 am
content: I have done some testing of the IR componentry, tonight, and I am not getting the results that I expected.Here is some background:I had Jadew explain his IR circuitry to me. Here is his explanation:"Hey Tom, PD6 in that schematic (the RX input) is set to high impedance, so the MCU doesn't have much influence on what happens there. Now, the RX diode is tied to VCC and connected through R4 to ground, that means that the point between the diode and the R4 (on the PD6 input) will be at ground potential when no light shines on the diode, because the LED won't conduct, but the resistor will and it will pull the line to ground. When you shine light on it, it becomes conductive and the diode will try to pull the line to VCC - 0.6V. In order to do that, it has to be able to pull the line harder to VCC than the resistor is pulling it to ground. This means that the resistor has to be high enough to allow the diode to do that easily, but also low enough to be able to quickly pull the line back down when light goes off.I selected it by trial and error. Basically I put my oscilloscope on the PD6 input and changed resistors to see how the waveform changes. If the resistor was too low (it was pulling harder to ground) then the signal was having trouble getting to a high level, if the resistor was too high, then it was having trouble getting to a low level.I think what this means is that 330 seems to be the right value for the diode I used, but it may very well worked for what you have too.For the TX LED, it's about the same, but you have to make sure you don't feed more current to the LED than it can take. Ideally, you want it to be as bright as possible. In my case I fed it more than its rated current (5V / 150 Ohms = .033 mA), but that's up to you. Try with a 330 Ohm resistor first and see how it goes, if it works, then there's no reason to make it lower. Also, check the datasheet of the MCU and see how much current you can source from an I/O."I have laid out a circuit on my breadboard. See jpeg.- R6 and the IR-LED are Jadew's transmit circuitry. I powered it directly from my 5v supply. Jadew drives it off of the chip pin. It makes no difference to the IR-LED from where it gets it supply, so long as it does get proper power.- R5 and the PT are Jadew's receive circuitry. See above, for his description of how the circuit works. The PT is grounded through a 330R resistor. It also feeds the Rx pin on the Controller. I approximate the chip with the resistor/LED indicator light, shown in the gold box. These resistors were random breadboarding parts, with values adding up to more than 200R and less than 1000R.- I am using the QED123 and QSD124 IR components. I don't think these are the parts that Jadew used.My breadboard circuit is intended to switch the indicator LED on and off, by covering the PT. However, this is not the response that I get; the LED illuminates with the PT uncovered, or covered.I will need to back up a step and test the IR components, individually, for functionality. Also, I am not feeling well, tonight, therefore I could have easily missed an obvious circuitry problem, particularly balancing the resistor values (that's above my pay grade,) or wired things incorrectly on the breadboard. Anyway, this is what I have been playing with...

author: t1d
author_rank: Super Contributor
timestamp: June 16, 2016, 09:42:03 am
content: Here is a little math, for the voltage divider created by Jadew's 330R resistor and my 500R resistor array:Indicator LED VoltageEn = Et * (Rn/Rt)En = 5v * (500R/830R)En = 5 * (0.6)En = 3vSo, the indicator LED is seeing approximately 3 volts. This is a descent voltage for it... And, purely a happy accident!PT VoltageEn = Et * (Rn/Rt)En = 5v * (330R/830R)En = 5 * (0.4)En = 2vThis is below the maximum 5v rating.However, I think I have the IR LED/QED123 circuit wired in parallel to the above. So, those numbers need to be considered, but not tonight... Also, the resistances of the IR LED and the PT might should be included...Any insight into what I have wired incorrectly is appreciated.

author: t1d
author_rank: Super Contributor
timestamp: June 16, 2016, 12:58:25 pm
content: Quote from: JackM on June 15, 2016, 06:15:14 pmJack, I have sent you a private message.

author: t1d
author_rank: Super Contributor
timestamp: June 16, 2016, 05:43:47 pm
content: I have been thinking on how to create the box to pot the Lockstep components. The method I mentioned, earlier, will work just fine, but I wanted to make it better. So, here are my thoughts... See jpeg.Find a bottle cap that is just smaller than the width of the Lockstep Board. You want the curved locking edges of the board to be outside the diameter of the cap. I am using a cap from a 90 day supply Nexium bottle. Drill a hole in the center of the cap that snugly accommodates the board's wire.Solder up the Lockstep, with its wire and components. Pass the wire through the hole in the cap and seat the components (upside down) inside the cap. Seal the hole, around the wire. Pour in potting fluid. You need to fill the cap with potting fluid, until the fluid is sitting proud of the top of the cap... Bulging above the top of the cap, but not running over. This will make sure that the potting fluid is making contact with the Lockstep board and completely covering the components. Once cured, solder the wire to the controller.This method has several advantages:- The cap creates a proper knob shape that will be easy to twist to lock the board to the DMM.- The cap creates a ready-made "box," in which to pot the components.- Potting with the components pointing downward into the cap/box means that the potting fluid will not seep through the IR component lens holes so easily. But I still recommend sealing the holes, best as you can... Maybe a little toilet paper and white glue?Things to note:- Put a weight on the Lockstep board to hold the components down in the cap, before filling it with potting fluid.- An old coiled cord from a phone handset makes a nice, stretchy wire. It has the needed four conductor wires. However, it does not have a ground shield.

author: Sairus
author_rank: Contributor
timestamp: June 22, 2016, 06:21:07 pm
content: Ok plan B,I have not turned the original idea so I did everything from scratch.I made a cable to the microcontroller and wrote a program(Temporarily not possible to build charts but the program itself is quite functional)On further development, I will write here.In the help tab of software is a description how to make your cable.https://www.dropbox.com/s/h4swxm0kkngq294/brymen%20rs.exe?dl=0

author: JackM
author_rank: Regular Contributor
timestamp: June 22, 2016, 06:57:12 pm
content: Quote from: Sairus on June 22, 2016, 06:21:07 pmWow, that looks great! Such a simple circuit design too. The software looks actually quite good, I like the interface. Thank you for taking the time to write the documentation on the software and circuit.I did get a few unhandled exceptions while I was playing around with the software (never actually had a DMM connected), but otherwise looks good.I assume that you made the PCB yourself using acid etching?

author: Sairus
author_rank: Contributor
timestamp: June 22, 2016, 07:41:50 pm
content: QuoteI apologize for my clumsy English in PDF.I have tried to write all the necessary information to create your own cable,repeat my design is not necessary.Initially, I did everything for myself but then I thought that if I share software that i can really save time for others people.QuoteI found bug fix it. this is a beta version and sometimes shit happens ))) but it usually happens when you open port / closed port during operation, it seems stable.Quotephotoresist + FeCl3 (initially I cut a suitable piece of board then drilled holes and then made a placement of elements.)

author: t1d
author_rank: Super Contributor
timestamp: June 23, 2016, 01:09:43 pm
content: Wow, Sairus, that is really great work! Nice Job!1) I downloaded your GUI and it launched just fine. I have not tried connecting my DMM, because I am still working on my interface cable.2) As I am familiar with PICs and have the 12F683 on hand, I will be using your design. I will be setting up your circuit on an Eagle PCB Board (like I did with Jadew's design,) for myself. Now that I have the board sized correctly, it is very easy to put different circuits onto it. It is very cheap and easy to have board's professionally made, once the Eagle files have been developed.I have been notified by OSH Park that my final revision of Jadew's board has been mailed to me. They should arrive no later than Monday, I would think. I will assemble one, verify everything and, then, post those Eagle Files. I will do the same thing for Sairus's design, in the future.

author: t1d
author_rank: Super Contributor
timestamp: June 24, 2016, 03:53:12 am
content: - Attached is Sairus's schematic as a jpeg, for ease of use.- As Sairus's PIC12F683 controller requires an USB interface and my PIC18F4550 controller platform already has the USB interface, I will stay with using my controller platform. However, I will be continuing to make the Eagle files for Sairus's beautiful little circuit.@ Sairus- May I have a Bill of Materials for your circuit, please? It would really help me to select the proper footprints for the components that you use in you design. Or, just give me the sizes of the passive components...- May we please have your source code for both the PIC12F683 (this would really help me configure the PIC18F4550, for this application) and your GUI?- Would someone please review my IR test Circuit at Post #105 and tell me if there are any errors? If it is easier to just propose a complete test circuit of your own design, that would be fine... I just need an easy way to test in-circuit IR component functionality, without having to complete the firmware coding.Thanks for the help...

author: Sairus
author_rank: Contributor
timestamp: June 24, 2016, 02:45:21 pm
content: Quoteactually not,my software work with serial port so it not necessary use usb (uart usb adapter).You can use max232 and connect device straight to RS232,or use bluetooth module and make wireless connection. Potentially you can use esp8266 to use wifi connection.QuoteI use what i found in my mini stock /R1 R2 C2 smd 1206/ u1 pic12f683 soic8/C1 just tantalum capacitor/ in my design not so many components so thruhole components fine tooQuoteGUI is not finished I work at graphs part,for now i prefer not share source code is need some tweaks. For PIC i usemicroC PRO for PICi not sure that you can use my code but i have PIC18F4550 so i can make hex file for you.

author: t1d
author_rank: Super Contributor
timestamp: June 25, 2016, 03:17:35 am
content: Quote from: Sairus on June 24, 2016, 02:45:21 pmHmm... I thought that the PL2303 was for USB? What does it do?Quote from: Sairus on June 24, 2016, 02:45:21 pmOkay, that's enough information to rough in the PCB layout. I have already started working on it. Might this be the first real SMD project that I cook in my DIY Reflow Oven? I hope so!Quote from: Sairus on June 24, 2016, 02:45:21 pmWell, yes TH components can be used, but only by bending feet on their pins and soldering to SMD pads... This is the way Jadew's board works. The pins may not pass through the board... They would scratch the DMM lens...Quote from: Sairus on June 24, 2016, 02:45:21 pmWell, that is perfectly understandable...Quote from: Sairus on June 24, 2016, 02:45:21 pmEven though someone else might be using a different compiler, it is pretty easy to see what is going on, from the code. I could learn a lot from it, as I am still learning to code in C.Quote from: Sairus on June 24, 2016, 02:45:21 pmWow! Thanks for this wonderful help! You made my day! I look forward to receiving it!

author: t1d
author_rank: Super Contributor
timestamp: June 25, 2016, 03:40:48 am
content: The final version of the Jadew's Tiny2313 LOCKSTEP PCB arrived, today... Yeah, they're gorgeousIt is too late, tonight, to bundle up the files, but I will be posting:- The Eagle board file... I did not make a schematic, as it is in Jadew's design information.- I will make a pdf file for those people that want to etch their own board.NOTE: I have not verified the circuit completely through a working model... I am still trying to create a test circuit that will see the IR and notify me that it saw the light. But, I can't imagine there are any problems.I am making these particular three boards available to anyone that wouldn't mind helping me defray the development costs of Jadew's project, say $5.50/shipped/USA and $7.50/shipped/International. There may be some other functional parts and pieces; I'll have to see what pops up... (There is likely to be a completely finished, potted unit...) I will not be making a profit, at that, but that is not the point... I live on a fixed income, and any costs I recover can be put into the next projectSend me a private message, if you are interested...

author: t1d
author_rank: Super Contributor
timestamp: June 25, 2016, 04:25:02 pm
content: As promised:- Eagle Board File- PDFs, copper and silkscreen, front and mirroredFile is zipped, because website does not accept, natively, Eagle files...Sairus's board is next!

author: t1d
author_rank: Super Contributor
timestamp: June 26, 2016, 12:32:18 am
content: I have verified that my prototype of Jadew's LOCKSTEP does transmit and receive infrared light. I did not attach it to a controller, I just banged together a breadboard test circuit and verified changes in voltage, on my DMM.The next step, with this prototype board, is to try the potting method that I mentioned previously. Progress, to that end, includes finding a method to seal the IR components to the board, to prevent epoxy from getting into their holes, in the board.I tried working hot glue around the "bulbs" with a toothpick. This made an awful mess. Next, I drew up some white, wood glue, into a printer ink refill syringe and used its needle to place the glue. This worked very well.I used Elmer's "Max" wood glue. This has a little bit of wood dust already mixed in with the glue. The wood dust prevented the glue from running under the bulbs and filling the holes. Excellent.Tomorrow, I hope to try potting it. I'm too tired to try tonight... Sairus's board will have to wait, too...

author: t1d
author_rank: Super Contributor
timestamp: June 26, 2016, 01:15:11 am
content: Sairus, I would think that I would use the same value of resistors on my IR LED (330R) and Phototransistor (200K), for my PIC18F4550 controller, as what you are using for your PIC12F683 controller, correct? Please teach me the math that is used to determine these values. Thanks for your help...EDIT: Wait a minute... Isn't this just using Ohm's Law to get the resistor value needed to adjust to the forward amperage required to run the IR device? Same as with a common LED?

author: Sairus
author_rank: Contributor
timestamp: June 26, 2016, 08:19:05 am
content: how to choose resistor for LED.1) Check the voltage drop on led (Vd)2) Find out what will be the operating voltage (Vs)3) Decide how much we need current (it is selected on the power supply capacity, or the maximum output current of IC pin,and LED Imax)IR=(Vs-Vd)/IremarksIf the calculated resistance value non-standard should be taken nearest appropriate. (After you select you should recalculate current)When LED work or heating it voltage drop decreases slightly sometimes it is necessary to take into account.In my design, I take current value approximately equal to half of the maximum as LED is located very close to the photodetector, and no need for high brightness (less current will increase reliability).In case of phototransistor is also possible to perform calculations on the basis of the manual but I do not know what model I have and what it features and is unknown to me consecrated created by DMM LED. So I just found right in experimental way.I made HEX for you (speed 9600 standart settings) i test it with my software it work OK.https://www.dropbox.com/s/qyisyfoqxdlw4gz/bu%2086%20uart.hex?dl=0circuit in attachmentsvalue of R3 must be chosen experimentallyTo do this, run the COM Port terminal and view the data packetsend of package must always be the same is indicator of a well-functioning cable01 11 be a1 fe fc 7c 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe fc e4 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe fc da 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe fc a0 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe fe fc 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe a8 be 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe 7e fc 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe 7e fe 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe e4 a8 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe e4 7e 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe e4 7c 01 00 be bf be be 0400 86 86 86 86 80possible terminal will display data like thisfc a0 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe fe fc 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe a8 be 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe 7e fc 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe 7e fe 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe e4 a8 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe e4 7e 01 00 be bf be be 0400 86 86 86 86 8001 11 be a1 fe e4 7c 01 00 be bf be be 0400 86 86 86 86 80so it can be difficult to understand if everything is okay

author: t1d
author_rank: Super Contributor
timestamp: June 26, 2016, 03:15:42 pm
content: Quote from: Sairus on June 26, 2016, 08:19:05 amThank you for this! It really helped to correct my thinking. I get lost in the math, sometimes...Quote from: Sairus on June 26, 2016, 08:19:05 amFantastic! Thank you for all your hard work!!!You may recall from my prior posts that my controller is a fully developed platform. (I apologize, if this was not clear.) My brother writes the software for us. He has already coded all the chip configurations and coded various functions, including USB communications. So, I will not be using the USB converter.He has also written code to read various analog and digital signals. So, he would probably just needs to see the portion of your C code that is transmitting and reading the data, to compare it to the way he might write that portion of the code and to make sure it would work with his existing code. If you wouldn't mind, may we please have that portion of the C code? Even though it is written for a different compiler, he probably can figure it out, particularly if you have made comments. (We are using MPLAB X IDE. He does not like it and we will be changing to something else, in the near future...)Thank you so much for your kindness and generosity! You make the internet a wonderful world-wide community!

author: t1d
author_rank: Super Contributor
timestamp: June 26, 2016, 03:33:08 pm
content: @ Sairus - I noticed on Ebay that there are ready-made USB cables that have on-board UART converters. They are very inexpensive. Would specifying the use of that type of cable remove the need for the PL2313 to be on the board, thereby making your board a little more universal to use, for people that are using PICs that have USB capability?

author: Sairus
author_rank: Contributor
timestamp: June 26, 2016, 07:13:09 pm
content: Quoteif you read the instructions carefully you will see that I am using ready solution that you find on ebay.In additionPL2313 usb uart 1.1$http://www.aliexpress.com/item/Free-Shipping-10PCS-LOT-PL2303-PL2303HX-USB-to-UART-TTL-Cable-module-4p-4-pin-RS232/32246850839.html?spm=2114.30010308.3.225.YAGSFd&ws_ab_test=searchweb201556_8,searchweb201602_1_10037_10017_405_507_10033_10032,searchweb201603_11&btsid=bc2e7bb7-9fbc-41fb-b088-b1af303c4accSimple PIC12F683 1.38$http://www.ebay.com/itm/1Pcs-PIC12F683-I-P-PIC12F683-DIP8-MICROCHIP-IC-MCU-FLASH-2KX14-20MHz-2V-5V-/281783031814?hash=item419b93d806:g:Iz8AAOSwY45UNRN-they two cost less than one micro with USB on board.

author: t1d
author_rank: Super Contributor
timestamp: June 26, 2016, 11:52:25 pm
content: Ah, saving money... Excellent idea...

author: t1d
author_rank: Super Contributor
timestamp: June 27, 2016, 09:39:42 am
content: @ Sairus - I have not been able to sleep, tonight, so I have worked on your design. I have made the first draft of the Eagle schematic and board layouts. I have attached jpeg images for you to review. If you see needed corrections, let me know and I will fix any issues. (I already see that I left the capacitor values off of the schematic. I will correct this.) When you have given your final approval, I will post the Eagle files and pdfs, as I did for Jadew.I determined that my confusion over the PL2313 being on the board was from not understanding that the UART-USB box on the schematic was just to represent this off-board component. I was further confused by the big capacitor, below the PIC12F683 in the photograph; I thought it was the PL2313.Once I had this straightened out in my mind, I was able to follow your board layout. You came up with an elegant design and did well with avoiding cutting off access to ground.There are a few minor differences to my representation of your work:- You used 5mm holes for the IR components; I used 4mm holes. This is from the early design work of others, who determined that the smaller holes made a nice seat for the convex lenses and kept these lenses from being able to be scratched by the DMM lens. The smaller hole also helps prevent seepage, when potting the components in epoxy. However, if you would rather have 5mm holes, I would be glad to change them.- All resistors and capacitor footprints are SMD 1206. (If you specified SMD IR components, your design could be fully SMD. This would reduce the interface profile. That would be very cool.)- Please confirm that the value for the resistor for the phototransistor is 200K.I am enjoying working with you, very much; you have excellent skills. It is great to be making another friend on the other side of the world. Hurray for the internet!EDIT: You might want to swap the location of C1 and C2, to place the smaller cap closer to the chip pin. Also, I had made other minor changes to your board, that I forgot to mention... I added an independent ground pad, whereas you had attached the ground wire to a cap ground pin. And, I put both caps at the top of the board. This placed the cap that was below the chip a little closer to the pin, decreased the distance between the voltage coming onto the board and then being smoothed and removed a trace from underneath the chip, improving noise considerations. I have already added the cap values to the schematic.

author: t1d
author_rank: Super Contributor
timestamp: June 27, 2016, 02:41:46 pm
content: @ SairusWould these work?Mouser.comIR Emitter - Part Number: 782-VSMB2000X01IR Phototransister - Part Number: 782-VEMT2000X01

author: JackM
author_rank: Regular Contributor
timestamp: June 27, 2016, 03:00:06 pm
content: Quote from: t1d on June 27, 2016, 09:39:42 amAfter looking at the board layout, I was wondering about the placement of the +5V, ground and RX pads. They seem to be placed in sort of random spots on the board. It would be nice if they were all together, and perhaps the pads could be changed to allow for adding a surface mount 0.1" pin header on the board? I was thinking something like this:http://www.digikey.ca/product-detail/en/harwin-inc/M20-7870246/952-1771-ND/3727740I think it would make connecting the lockstep board to a USB cable a lot simpler.

author: t1d
author_rank: Super Contributor
timestamp: June 27, 2016, 05:21:36 pm
content: Quote from: JackM on June 27, 2016, 03:00:06 pmHey, Jack,Thanks for working on this with me... Good observations... I like the connector idea.The wire pads were placed with some intent... proximity to pins, having the cable centered over the board, and, in the case of the ground, making sure that it was not cut off from any component's ground pin, by a trace. The cable does not necessarily need to be centered, but that is what is typical and it would make twisting the board into the bracket easier, by some minor amount, because it is over the center axis of the board.5V and C1 (I suggest C1 be the 100n resistor) could trade places, though the present arrangement has the advantage of less trace between C1 and the pin (reduces the trace/antenna length.) RX could be turned 90 degrees and GND could be worked in below RX. With a little tweaking, all off the wire pads could be lined up on the left side of the chip, just slightly off axis.If you use Eagle, I would be glad to send you the working files and you can play around with it. I would find it fun to have someone to work with on the "magic art" of board layout design.Ultimately, I just want Sairus to make any final decisions and for him to be pleased with his creation.I was going to post a cleaned-up revision of the board, but I see another mistake. So, maybe in a little while.Thanks so much for helping. Please remember to let me know about the Eagle files.

author: t1d
author_rank: Super Contributor
timestamp: June 27, 2016, 05:33:09 pm
content: Sairus's Boardv2Cleaned up some details to get the ground plane to fully flood the component zone.

author: t1d
author_rank: Super Contributor
timestamp: June 27, 2016, 06:46:17 pm
content: @ JackHere is your design. The USB cable will have to have "feet" bent on the wires. If all of the toes on the feet point left, making all of the ankles be placed on the right side of the pads, then the cable will be centered on the board. I like it. What do you think?

author: Sairus
author_rank: Contributor
timestamp: June 27, 2016, 07:31:06 pm
content: Quotefor each model of phototransistor you need find right value.QuoteI think is suitableQuotecome on it just PCBQuoteit my imagination or Phototransistor is closer to edge of board than IR Emitter?

author: t1d
author_rank: Super Contributor
timestamp: June 27, 2016, 11:43:05 pm
content: Quote from: Sairus on June 27, 2016, 07:31:06 pmOkay.Quote from: Sairus on June 27, 2016, 07:31:06 pm

author: t1d
author_rank: Super Contributor
timestamp: June 28, 2016, 12:14:19 am
content: This is a rough draft of my PIC18F4550 version. I have added dimension lines to illustrate the perimeter shift. It is approximately 0.2mm to the left (not right, as I wrote.)

author: t1d
author_rank: Super Contributor
timestamp: June 28, 2016, 03:25:54 pm
content: The issue with the orientation of the boards was that the outside perimeter of the board had slipped in relation to the placement of the components. As Eagle handles holes as components, the holes were off, too. Once I determined the problem, it only took a couple of moves to correct the problem, so I just corrected all the files. See below. Catching this error was amazing. Please proof my new work.My layout for the PIC18F4450 file will change, as I am ordering SMD IR components.

author: JackM
author_rank: Regular Contributor
timestamp: July 03, 2016, 09:21:24 pm
content: I received a board revision from t1d (this one) and populated it today. Haven't connected it up to an MCU yet to test it though.

author: t1d
author_rank: Super Contributor
timestamp: July 04, 2016, 03:40:33 am
content: Quote from: JackM on July 03, 2016, 09:21:24 pmHey, Jack...Firstly, some information for others looking at this. The board that Jack is working with is identical to the final revision of the board, with the exception that I sanded the solder resist off of the curved ends that mate with the DMM bracket, for him. Sanding is no longer necessary, as the final version restricts the solder resist in these areas.Jack, that's great looking wire work on the IR components. I see that you were able to fit SMDs on the resistor pads... Good trick. I had not planned that as a option. That will leave lots of space for attaching the wiring.I did build this board out, completely, and tested for it voltage, on my DMM, with a mirrored pair of IRs, mounted on a breadboard. I did not test it with a controller, as I do not have, or use, the Tinys. But, my expectation is that it will work just fine. I look forward to you verifying that.

author: t1d
author_rank: Super Contributor
timestamp: September 10, 2016, 10:19:27 pm
content: I was looking at the OSH Park PCBs of the final JackM design and trying to remember where I left off with this project. I believe that I posted the final designs for JackM and Sairus. I was working on my own design that would use all SMD components and would work with my choice of controllers, the PIC18F4550. I have designed that board, but I have not shelled out the money to order the board, or parts. Money is still a little tight and I don't know when I will be ordering them. Also on my list is to get the Python script to run on my laptop. I never have been able to run it.I have two copies of the final JackM Lockstep Board to share. If anyone is interested, send me a pm.JackM, did you ever try your Lockstep Board with your controller? I would really appreciate verification that the IR components are positioned correctly.Did anyone ever order a Sairus Lockstep Board?Does anyone know a way to get a Lockstep Board to communicate with the DMM for testing, without using a controller. The receiver side of the board could be tested with a simple IR Remote test circuit. But, is there a way to flash the transmitter to have the DMM flash back an initial "Hello?" This might not be worth the bother, but it might be fun...I would like to hear what others have done and maybe renew interest in the project.

author: JackM
author_rank: Regular Contributor
timestamp: September 10, 2016, 10:29:53 pm
content: I did attach the board to my Brymen BM867s and hooked up an oscilloscope to measure the phototransistor, however I discovered that without a covering over the phototransistor too much light leaks in from the side to get any useful measurement from it unfortunately.

author: Sairus
author_rank: Contributor
timestamp: September 16, 2016, 02:45:30 pm
content: QuoteQuoteDude I make for you firmware for PIC18F4550 Reply #120 it will communicate with DMM when you power it on (UART to USB not needed if you not plan send data to PC).

author: Sairus
author_rank: Contributor
timestamp: September 25, 2016, 07:13:13 pm
content: Finally i make full version of my GUI posted herehttps://www.eevblog.com/forum/testgear/brymen-bm869(867)-alternative-software/

author: luisprata
author_rank: Regular Contributor
timestamp: October 13, 2016, 02:30:31 am
content: Anyone working on a Bluetooth (and android app) versions?

author: Kennylxix
author_rank: Regular Contributor
timestamp: February 07, 2017, 08:50:08 pm
content: Hi I have a bm815 which appears to use the same ir connector. Has anyone tried this hack with the bm815?

author: flodins
author_rank: Contributor
timestamp: March 14, 2017, 06:24:32 pm
content: HiProtocols from Brymens site are for their cable adapter.I'm currently working on brymens raw IR protocols. My goal is to make universal IR adapter for all brymens.http://imgur.com/a/epGDahttps://cad.onshape.com/documents/6562f7b59556e8698e99aa2d/w/00ec8564ae82160f19d60def/e/b8ef244811088bef4636f195Here is a hacked protocol for the BM857 and my implementation in python:https://github.com/sogrom/PyInstruments/blob/master/BM857_PROTOCOLhttps://github.com/sogrom/PyInstruments/blob/master/openbry.pyRight now I'm working on BM857s and BM857a. Same pcb for BM515, BM511, BM817, BM815, BM812, BM811.If anyone would like to participate in this project in any way, it will be great.Currently circiut for OpenBry is using ft230x, but now new brymens will require some MCU on board, STM32L1 im my case.

author: kirill_ka
author_rank: Frequent Contributor
timestamp: May 12, 2017, 03:48:46 pm
content: If anyone's interested, amprobe am-140-a uses the same IR protocol as described here:https://www.eevblog.com/forum/testgear/brymen-ir-connection-protocol-anyone-sniffed-it-yet/msg300904/#msg300904

author: imk
author_rank: Regular Contributor
timestamp: March 31, 2018, 03:14:24 pm
content: Hello,Anyone have link to Brymen protocol please as all link in this thread seem to be dead.Many thanks imk

author: TWMIV
author_rank: Contributor
timestamp: May 09, 2018, 12:11:46 am
content: If you still need it, Brymen rearranged their website.The protocols for the various models are now here:http://brymen.com/product-html/Download2.html

author: e1e0
author_rank: Newbie
timestamp: December 08, 2018, 10:28:53 am
content: Just in case somebody is still interested on this ... or wants to build a cable, here is my experience with it.First, thanks to jadew and Simon Loell for the good work decoding the protocol. Also to jesuscf, I shamelessly took his "#defines" of the protocol definition for my own build.My idea was building the cable with things I already got at home and get a decent result. I had some ATTiny85 from another project, that plus the LEDs (I also had from some IR tests long time ago), plus 3 resistors and a BJT, all in a tiny small perfboard makes a fantastic cable. I use then one of those cheap USB to serial adapters to communicate with the micro. See attached schematic. The RX part of the software serial is not even connected, I did not bother in the end. I'm a bit ashamed of the code, but if somebody needs it, I can send it no problem.Perhaps the only real difference with what other folks have done, is that I designed a 3D printed enclosure that attaches to the meter, kind of a clone of the original, but a lot simpler. I based the design on pictures and my own measurements as I don't own the original cable. The STL file is attached. I hope somebody finds it useful.Cheers,e1e0

author: jdev99
author_rank: Regular Contributor
timestamp: July 22, 2020, 12:47:48 pm
content: Good job e1e0 (and all others who made this possible)I also am looking at building this interface for myself. I like your 3D printed attachment, will do the same. Thank you.

author: hals
author_rank: Newbie
timestamp: February 01, 2021, 09:21:51 am
content: Here's a simple 'C' implementation of Brymen BM857 optical interface decoding. Optical output to a photodiode/transistor can then be connected directly to a standard UART set to 7812 baud (128us bit time). No need for a microcontroller.https://github.com/halsampson/Brymen857

author: jorgemef
author_rank: Regular Contributor
timestamp: December 05, 2022, 12:03:40 pm
content: Hello,I built Sairus cable version in a breadboard and works fine with his software. I am using a standard USB-UART CH340G plus microcontroller 12F863.Anyway, this is only transmitting data, not receiving, as communication protocol with the BM869S is implemented in the PIC.Will this cable version work with any other software?I tried with original software and with the software in the bellow thread but does not works as these softwares expect USBHID support.https://www.eevblog.com/forum/testgear/program-that-can-log-from-many-multimeters/PS: The leds holder I did with refurbished car bumper PP, two layer stacked, and a dremel, in case someone needs ideas and has no 3D printer.Cheers,Jorge

author: p.h.
author_rank: Newbie
timestamp: July 22, 2025, 09:24:49 am
content: Quote from: flodins on March 14, 2017, 06:24:32 pmWhat is the status of the project? Have you achieved your goal? Do you share the final version of it somewhere?