Updated DRO Adapter for iGaging Scales

Tuesday, January 7, 2020

It's been almost two years since the release of last revision of TouchDRO Adapter for iGaging and Shahe scales. During that time I've learned a lot from the interaction with the customers and received a lot of good feedback about the board. Overall the board has been very well received and has proven to be mostly trouble-free. There were a few minor design decisions that caused some issues or confusion for some people, though. For 2020, I decided to tweak the design a bit to make it even more user-friendly. The new board looks very similar to the previous revision and functions pretty much the same, but has a few updates that will make it more convenient to set up.

Changes from Last Revision

The changes from the last version are pretty minor and include:

Micro-USB Power Connector

Instead of the 5.5mm center-positive barrel power jack, the new board uses a Micro-B USB female connector. The motivation for the change has been three-fold:

First of all, a surprising number of people damaged their TouchDRO adapters by using incorrect power supplies, ranging from simple overvoltage to using center-negative or even AC-AC adapters. Since USB phone chargers by-and-large adhere to USB standard's power requirements and wiring scheme, using Micro-USB power jack should provide some guardrails.

Second, Micro-USB phone chargers are pretty much ubiquitous and very inexpensive, while 5.5mm barrel AC-DC adapters are becoming extinct. Switching to Micro-USB should, thus, make finding an appropriate adapter locally much easier.

Finally, it opens up the possibility of powering TouchDRO from a USB power bank. Since the board draws relatively low current (on the order of 20mA), a moderately sized rechargeable USB power bank can power it for hundreds of hours.
Note: I have come across a few USB power banks that fail to detect the load (due to TouchDRO adapter's low power draw) and shut off after a few minutes.

Simplified Tachometer Pinout

I designed TouchDRO firmware to support directional tachometer, which requires two sensor inputs for A and B signals. While this was a well-intended feature, it turned out to be a source of confusion, since people with non-directional tachometer used the wrong line (B instead of A), etc. The new revision doesn't have the B line anymore (it's pulled down inside the MCU), so probe and tachometer inputs are now simple 3-pin headers.

All Header Pins on 0.1" Grid

Quite a few people who bought the original adapter board at a later time decided to upgrade to glass scales. The adapter board is pin-compatible with the Quadrature firmware, so it's possible to re-flash the board with it and add a simple 5V-to-3.3V buffer IC to plug in the glass scales. To make the addition more compact and convenient, I moved all header pins to 0.1" grid, so the board can be used with a prototyping board. I.e. one can build a simple "shield" with the buffer IC and plug it into the adapter board. Moreover, there is a 2-pin header that breaks out Vcc input from the Micro-USB power jack. Since most if not all phone chargers are regulated 5V power supplies, no additional voltage regulator would be needed for the glass scales.

Smaller Form Factor

Switching to the Micro-USB power connector enabled the board to be a bit smaller. While this doesn't matter for most users, for those who want to 3D-print their enclosure, smaller board will result in smaller enclosure, faster print time and less filament use. A more consequential changes is relocation of the power connector to the side of the board adjacent to the scale inputs. Power jack was on the opposite side on the old revision, which made finding a suitable enclosure a bit challenging. With the connector on the side any suitably large box can be used with the board mounted in the corner.

Board Specifications

Supported Scales

There are three variables that determine which scales a TouchDRO adapter supports out-of-the-box:

Communication Protocol

The firmware that comes pre-installed on this board can decode the following protocols:

  • iGaging 21-bit
  • iGaging Absolute
  • BIN6 (with fixed metric units)

Power Supply Voltage and Signal Level

The adapter supports scales that can be powered from 3V DC power supply and output 3V signal level. At the time of this writing, this includes iGaging DigiMag (and their rebranded counterparts), iGaging EZ-View DRO, iGaging Absolute DRO Plus, and Shahe "Remote Digital Readout" scales.

In addition, there are a few of other scales and indicators from Shahe and iGaging that output 3V signal; but it's a bit of a gamble since many Shahe scalesare powered by 3V battery output 1.5V signal in order to be compatible with legacy 1.5V data collection equipment.

Connector Type

The board comes with pre-installed USB Micro-B female connectors with pinout that is compatible with iGaging EZ-View DRO, iGaging DIgiMag and iGaging Absolute DRO Plus scales with Micro-USB cables. These scales can be plugged into the board directly.

iGaging DigiMag with Mini-B USB cables and their-rebranded counterparts use the same USB pin mapping and can be connected to the board using a straight via Mini-to-Micro USB adapter cable.

iGaging AbsoluteDRO Plus and the new Shahe "Remote Digital Readout with Square Display" scales use a different pinout and therefore, can't be used with a Mini-to-Micro USB adapter. Instead, these scales need to be wired directly into the board or a set of custom "pigtail" connectors or USB Mini-B breakout boards.

Finally, Shahe "Remote Digital Readout with Round Display" cables are hard-wired into the display unit; they might or might not have a USB Mini-B connector on the scale body. These scales need to be hard-wired into the board.

List of Supported Scales

The adapter supports the following scales:

  • iGaging EZ-View DRO - plug-and-play
  • iGaging DigiMag w/Micro USB - plug-and-play
  • iGaging DigiMag w/Mini USB - via Mini-B Female to Micro-B Male adapter
  • iGaging Absolute DRO Plus w/Micro USB - plug-and-play
  • iGaging Absolute DRO Plus w/Mini USB - via Mini-USB breakout board
  • Shahe 5403-xxxA (AKA "Digital Linear DRO Scales with Square Display") - via Mini-USB breakout board
  • Shahe 5403-xxx (AKA "Digital Linear DRO Scales with Round Display") - direct connection to the PCB

Pin Functions

Scale Inputs

The adapter supports up to four scale inputs which are connected directly to the MSP430 GPIO pins. During the boot-up, the firmware executes the protocol detection routine by configuring the pins in a particular way and listening for input. If no known protocol is detected, the input will be turned off and data for that axis will not be sent to the application.

Please note, during protocol detection, the clock pins output 21-bit clock signal for iGaging EZ-View scales. This might damaged any scales that are not 3V-tolerant such as some Shahe dial indicators and calipers.

Tachometer Input

Tachometer input is connected directly to the MSP430 GPIO pin and is pulled down to the ground internally and can be used with any sensor with 3V sourcing signal.

Touch Probe Input

Touch probe input is connected directly to the MSP430 GPIO pin and is pulled down to the ground internally. It can be used with any on-off type probe, either normally open or normally closed (the firmware will detect the type at startup)

Mechanical Dimensions


As you can see, the new revision has a few tweaks and updates that will make it a bit more convenient to use and offer better flexibility for people who might want to upgrade later. In particular, having all through-hole pins on the same 0.1" grid opens the possibility of adding a custom "shield" built on a regular prototyping board. By reflashing the firmware and adding a suitable input buffer or voltage amplifier circuit, the board can be upgraded for use with other types of scales. In the near future, I will be posting build instructions for a few different versions of such circuit, so stay tuned.


  1. Got my boards, and finally after a little fiddling around on my part, got it to work with my Dell Windows 7 Laptop.
    I really like that about this board... I just plug in my iGaging scales, and it just works! Awesome!

    1. So you can get it to work on a non-Android platform? What apps/drivers did you need?

    2. The app works only on Android, but the adapter doesn't really care to what it's sending the information. There is a number of Chromebooks that can run Android subsystem and run the app pretty well. At some point a few people installed Android on Raspberry Pis and that worked pretty OK too (with mouse and a keyboard)

  2. I've been trying to get this to work on a Raspberry Pi 3 and 4, and finally, after *months*, was finally able to get it to work on the 4 tonight. It's really convoluted (at least to me, as a Windows/DOS/embedded guy) but it's working.
    There's some weird behavior that happens when you connect but don't read the data right away, and I'm still learning to automate the establishment of rfcomm0, but that'll come.
    I can even read the data stream in C# under mono.
    Once I reproduce my work from start to finish, I'll clean it up and document it and post it.
    Thanks again for all your help!

  3. One thing I was wondering is, what are the units the board is outputting?
    The raw BT/serial data from the board is apparently relative, and depending on where my gauge is when powered up, I get various full-scale values. At least they add up correctly! ;-)
    Oh, it's metric, right? I was getting axis values of about 16280 out, and I just realized that even though the length of the scale is 9-1/4" overall (about 237mm) the travel, due to the width of the blind read head, is almost exactly 16.3cm, or 163mm... so it's reading roughly in units of 1/100th mm, or 10 microns?
    Can you confirm that's correct?

    1. They are in native scale units. The ones you have happen to have resolution of 10 microns per tick, but that is not guaranteed for other scales.