Subscribe to Arduino Academy and start learning today for FREE!

Igaging Micrometers and Calipers

I’ve added the Igaging SpeedMic and OriginCal to our list of Arduino connected Mitutoyo measurement equipment (Micrometer, Caliper, Dial Indicator, and DRO Scale). I made some improvements to our Mitutoyo Instructable to facilitate connection to the Igaging equipment. The Igaging SPC enabled gear is Mitutoyo compatible, using the same 52 bit data stream. It even uses a Mitutoyo SPC cable for connection (not the same cable as our Mitutoyo Coolant protected Micrometer).

Update: Now reading Micro-Epsilon ODC2600 Laser Mic!

Update: Now reading Harbor Freight Calipers!

Igaging SpeedMic and OriginCal

Cable for Arduino

Discuss (Yahoo)
Discuss (Facebook)

Become the Maker you were born to be. Try Arduino Academy for FREE!

Schematic

 
 

Now comes with a new professionally made board!

 

Order interface Boards (one for each axis):

 

Options:

Code:
 
 

 

int req = 5; //mic REQ line goes to pin 5 through q1 (arduino high pulls request line low)

int dat = 2; //mic Data line goes to pin 2

int clk = 3; //mic Clock line goes to pin 3

int i = 0; int j = 0; int k = 0;

byte mydata[14];

float num;

void setup() {

Serial.begin(9600);

pinMode(req, OUTPUT);

pinMode(clk, INPUT_PULLUP);

pinMode(dat, INPUT_PULLUP);

digitalWrite(req,LOW); // set request at LOW

}

void loop() { // get data from mic

digitalWrite(req, HIGH); // generate set request

for(i = 0; i < 13; i++ ) {

k = 0;

for (j = 0; j < 4; j++) {

while( digitalRead(clk) == LOW) {// hold until clock is high

}

while( digitalRead(clk) == HIGH) {// hold until clock is low

}

bitWrite(k, j, (digitalRead(dat) & 0x1)); // read data bits, and reverse order )

}

// extract data

mydata[i] = k;


}

// sign = mydata[4];

// decimal = mydata[11];

// units = mydata[12];

// assemble measurement from bytes

char buf[7];

for(int lp=0;lp<6;lp++){

buf[lp]=mydata[lp+5]+‘0’;

buf[6]=0;

num=atol(buf); //assembled measurement, no decimal place added

Serial.println(num/1000, 3); //add decimal

}


}

}

Become the Maker you were born to be. Try Arduino Academy for FREE!

 

 

 

Subscribe
Notify of
guest
28 Comments
Inline Feedbacks
View all comments
Alex
Alex
2 years ago

Hello
I’m having trouble purchasing the Mitutoyo interface board. Any idea what’s wrong?

Brian Jenkins
Brian Jenkins
2 years ago
Reply to  Alex

Hey Alex, are you trying to buy it under options in this post?

mayringer
mayringer
2 years ago

it may be that something is wrong here:
buf [lp] = mydata [lp + 5] + ‘0’ ;
If you have a solution – thanks in advance.
greetings from Austria

rajat kamat
rajat kamat
3 years ago

hi im trying to extract data from the mitutoya dial indicator (id-c112x) , from the data connector i have soldered 5 wires , as per the manual pin 1 is gnd 2 is data, 3 is clk and pin 5 is req. after making the connectio when i run the above code, im not getting any result on the serial monitor . how should i interface dial and arduino. ??

Larry Burch
Larry Burch
3 years ago

Can I purchase the Mitutoyo Interface bare board, kit or fully assembled? fully assembled is preferred.
Larry
larry.burch@copperpillar.com

Victor Konshin
Victor Konshin
3 years ago

This board does not include a level shifter. Most Arduino boards are 5v or 3.3v but the signaling out of the SPC device is 1.5v (or less if the battery is not new). This puts the signaling right at the edge of what most microcontrollers can detect. (I use the Teensy platform and the controller seems to be less tolerant of lower voltages.) A level shifter would make this much more reliable, particularly with 5v controllers.

Rich
Rich
3 years ago

How / where can I you purchase the assembled Mitutoyo Interface board?

Thomas Tom
Thomas Tom
3 years ago

How do I purchase?

Brian Jenkins
Brian Jenkins
3 years ago
Reply to  Thomas Tom

How do you purchase what?

Jon
Jon
3 years ago

You sell premade boards?

Gonzalo
Gonzalo
3 years ago

What’s included in the assembly package?
I’m from Mexico, how long would the friend package arrive?

My Mobile Kalinowski
My Mobile Kalinowski
3 years ago

Hi
It is a great project…well done and thanks for the effort.
I am a bit confused . I really would like to print score on lcd 16x 2 as you did, but I can’t see the code for this. Could you help me with this please.

Emiel
Emiel
3 years ago

Hey, I have a project back home and this is exactly what I need. What is the estimated delivery time for a assembled kit?

Gr, Emiel

Unknown
4 years ago

in the line
"bitWrite(k, j, (digitalRead(dat) & 0x1)); // read data bits, and reverse order )"

what do the{ & 0x1} do?

Steve Spence
4 years ago

It's a bit mask.

Kiran Kumar
4 years ago

hi steve, why am i getting output 0.000 when i connect my dial gauge? I just soldered the cable to mitutoyo dial gauge and connect it to the circuit

Unknown
4 years ago

Hello,
I tried the code and after some time of searching why it doesnt work i realized that it seems to be stuck in the " while ( digitalRead(CLK) == HIGH) {}" loop. Any ideas about how to fix this?

Pham Dinh Xuan
4 years ago

I done, Thank you so much!

Steve Spence
4 years ago

do you have clk connected correctly?

Steve Spence
4 years ago

soldered the cable to the dial gauge?

Juanjo
4 years ago

Hi, where did you buy the calipers?

Juanjo
4 years ago

I mean, the clock calipers.

Juanjo
4 years ago

But I mean the mutitoyo calipers

Steve Spence
4 years ago

Are you referring to the dial indicators? https://amzn.to/2KqmhWC

Steve Spence
4 years ago

did you mean the dial indicators? https://amzn.to/2KqmhWC

Archives

28
0
Would love your thoughts, please comment.x
()
x