I need a general idea how to do this

I need some guidance on how to attack a design I have in mind. Any help would be greatly appreaciated.
I am trying to connect three of the “chinese” digital calipers to computer for data logging. The caliper has a “USB-ish” port on it with Vsupply, Ground, Clock and Data. The caliper sends a 21-bit value over the data line roughly 150 times per second. (Details can be found here: 21 Bit Protocol Scales | shumatech.com)

Basically I need to continously read three of such scales and send the data to the PC via BT serial modem (that part is already done with). The thing I’m not too sure about is the reading of the scales. If I were using just one, I’d simply use the clock line to trigger port interrupt and then read the value at the data port (with some sanity checks), but I’m not certain that I can pull that off with more than one scale.

Again, any help would be greatly appreciated.

Thank you

P.S. For those curious what the thing is for: I often find myself making (manually) more than one copy of a part on my mini mill. I’m trying to make an “do what I just did” CNC conroller for it. I.e. the computer would record my movements and the replay them as needed…

I probably should have mentioned that I’m using FEZ Domino…

I am not exactly sure how this can be done but do you have a link to where I can get one of those calipers?

I ordered mine from Grizzly.
12" Search
6" Search

Amazon has them too, but the only seller that sells them has pretty bad rating…


oh, I see! So the sensor is connected to the display with a USB-like cable but it is not USB on the wires but some protocol? These look interesting. Who cam up with this standard for the signal generated or it is one company that makes it?

There is no “standard” protocol, and it is definitely not USB. For starters it’s 3V supply. As far as I know there are at least 3 different protocols. Originally Mitutoyo developed a proprietary protocol for their digital measurement equipment. Chineze knock-ofs (the $19.99 digital calipers you can get at Harbor Freight) used the same connector but a much simpler “burst” protocol (most of those use 2x24 bit burst @ 1.5V, one value for absolute position and one for relative). This particular model uses an uncommon 21 bit format. The chineze “protocol” is simply a sequence of bits that constitute either one or two numbers.


I am not sure if you have seen these links:


This one is interesting:

Yes, I’ve seen those. I even have a MSP430F2132 board I was going to use initially, but then decided to use Domino, since I am much better at C# than C++, and I like VS2010 much more than gedit+GCC :slight_smile:
Basically the thing I’m not sure about is how to make Domino do what I want it to do, or rather, how to deal with the fact that Domino is not “real time”.
If I go for a “full blown” solution, i.e. throw away the little controllers and keep the transducers only, I will need to use Domino to send the clock signal to all 3 scales, and read 3 digital ports. If I use PWM for the clock, I’m not too sure the reading of the bits will be real time enough, since I will need to check 3 pins at in a rapid succession etc…
If I go for the “keep the displays” way, the clock will need to trigger an interrupt on 3 “clock” ports, and in the event handler I will need to check one of the 3 “data” ports. Again, not sure if I can count on the timing of Domino’s “scheduler” here.

Hope this makes sense.

Thank you

A $0.20 PIC10 will do all you are asking for but then a complex $100 can’t! What you need is very tight control over IOs in real time, basically a free microcontroller or run all code inside native interrupt handlers.

We have a pin capture feature (added on tis coming release) but this is only good for one pin. I am not sure how you would handle.

Check back on Monday/Tuesday for new SDK/feature that lets you do all you have asked for :slight_smile:

Used a lot with woodworking these days for routers, table saws, etc.
IGanging is probably current leader. The basic tech is called Linear Encoding. Most use their own slant on same idea depending on their needs. There is a Open effort to standardize it. There is some USB device Encoders I found out there (below). If you could find a usb or ttl version, that would seem to be easier.

How Linear Encoders work

Current defacto leader in linear encoder products (AFAICT).

Open Interface / protocol

USB Encoder Interface
[url]P201 Encoder Interfaces