Author Topic: Open-source optical interface for Brymen BM86x multimeters  (Read 1182 times)

0 Members and 1 Guest are viewing this topic.

Offline TykyoTopic starter

  • Newbie
  • Posts: 6
  • Country: be
Open-source optical interface for Brymen BM86x multimeters
« on: August 10, 2026, 03:56:52 am »
Hello,

I have developed an open-source optical interface for the Brymen BM86x series multimeters.

The goal is to replace the original PC interface solution with a custom-built IR interface and a desktop application for monitoring, plotting and data logging measurements.

One of the main goals of the project was to make the software truly cross-platform. The desktop application runs on:
  • Windows
  • Linux
  • macOS

The project consists of two parts:

🖥️ Qt desktop application
https://github.com/Tykyo/qt-brymen-86x

⚙️ Microcontroller firmware
https://github.com/Tykyo/qt-brymen-86x-firmware

The firmware supports several platforms:
  • Arduino (USB Serial / UART bridge)
  • RP2040 (USB CDC)
  • STM32 (USB CDC)
  • ESP32 (Wi-Fi TCP/IP)

The optical interface uses:
  • IR phototransistor for receiving data from the multimeter
  • IR LED for sending data to the multimeter

The interface itself is quite simple and can be built using inexpensive components. The firmware handles the communication with the multimeter and provides the appropriate interface to the host computer.

A video showing the fabrication of the optical cable:



The firmware also includes some platform-specific handling, for example keeping the SWD debug interface available on STM32 boards while using USB CDC.

The project is completely open source and released under the MIT License.

I know there are already several projects providing PC connectivity for the BM86x series, particularly Windows applications. The aim here is to provide an open-source, cross-platform alternative, while also keeping the hardware and firmware relatively accessible.

Feedback, suggestions and technical discussion are very welcome.
 
The following users thanked this post: ledtester, GotZapped, porter

Online Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 5359
  • Country: nl
Re: Open-source optical interface for Brymen BM86x multimeters
« Reply #1 on: August 10, 2026, 07:16:38 am »
I've got my own BM869s to become talkative with the code from Fenstergucker:

https://www.eevblog.com/forum/projects/brymen-bc-86p-usb-adapter-firmware-with-usbtmc-scpi

With that code it was quite easy to get it all to work, even though I used an Atmega instead of a PIC. :)
I used a photo diode / transistor I found in my junkbox, and a missing piece of documentation is the wavelength of the communication. You claim it's 940nm. Is that something that "just happened to work" or is there some documentation behind it? IR communication often still "sort of" works when the wavelength is off, but reliability decreases, and aging effects become more pronounced.
« Last Edit: August 19, 2026, 09:18:41 pm by Doctorandus_P »
 

Offline TykyoTopic starter

  • Newbie
  • Posts: 6
  • Country: be
Re: Open-source optical interface for Brymen BM86x multimeters
« Reply #2 on: August 10, 2026, 08:22:44 am »
I actually had the IR LED and phototransistor left over from another project, so I used them for the interface and tested them successfully with the BM869S.

The 940 nm figure is less certain, though. I seem to remember seeing 940 nm mentioned somewhere in relation to the BM86x optical interface, but I don’t have a Brymen document confirming it.

So I should probably qualify that in the documentation as an assumed/commonly reported wavelength rather than a confirmed specification. Thanks for pointing this out!
 

Online Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 5359
  • Country: nl
Re: Open-source optical interface for Brymen BM86x multimeters
« Reply #3 on: August 10, 2026, 02:37:55 pm »
I also neglected this earlier (The diodes from my junk box worked) but before responding earlier today, I spend about half an hour to both look though the manual of my BM869s and the BU-86X IR to USB dongle, and neither mention the IR wavelength.

My first hardware interface was mostly a proof of concept to get the software development going, but I have (vague / hopeful) ideas of turning it into a bigger system and even selling kits, and this will require more formal testing. One way to test (@ home) is to buy IR diodes (both send and receive) with different wavelengths, and then simply test which one works from the longest distance.

My fist attempt was with an IR gap type of device which I broke in half. But I could not get the Brymen to respond to that. (This could have been misalignment or some other non related problem). My second attempt "worked" and I just left it at that.

Just now I also had a short peek at one of the big stores. Apparently 850nm 880nm and 950 nm (also 945 nm) are commonly used wavelength for IR. I'm not even sure how relevant these differences are.

 

Offline TykyoTopic starter

  • Newbie
  • Posts: 6
  • Country: be
Re: Open-source optical interface for Brymen BM86x multimeters
« Reply #4 on: August 11, 2026, 02:08:51 pm »
That’s actually quite interesting. I was thinking about doing something similar.

I may have access to an Avantes AvaSpec-ULS2048x64-EVO spectrometer, which covers roughly 200–1160 nm. If I can get access to it, I should be able to measure the spectrum of the original BM869S IR transmitter directly through the optical window, without opening the meter.

I also made a small STM32F103 firmware for the experiment that can keep the BM869S transmitting continuously. That would make it possible to simply place the spectrometer’s optical fiber in front of the IR window and acquire the spectrum.

So if I can get access to the spectrometer, it should be possible to get an actual experimental value for the wavelength rather than just guessing from commonly used IR LED wavelengths. :)
 

Offline porter

  • Regular Contributor
  • *
  • Posts: 98
  • Country: us
Re: Open-source optical interface for Brymen BM86x multimeters
« Reply #5 on: August 15, 2026, 07:32:47 pm »
I'm getting started on this. Ordered the Nano and managed to build the firmware. I appreciate the effort and care that you put into this project. As PlatformIO and Qt development are something I haven't worked with before, this project will have dividends beyond the application.
 

Offline TykyoTopic starter

  • Newbie
  • Posts: 6
  • Country: be
Re: Open-source optical interface for Brymen BM86x multimeters
« Reply #6 on: August 16, 2026, 07:47:05 am »
Thanks for the support! I’m glad the project is useful beyond the application itself. 🙂

One small note if you build the project on Windows using MSVC: the build can occasionally fail while compiling the Qwt library.

By default, Qt Creator uses jom to build several files in parallel. Windows Defender can sometimes temporarily lock a file while scanning it, which can cause jom to report an error.

A workaround is to use nmake instead of jom, and pass QMAKE_CXXFLAGS+=/MP to qmake. MSVC will then handle the parallel compilation itself, which still gives you a faster build while avoiding the issue with jom.

I’ve attached an annotated screenshot showing how to configure this in Qt Creator. I’ll probably add this information to the project’s README as well.
« Last Edit: August 16, 2026, 07:52:29 am by Tykyo »
 
The following users thanked this post: porter

Offline porter

  • Regular Contributor
  • *
  • Posts: 98
  • Country: us
Re: Open-source optical interface for Brymen BM86x multimeters
« Reply #7 on: August 19, 2026, 07:51:51 pm »
Up and Running!
My setup worked with a 330 ohm resistor to 5V for the diode. Perhaps the placement of the diode didn't align.
 
The following users thanked this post: Zucca


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->