Introduction

With 25% off because the stores are closing down, these digital multimeters are a great bargain. I wanted to make a custom application so I had to dig around for some documentation until I found this . It's not the same model's PC communication sheet but so far it's been the same. With that, I began writing a C# application that would read the data from the multimeter.

After configuring Realterm according to the datasheet specifications I was able to read the incoming packets displayed as Hex[space]. I noticed that there was no software control for initializing the sending of the packets from the multimeter; as soon as the send button is pressed data transmits does not stop. This presents possible sync issues but I decided to address them later.


Process

The data sheet specifies how each of the 9 packets are used to display readings on the meter's LCD. Making a function for packets 4 through 7 is pretty straightforward- the same byte will always represent the same # value- but packets 2, 3, and 8 had to be hard coded since they're unique. Hard coding over 255 possible states was no fun so I started by coding a few of the most common parameters. Packet 1 for the mode also had to be hard coded but at least that's only 25 different possibilities.

After coding the states, byte-to-number function, and checking functionality I focused on aesthetics. My goal was to make it look as to the original as possible. I found a nice 7-segment display library and overlayed it over a picture of the multimeter's screen.


GUI

Picture on the left is what the final (so far) program looks. The text box on the bottom shows the 9 packets coming from the meter in decimal form. These packets are converted based on the data sheet above and display a number on the screen. Syncing is still an issue, connection has to be established first then data has to be sent from the meter, otherwise the program will think the first packet is a different one and count 9 packets from there. I was reading about the RTS and DTR pins and I think something can be done to fix the syncing issue but for now I'll settle with this.

In any case, this program is a good starting point. Custom applications can be made from it to graph data like an oscilloscope, turn on/off things if the values fall within a certain range, etc. Please feel free to contact me with any questions or suggestions. You can find the full code below:


Multimeter in Action

As can be seen on the video, I have to first connect to the correct COM port and then manually activate the meter to start sending data. The readings on the program and the meter's LCD are synchronized as I turn the dial through different modes. The current mode can be seen on the panel above the raw data.

Project files can be downloaded here.