In some previous posts I talked about getting an x-ray head working, reverse engineering an x-ray sensor, and working with LinuxCNC. In this post I put them all together so that I can take a bunch of x-ray snapshots across an entire PCB. This allows me to more quickly reverse engineer PCBs.
Problem: with my previous work I can take a PCB x-ray at fairly high resolution (see bond wires like above) but the field of view is pretty small. The above x-ray doesn’t even cover an entire PDIP-40. How can I see the entire PCB?
Linear stage
Linear stages are great for this sort of project. As I’m moving on the order of inches they don’t necessarily need to be high precision. I looked around eBay and a few other places and settled on some stages as HSC. I can’t find a picture of the original setup, but something like this:
These had several desirable properties:
- Around the right scan area I’m looking for
- Reasonably sturdy to support PCB weight
- Motors with integrated drivers (MDrive 17Plus). As a plus they are 3.3V compatible
Not pictured is a Z cam motor that I didn’t need for the x-ray setup. However, this motor was perfect for running early integration tests. My specific motor model is not listed on the manufacturer’s website but seems to be pin compatible with their step/direction models. As its 3.3V compatible I’m able to directly wire the control signals to a BBB running LinuxCNC.
Next I made the PCB holder. The Z axis motor mount makes a convenient anchor point to attach accessories. To actually hold the PCBs I decided to use a PanaVice PCB holder left over from a previous project. This is a great fit as it nearly wedges into the motor mount and is made out of aluminum which is mostly transparent to x-rays (minimal image impact). With a little sanding I was able to sandwich it into the motor mount:
For More Details: xy-ray x-ray scanner