Open Source NDE Tools

No low-cost computerized NDE system exists, because the total market is relatively small. Unlike consumer products, industrial systems that contain embedded computers are extremely expensive.

Simply developing some Open Source software to meet a data analysis need (for example) does nothing to reduce the cost of a NDE instrument for the end-user, since only a small fraction of the total cost is currently in the software. Therefore, we must review the system as a whole to find a way that software evolution can reduce the computer hardware and maintenance costs.

There are many aspects to a cost effective eddy current NDE solution:

These will be addressed in turn; the probe itself is discussed elsewhere.

Buying a computer

Computer technology generally is available in three price brackets; new and expensive, reasonably priced, extremely cheap and useless to most people. To get the total price of a technology down as far as possible, we need to use as little of it as possible. The New Internet Computer is the logical result of this approach, since it doesn't even have a hard disk.

The alternative is to use computers that most people consider useless. These are casually available for tens or hundreds of dollars from second hand computer stores. To use these, the software must be extremely frugal with the computer resources compared to most other applications, so that everything fits into the tiny computer system. Neither Microsoft nor most Linux distributors aim to make it easy to run their product on such a computer. It generally requires the efforts of someone skilled in installing one of a few Linux or BSD distributions to create a fast, efficient and friendly setting. If you have those skills, or know someone who can help you, this approach may be for you. If not, the pain and frustration is not worth the financial saving compared to buying a stripped modern computer.

Either way, you should be able to have a working computer (with all the software, monitor and the like) for less than $300 for this project (plus another $100 or so for the eddy current probe). The important question is whether you have to dedicate that computer to NDE. It is nice to share the benefits of the computer (and blame the cost of purchase) on more than one use. This is in general a fine idea, but has some risks.

Keeping a computer running

If a generic computer is shared with other purposes, the applications often interact and over-all reliability suffers on single-user systems. The integrated package management on the POSIX-like operating systems is able to isolate independent applications and thereby permit an upgrade path. Only operating systems that incorporate reliable package management are preferred for this project, which currently restricts the choice to most Linux and BSD distributions. Windows has historically caused difficulties for users when packages are uninstalled, and so is not a good idea for the non destructive test system (always being improved).

Once the software associated with this project can be cleanly separated from the rest of the applications on that general computer, the costs of having that computer can be shared among its many uses. In this situation, it is feasible to use it for aircraft inspections.

If you put a reasonable value on your time (such as your hourly rate), it doesn't take many operating system or application crashes to cost a lot of money. This project uses Linux, which is well known for its stability. If you only make use of it as a "normal user" and avoid being "root" wherever remotely possible, crashes are usually years apart.

Hardware drivers

Every computer contains slightly different chips, making it very difficult to write software that will run on any computer. For this project, we will connect the probe to the computer as though it is a microphone and a pair of speakers. The software plays the magnetic waveform and simultaneously listens to the sensor response, thus requiring full duplex capability. Accurate measurement of subtle changes in the sensor response needs part-per-million performance, thus requiring 16 bit capability. Any computer with those sound capabilities under Linux will be usable for NDE through the AudNet abstraction which was developed for this project.

Some probes can offer a level of performance that exceeds that of most sound cards. In these cases, the manufacturer is likely to provide custom electronics for the computer in order that the user can get the full benefit of the probe purchase. If the manufacturer generates a suitably modified version of the AudNet library, all the other software will immediately take advantage of the enhanced signal quality.

Unfortunately, computer sound chips disagree about how loud to make sounds and what is expected from microphone inputs. Therefore, a certain amount of calibration is needed to make use of the sound interface in a consistent manner. We would like to avoid doing this calibration separately for every probe, so it is a good idea to store the result of this step in a standard way. Then, every program that wants to do eddy current measurements can just look up the details it needs.

Probe manufacturers generally will not provide assistance for computers where the sound chips aren't supported by the operating system. Assuming the sound is working, the biggest cost to them must be the software to analyze the signals.

Probe drivers

To keep the software effort as low as possible (which keeps prices down), we need to split the software in two. The software that knows how to operate their special probe to generate the desired magnetic fields is something that each probe manufacturer will want to write themselves, since this is able to demonstrate the superiority and capabilities of their probe.

For this project, we are going to write an extremely simple program called main to operate our initial probe. In this case, the program will be open source ... but it is likely that many future programs will be proprietary.

Signal Analysis

We will have some special probe software, which can be told what magnetic field strength and sequence should be applied to the sample and will report the data back. The rest of the analysis is mostly the same for all probes, since they all need to assist the user in choosing the field sequence, processing the time domain or frequency domain data, identifying the signal features that correspond to the flaw and logging results.

One of the basic truths about people is that they can disagree about how to do something, even when they agree about what has to be done. The consequence in the analysis software is that there is a strong force for diversity among the users. If we encourage this and provide a way to harness this, it will lead to a greater variety, power, flexibility and capability in the signal analysis software.

For this project, we will combine a few specific open source programs together. This reduces the work for us, but also allows this project to benefit from any future improvements in those other programs without any effort by us. Ideally, NDE users will continue to use those programs in future, contributing ideas and improvements that will benefit them. Currently, we are using a patched version of the xoscope package to display the live data as it is collected.

Other packages, such as octave and gnuplot, can be used to analyze and plot recorded data. This is especially suitable for the automated review of earlier inspection runs.


This project implies a separating interface. The software for retrieving eddy current data from the tester probe is kept apart from the software for analyzing that data. This allows some user groups to improve the algorithms to squeeze more information for the existing data while, independently, other user groups are designing better probes for higher quality data.

The specification for that interface, also part of AudNet, is still under development.