Digital read out (DRO) using an Arduino and a digital caliper

preview_player
Показать описание
In this video I will show you how to connect your digital caliper to an Arduino and be able to receive the numbers on the computer. The Arduino code is not presented in the video, because you only have to copy and paste it. With this simple circuit, you can transform these cheap digital calipers into a powerful displacement sensor for your milling machine or anything where you want to detect small displacements.

If you want to support me, please buy the components using my affiliate links:

Source code:

If you have downloaded the code and found my video useful, please subscribe to help my channel grow!

If you want to understand the signals of the caliper better, I recommend you this website where I took the code from:
Рекомендации по теме
Комментарии
Автор

Very interesting. A while back, I did a similar project: connected a cheap height measuring gauge in a similar way, to an ESP8266, and mounted the gauge, together with the ESP to my CNC router tool head. Then I run gcode on the CNC router, to measure heights, across a X/Y-matrix. The ESP sends the height data via Wifi to my PC, which computes a height map of the CNC workspace, which is used on the PC to compute the Z-compensation over the CNC-code, before the milling process is started on the CNC machine. It gives me much better milling results, especially for PCB-milling, because the the very precise compensation for any height deviations on the CNC-bed or the PCB coper surface. Reading values from the X/Y matrix takes 1.5 seconds per point, or ~5 min for a larger PCB with ~150 measurement points. So, it's quick, precise and greatly improves milling results. I am still using this mechanism. Doing the same measurement manually, by reading values from the gauge display, would take me hours for each milled PCB, so it's definitly worth to do this automation.

m.l.
Автор

In the hopes this helps somebody:
I simplified the setup by using a voltage divider to get the 3.3v from my ESP32 to about 1.6 to feed the caliper.
(One resistor between V+ of the caliper and 3.3v and an equal one between V+ and GND. Wired inside the caliper)
Also I am using analog read on the esp to read the signals with no issue. Seems to be fast enough.
Replicating this setup requires no external boards or components except 2 equal resistors of any value. Bonus it looks very sleek because its literally the 4 cables going straight to the ESP.
I think this is an amazing way to get a fairly precise sensor for VERY little money.

RBgamesbr
Автор

A couple of transistors make a cheaper level shifter (it is unidirectional) and a third as an emitter follower can provide the power. Cheaper, simpler, smaller.

Tensquaremetreworkshop
Автор

It is working well. Thank you very much for your nice teaching ablities.

v.r.kudale
Автор

I recently built myself a 3-axis DRO for my mill and lathe using these calipers which may be of interest
"Super cheap Digital Readout (DRO) for lathes, milling machines etc."

alanesq
Автор

Me ayudó mucho tu vídeo Bro, saludos desde Ecuador

maredu
Автор

Perfect video - Many thanks for your very clear description. So I subcribed to your channel.

One remark (in the positive way) = it seems to be an small error. In the circuit, you mention D4 and D5. In the code, you refer to D2 and D3. Never mind.

I have looked for a solution to add a push button to transfer data in CAO program, (like Fusion 360) but until now I have not found the solution.
best regards from France

titigermain
Автор

Rather than using level shifters, would the anolog inputs ADC be fast enough to read the serial?. And then just use a resistor voltage divider to power it from 5v. And similarly use the 5v arduino digital outputs via a voltage divider to "drive" the zero and inch/mm buttons. Also to keep the caliper board awake, you could periodicaly double pulse the inch/mm button if no change has been seen within a period. obviouslly hide the result on display during the awake pulse.
Good stuff :D

UberAlphaSirus
Автор

Hey, can you post updated links to the products you used here? You don't mention what exactly they are in the video and there aren't links for them on your site.

pyroveus
Автор

Great presentation thank you.
I tried to format the code for lcd 1602 12c but I can't because I'm new to arduino. I like it because I would use this on a mini lathe.
Can anyone help me.
Thanks in advance for your help.

mukm
Автор

Check the output from your chosen device before investing time on this- the linear device (not a caliper, but the same electronics) that I tried turned out to have a data output that was entirely random. Set to zero, I would get a different reading every time. Checked with a 'scope, and sure enough the bit pattern was random. A couple of hours wasted...

Tensquaremetreworkshop
Автор

Thank you sir does this setup will support all calipers?

anandh
Автор

Could you explain how you got a logic level shifter that is designed for a minimum low level input voltage of 1.8V to work using a 1.5V low level input? (these specs are taken from the product link you provided for the level shifter)

maxk
Автор

Interesting.. is it possible to zero the caliper from arduino too?

mutthunaveen
Автор

can i use the same technique for a digital micrometer?

aleenamani
Автор

Hi, do u know to disable the auto off feature? after a few minutes my caliper turn off and i lose the zero

alejandroramirez
Автор

How can I add a push button and input the readings to SolidWorks for 3d modeling?

codymack
Автор

INPUTS internal pull-up + rezistor
Vcc rezistor + 2 diodes
enought?

grzesiekxitami
Автор

Sir LM7805 converts output as 5v but we want only 1.5v how to do it?

anandh
Автор

What if the caliper circuit is powered via divider, so its logic is somewhere in the middle of 3.3v ? Will it work?

whiletr
welcome to shbcf.ru