This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Short distance measurements in AIR (Level from the Top)

Customer Problem:

  1. Use TDC1000 to measure drill depths for a “professional” quality drill with the following specifications:
    1. Min distance 17cm (from transducer)
    2. Max distance 70cm (from transducer)
    3. Measurement accuracy ~5mm
    4. Work even in “hammer drill mode”
    5. Setup needs to be unaffected by “dust” (sealed transducer)
    6. Need single transducer solution as cost is an issue. 

Since air is so absorptive with respect to ultrasound higher excitation voltages are required. How high, depends on several factors:

  1. Distance. The farther, the higher voltage required as power drops off exponentially with distance. For this range 30V should work fine.
  2. Target angle: The further I'm off angle the smaller amplitude echo I'll receive.
  3. Surface reflectivity: A nice smooth surface will give a better echo than a rough varied one (think flat lumber vs. tree bark). 

In a nutshell 1-3 above all relate the SNR of my ultrasound signal path. Changing any of the above will the size of my echo and reduce my measurable distance.

For ease I used the TDC1000_GASEVM as it:

  1. Is powered from USB
  2. has up to 30V excitation build in. (which can be bypassed to test lower voltages)
  3.  Can interface to 2 transducers should I really need a short range lower than the ringdown time of a single transducer.

I mounted it on a blank PCB board which I then attached to a hammer drill with velcro straps.

Testing in the lab yielded some promising results:

  1. I was concerned the “hammer vibrations” would interfere with the transducer so created a test to simulate that by drilling with a fixed depth in “hammer drill” mode.
  2. The vibrations were not observable

See below:

With Drill running and no depth change (no hammer mode)

In air a STD of 3.02us yields  [343 m/s*3.02e-6)/2] approximately .5mm


With drill running in Hammer mode(and no depth change)

So drilling with no depth change and no filtering other than averaging yields:

In air a STD of 18.774us yields  [343 m/s*18.774e-6)/2] approximately 3.2mm


What EVM/drill combo looked like:

Side view:

 Front View:

 During testing (note: metal plate used to make zero depth change)


If the drill is not orthogonal to the surface by more than 10 degrees (approx.) no echo is detected (due to the tight beam transducer used).

  • Transducer used: Bestartech's 200kHz "sealed" air transducer. A really important feature of this transducer is its tight beam angle which allows it to work so well for this application. The tighter the beam angle the less energy dissipated over a larger area to the longer a distance that can be measured with lower excitation frequencies. 

The vendor link: (

Arrow’s link: (

  • register files for the above setup are here:


  • Also the clock source is CPU_CLK (1.2Mhz) on the board (see TDC1000_GASEVM User's Guide).

Another thing to keep in mind is this setup setup can be used to do level sensing in a container "From the Top" of the container. The issue with that application is that any liquid condensing on the transducer face will severely limit range and will require experimentation.

Also it is ESSENTIAL to read my app note on Sensing Level as it goes over understanding and characterizing transducer ring-down for your system and how to adjust the TDC1000 to compensate for it.

17 Replies

  • In reply to Oleg Kobrin:

    Just a heads up, there are filters built into the TDC1000-TDC7200EVM which limit the frequencies which should be used with this board. I do not remember what the cutoff was, but it was well below 400 kHz.

    I had initially purchased the TDC7200EVM for use with a 200kHz transducer and decided to switch to the GASEVM due to this issue. If you are handy with surface mounted soldering and are confident you could try and alter some resistance values (possibly a capacitor too, I can't really remember) which would change the cutoff frequencies.

    I am in no way an expert in this though, and I am not an electrical wizard so I would perhaps consult with one of the experts here before going forward with this. I wouldn't want you to damage your board in any way.


  • In reply to Russell Engebretson:

    Hello Russell!

    Could you please also help me?

    I have oscilloscope attached, and now I see the trails of echo signal, but it is very weak!

  • In reply to Russell Engebretson:

    Sorry, I see the answer just after I post my one.
    Of course, as I initially purchased TDC7200EVM, I replaced all the filtering components to support 400kHz bandwith, accordint to recomendations of Matthew.

    I can post all my schematics, of course as well as screenshots of my oscilloscope.
  • In reply to Russell Engebretson:

    Hi again Russell,

    I could in fact still use your help! I managed to hook up the scope and change the blanking period settings such that I can see a result in air and even see the result change when I introduce Helium! The only problem now is that while in-air results make sense, Helium is not giving me great results.

    When I move the transducers too far apart, the signal visibly dies down on the scope and ceases to create a stop signal. (When I lower the voltage threshold to try and compensate for this, the stop signal picks up lots of noise instead, making the results jump around.) On the other hand, when I move the transducers too close together, the signal created gets mixed up with all the ringdown and blanking period.

    Any advice as to how to work with helium?

    Thanks again!
  • In reply to Nancy Stone:

    Hi Nancy,

    I worked with this board and helium for quite a while and I managed to get it to mostly work for my application. A couple tips I can give you is that the transducer will not couple with helium as well as it does with air, so your signals are going to be a lot smaller, which is why you notice they do not work at a distance as well.

    Also, helium is the lightest material and therefore the speed of sound in helium is a lot larger than any other gas you would use. For this reason, with the timing of the board, there are limits on how close you can have your transmitter/receiver before you lose your signal in the ringdown of the transducer; I believe in my case I kept my transducers around 10 cm apart. All I can say is you are going to need to play around with the timing registers, the threshold voltage, number of stop pulses and such.

    I also had this board communicating with a raspberry pi, so a lot of the jumping of the signals due to fluctuating signal strength I removed through software and manipulation of the data. Do you need to use helium? and what is your application in helium? I made a device to determine the purity of helium flowing through a pipe. It worked really well actually, but there are more issues which arise if you are changing the concentration of helium.



  • In reply to Russell Engebretson:

    Hi Russell,

    By the sounds of it, we are doing almost the same exact thing. My idea was to apply this to helium purity as well! But that involves getting a TOF that can be dependably accurate in Helium, which is I suppose where I am running into the problems with the timing settings and whatnot. I ended up getting the best measurements around 10cm as well.

    Ideally I will be able to change concentrations of Helium/air and the impurity will be reflected in the TOF. I am envisioning a plot with a curve that goes from ~340 m/s to ~1000 m/s as the substance is changed from 100%Air/0%He to 0%Air/100%He.

    So, as far as next steps to take, should I just keep fiddling around with the timing/threshold/etc. to find a middle ground that works well at detecting He and Air?

    I'm glad this ended up working out well for you -- that is reassuring! And how lucky I found someone with such a similar setup and problems!
  • In reply to Nancy Stone:

    Hi Nancy,

    Yes, I did the same thing as you are trying to do. I managed to get my setup to work well, but there were some issues which needed to be overcome and I didn't end up finishing a final product (not that it couldn't be done). Some issues which you are going to notice as you play around with this is that the amplitude of your signal will also change as you drop in helium purity, and not linearly. So your signal amplitude increases and decreases several times throughout the whole process from 100%->0% helium purity - In fact, at some mixtures with air, the signal nearly disappears. We never officially discerned what was the cause of this, but I theorized that it could be due to the harmonic modes inside the pipe which would change as purity changed, causing increases and decreases in the signals. There could also be other explanations, but I didn't worry too much about this, I just worked around the issue.

    You are going to need to play with the distance between transducers, threshold voltage, timing registers, and number of stop signals, until you can get your board to accurately detect the signal in the full range of 100%-0%. Another issue which arises is that your stop signal jumps between periods in your received signal, due to the large fluctuations in amplitude of the signal. I simply offset this through software, which worked very well in tests I did, but it put limitations on my device. 

    This is a very interesting project, and I will most likely finish it eventually, I just don't have the time currently. If you have any questions or problems feel free to privately message me on here and we can discuss further. 



This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.