back to index

Multimeters and their chips, with computer communication

There are many brands and types of multimeters. There are considerably fewer types of chips the meters are built around. Some meters, usually the more expensive ones, have built-in serial communication, usually optically separated UART. The UART can be converted to RS232, or to USB by several possible means - some meters use USB-serial converters and appear like a serial port, others use USB-HID chips.

Control chips

The multimeters are based on three kinds of control chips:

Serial output types

The RS232 meters usually use an optocoupler, or a discrete LED-phototransistor pair, for communication. The interface has two layers - the low-voltage UART, and the low or higher level protocol interface to the host computer.

The hackable meters are built around a chip that offers serial output, but the pin is not connected and function not enabled. It is possible to attach an optocoupler (maybe directly, most often transistor-driven). The serial output is rarely always-on, usually has to be enabled by momentary pulse or permanent connection (to ground, V-, or other power rail, see datasheet) on another pin.

As the base interface with the meter is usually a standard UART, even meters that come with a wrong type of interface can be usually converted to something else. Just find where the serial signal is (usually at the connector, or at an optocoupler), and attach the right one. (E.g. replace a dumb nonconfigurable USB-serial chip with a smarter one with an EEPROM that can be reprogrammed to report itself as the multimeter, or a HID one can be replaced with a serial one, to avoid the need for a driver. Or a RS485 transceiver can be added for a long-haul wired data transfer. Or a UART-wifi chip can be added for wireless logging. Or a Bluetooth serial interface, for connection to a smartphone; potentially even the internal multimeter's battery could be used here, as the wireless interface provides the isolation.)

Thoughts on 7106

The cheapest of cheapest meters use a simple ADC integrated with a LCD driver, usually a 7106 or similar chip. These are virtually nonhackable, spare connecting directly to the LCD output pins. There are typically 23 connections to the display, which makes this solution rather intensive in regards to the pins needed, and the AC-driving nature of the LCD (signal to segments either in-phase (off) or out-of-phase (on) with the backplane - sustained DC bias would damage the liquid crystals) adds to the unpleasantness. For 48kHz clock (3 readings per second) the LCD drive frequency is typically 60 Hz (clock divided by 800).

A direct-segment readout can be done either with a microcontroller that has enough spare pins, a lightweight FPGA that does the connection and decoding, a parallel-to-serial shift register to which the display data are latched and then clocked out serially, or a multiplexer for reading the segments one by one (together with the backplane signal, or even XORing it in hardware to get the direct on/off state of the segment).

When not sampling all the lines at once, it is important to take care of the changes in the backplane level. As the frequency is fairly low, the microcontroller can either watch for a change and then do all the sampling, or check before and after and if there is a mismatch the backplane flipped polarity during data acquisition and the data have to be discarded.

Or the chip can be entirely bypassed, and a separate ADC (e.g. a microcontroller input) connected to the 7106's analog input. The readings then can vary a little between the ADC and the 7106's display but the circuitry is way simpler.

Identification of Epoxy Blob Chips

The cheapo ones also tend to use the Unidentifiable Epoxy Blob chip packaging. This is particularly annoying. Sometimes the chip can be identified indirectly, as the blob sits on the board in a rectangle of solder pads where a more sanely packaged chip can be alternatively soldered on.

If the rectangle-o'-pads is available, counting the chip pins is easy. Start there and pick only the datasheets that match pin count.

The easiest pads are the ones to crystal or resonator. The xtal is nearby and easy to identify. If it is present, start there.

Other easiest pads/tracks to trace are those to the display pads. Identify these, compare their number and layout (and display multiplexing scheme) to the datasheets of the candidate chips. Repeat with power pins and any other signals you can trace, until you have no more datasheet left and the chip remains unidentified. (In rare cases you get a positive identification.)

If there are not too many pins, start with the crappy 7106 chip (40-pin), as it and its clones are the most common in these scenarios.

Safety devices

An important part of a meter, or a data acquisition unit in general, is the capability to withstand the unexpected. Dave Jones of EEVblog does an excellent job describing these.

Some known-bad meters are listed here.

In short, the important parts are:

Schematics

Various schematics culled from The Internets.

List of chips and the meters using them

With serial output (native RS232, USB, or hackable)

Mastech M343-01

Metex 89CR

Metex meters tend to use the same protocol: http://sigrok.org/wiki/Multimeter_ICs#Metex_14-byte_ASCII

Metex KS57C2016 

(Samsung KS57C2016 4-bit microcontroller with custom Metex firmware)

BTC AD-85-4

SH7108

datasheet serial output, non-RS232, needs external clock signal on CLK (36), output from pin 37, EOC (pin 39) goes to H at end of conversion when fresh data in buffer; 16 bits of data in buffer, with digits in BCD code, two bits for decimal point, one for polarity, no indication of modes nor anything else

CS7721

(similar to FS9721?)

FS9711A

TxD on pin 64, TXen on 84

Fortune Semiconductor FS9721-LP3

datasheet QFP-100, serial-out, Tx on pin 64, TXen on 84, 2400bit

FS9922-DMM3

FS9922-DMM4

QFP-100, datasheet TX on pin 92, TX-enable on pin 94

EF9922-DMM4

FS9952:

ES51862:

ES51922

datasheet QFP-128, serial-out, SDO at pin 123, RS232enable at pin 111

ES51960

ES51962

datasheet (serial-out, SDO at pin 94, RS232enable at pin 45)

ES51966F

datasheet QFP-64, separate ADC, needs additional microcontroller for display driving and output, talks via STATUS/SCLK pins, protocol described in the datasheet

ES51966P

datasheet QFP-64, separate ADC, needs additional microcontroller for display driving and output, talks via STATUS/SCLK pins, protocol described in the datasheet

ES51968

ES51978

datasheet QFP-100, serial-out, SDO at pin 94, RS232enable at pin 45

ES51986A

19C6RVT/M430F448 

(custom microcontroller)

UP01+FS970X

likely some custom-programmed microcontroller

Unknown serial-out presence

Without serial output

KAD0501

NJU9207

datasheet

SMC62MIF

KAD7001CQ:

7106

Various schematics here

ES5106E

(7106-like)

7129

(7106-like, with one more digit)

mysterious epoxy blob, usually without serial output

Table of chips and pins

chip package/pins xtal txout txenable display-seg+com+bias FS9721-LP3  QFP-100  61,62  64  84  14+4 FS9922-DMM4  QFP-100  86,87  92  94  32+4+1 ES51922  QFP-128  106,107  123  111  31+4+1 ES51962  QFP-100  79,80  94  45  26+4+1 ES51978  QFP-100  79,80  94  45  26+4+1 ES51966  QFP-64  50,51  54/55  not-uart n/a SH7108  QFP-48  5,6(4=RC) 36/37  not-uart 11+3 NJU9207B QFP-80  49,50  - - 10+4+1 7106  QFP-44  6,7(4=RC) - - 23+1 7106  DIP-40  40,39(38=rc) - - 23+1

Useful links


If you have any comments or questions about the topic, please let me know here:
Your name:
Your email:
Spambait
Leave this empty!
Only spambots enter stuff here.
Feedback: