Data Output of Digital Indicator

Previously, we looked at the mounting holes for a digital indicator.
Once you’ve got it mounted, you can read the LCD directly, or use the output for a digital readout (DRO) or numerical process control.

The data output cable included with the digital indicator has four wires to match the contacts on the tool.
Using a multimeter in continuity or resistance mode, I matched the colored wires to the following signals.

Data wire pinout

If you pop the button cell out of the holder in the tool, you can supply 1.5 V via the data cable.
Although I use a voltage regulator to supply long-term power, a temporary solution (in the event you suddenly run out of button cells) is to wrap a rubber band around a AA battery.

Inexpensive rubber-band single-cell AA battery holder

In the photo above, I declined to cut the cable cover from my data cable to spread the wires sufficiently to reach the ends of a AA cell.
Instead, I connected the yellow data cable wire to a classic black wire on the battery for ground, and the white data cable wire to a classic red wire on the battery for positive.
Just don’t inadvertently connect the wrong wires or the tool’s circuitry may be damaged.

Data Analysis

Because the digital indicator is based on a caliper, it has the same “24-bit” format as the data protocol for other imported calipers.
You should read that article for complete details.
However, what follows is a specific example.

The data arrives as:

One long bit

23 data bits representing absolute position since startup

One medium-length bit

23 data bits representing relative position since the clear button was last pressed

One medium-length stop bit

I only care about the second set of bits, since that matches the LCD screen.
A logic analyzer (digital scope) shows the following output:

Logic analyzer trace of the second set of data in the digital indicator output

The green letter ‘M’ indicates the medium length bit.
You can include this bit if you want to make the total a nice even 24 bits.
Or, you can ignore this and only pay attention to 23 data bits.
I’m going to focus only on the 23 data bits.

This example uses a positive value.
You'll need to put in additional work to convert negative numbers.
If the most-significant bit is high, then the value is negative.

The protocol specifies that you should read the data line when the clock transitions from high to low (called “trailing edge”).
The data line is allowed to change states during other times, and if you read it during high clocks, you'll end up with wrong values from the short glitches that you should be ignoring.
(There are three narrow state changes in the data line in the above image. If you follow the protocol, they won’t affect you.)

So, examining the value of the data line only when the clock line drops, you'll get the following binary digits:

0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1

Invert the bits.
(0 becomes 1, 1 becomes 0)

1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0

Reverse the order, since the device transmits the least significant bit first.

Divide that by 10240 to make it into inches.
(Divide by 20480 if you decided to grab the middle bit for an even 24 bits, in which case your number is 22018.)

1.07509765625 inches

Awesome!
The tool displayed 1.075 at that moment.

You may think that you can display the extra digits for improved resolution.
However, the capacitive technology used in the tool is simply not that precise.
The additional digits are essentially random noise.
Think about it, LCDs are cheap.
If there were legitimate additional digits to display, they would.

Where to Go From Here?

Because these are relatively cheap, you might pick one up to use as a hand tool.
Or, you might want to grab one to use the cable and battery with a caliper you already own.