Fun and danger with vintage X-Ray gear

A friend gave me an old educational X-Ray scope.

It’s basically a wooden lead lined box with an old style X-Ray tube inside. A Zinc sulphide intensifier window provides a basic way of viewing the X-Rays hitting it.

The device was originally supposed to be powered with a Ruhmkorff induction coil but since I didn’t have any of those sitting around it was time to get creative.

A automotive ignition coil is basically the modern version of a Ruhmkorff induction coil where. a electronic switch takes the place of the mechanical vibrator. I had previously designed a circuit to drive an ignition coil for igniting a vortex cannon so I tried to use this to drive the X-ray tube.

I had a hard time getting the tube to light with a single coil. Apparently the gas in these old-style tubes changes over time making them harder to light.

Tube similar to the one in the box

I could occasionally get the tube started by increasing the input voltage to the circuit well beyond it’s specs. The tube was mounted on a wooden clamp inside the box and the connections was run to the outside of the box through acrylic insulators. Originally the tube was meant to be driven from both ends with no reference to ground. The circuit I used required one end to be grounded so most of the voltage swing occured on the other causing extra stress on the isolator and arcing to ground.

To get some more ‘umph’ and to get a bipolar voltage supply I made this set up with two ignition coils connected in parallel but reverse. Whenever a pulse was sent to the primary of the coils opposite and equal high voltage pulses was  generated on the outputs.

I used a Arduino UNO and a BU391P transistor to drive the coils and the result are quite impressive. The power supply are 19V DC from an old laptop power supply:

Schematic ish’

Used this simple code for the Arduino. This seem to work well with standard automotive ignition coils:

#define SET(x,y) (x |=(1<<y))
#define CLR(x,y) (x &= (~(1<<y)))
#define CHK(x,y) (x & (1<<y))
#define TOG(x,y) (x^=(1<<y))

void setup() {

void loop() {
   int t = 4*analogRead(0);

The intensity can be set by a potentiometer connected to A0 of the Arduino.

I used the apparatus to make some X-rays of various circuit boards using my phone as camera:

Arduino Mega proto board

I also shot a short video of the unprotected tube running:

While filming this I stood off to the side holding the phone over the edge of the opening.

As seen in the video the beam of the X-rays  are kind of shooting off to the side not really hitting the intensifier screen.   Later checks with radiation measurement equipment revealed that the radiation emitted even at this off angle was quite intense.

I have wanted the ability to X-ray things for some time for various test and reverse engineering purposes. While this is fun and kind of mad-scientist like (as we like) it’s not very useful for this purpose. Spraying everything and everybody with broadband unfocused high intensity radiation to get a small fuzzy image is not worth the risk.

I have now acquired some more modern and precise X-ray equipment that I will explore in future posts.



Leave a Reply