I have a desktop CNC machine which has just the basic functionalities like controlling the speeds and position with a somewhat reasonable accuracy / precision. I also have an edge finder which I can use to measure things and theoretically set the origin of the coordinate systems. However when I switch tools and replace the edge finder with the spindle I have something like a 0.3mm error. It means the milling tool either cuts more or less than what was intended.

So I'm thinking of measuring acoustic noise or mechanical vibrations on the vase to detect when the milling tool actually touches the part and compensate for those errors. For example consider the set up below:

enter image description here

I want to have a acoustic sensor (e.g. microphone) or a vibration sensor (e.g. accelerometer?) on the vise and then see the noise on a computer. I know Arduino and serial communication reasonably well, but I don't know what sort of sensors I can use for this purpose and how they should be wired. Thanks for your support in advance.

P.S.1. I have also posted this question here and here on Reddit.

P.S.2. I am gonna check if I can do it myself. So here I asked a more specific question about vibration monitoring.

P.S.3. So for those who end up here, I'm still pursuing this idea as it seems the most viable option for me. Here I have asked for good microphones to record the acoustic noise. And here I managed to plot an spectrogram of an audio file recorded with my cellphone. And eventually found Friture Free, Open Source Software to get spectrorogram and FFT of auditory inputs in real time.

  • 1
    \$\begingroup\$ If you machine has speed control it propably has current measurement circuit. Instead of sensing sound or vibrations you could watch for current raising. \$\endgroup\$
    – ufok
    Apr 3, 2019 at 9:49
  • \$\begingroup\$ hmm, That's actually a good idea too. The issue is I can't mess with the electronics at this moment. And I'm not sure how much current fluctuation is there. The acoustic noise I can easily hear so it must be easy to measure I guess. \$\endgroup\$
    – Foad
    Apr 3, 2019 at 9:56
  • 1
    \$\begingroup\$ Have you measure the backlash of your machine? \$\endgroup\$ Apr 4, 2019 at 19:10
  • 1
    \$\begingroup\$ Chris is right. Your only error should be the bearing, and tension slack which can depends on interference force when mill works on target. This has a lot to do with feed velocity on force thus slack error or backlash or in this photo drill bending \$\endgroup\$ Apr 4, 2019 at 19:29
  • 1
    \$\begingroup\$ Seems to me more like you should get to the bottom of where exactly your error is coming from, or it will bite you in the future. If there is backlash, the head is not properly trammed, twist in the ways, excessive runout etc. there will be other accuracy issues. In other words, this seems like a symptom of something that should be addressed if you care about accuracy. You should be getting at least 10x better using a decent edge finder and with some care. \$\endgroup\$ Apr 5, 2019 at 1:43

1 Answer 1


If you're familiar with Arduino you could utilize a PVDF piezoelectric sensor strip to pickup the vibrational patterns of your system. You can find them here: https://www.digikey.com/product-detail/en/te-connectivity-measurement-specialties/1002794/MSP1006-ND/279646

Wire the PVDF strip into the analog in port of the Arduino (one side into A0, one side into ground). Then you could record a normal vibration spectrum when it's not being contacted as well as a vibration spectrum when you know it's being contacted using the int value = analogRead(A0); function and do a comparison.

That being said, if you're getting vibration from the bit touching a surface, you're also getting heat / rubbing / cutting / other bad things. So, my advice would be 2 part: 1. Don't reinvent the wheel, get an edge finder. 2. If you're going to reinvent the wheel, do it well so I can buy a PVDF based edge finder and don't have to remove my bit each time. I expect to see your new edge finding invention listed on the web somewhere for less than 30$. :) Go to town!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.