Tesla Coil Control System

History of the Tesla Coil Control System

2009 Version

In 2009, Steve Ward and I developed a new Tesla coil control system for performing the piece "Risky Business", co-composed by Scott Wyatt of the University of Illinois Experimental Music Studios and myself.

Up until that time, Steve had been playing music on the coils using a MIDI-to-Tesla-Coil converter box he had built. The box would make the coil fire constant streams of pulses at the pitches received in the MIDI data. Here is a video of Steve's original system in action.

For "Risky Business", I wanted to be able to do synthesizer effects on the coils in addition to just straight periodic tones, so we worked out a way that I could send audio out of my laptop that would control when each of the individual coil arcs would happen.

A special setup was created for the performance:

                               ┌────────┐                                                       ┌───────┐
                               │ Tesla  │     Arcs             Ground           Arcs            │ Tesla │
                               │ Coil 1 │ \/\/\/\/\/\/\/\/\/\/  Rods   \/\/\/\/\/\/\/\/\/\/\/\/\│ Coil 2│
                               └────────┘                                                       └───────┘
                                 A                                                                 A
                                 │                                                                 │
                                 │Optical                                                          │Optical
                                 │Fiber                                                            │Fiber
                                 │                                                                 │
                                 │                                                                 │
                                 │                                                                 │
                                 │                             Performer                           │
                                 │                     ┌──────┐   ┌─────────────────┐              │
                                 │                     │Laptop│   │     Monitor     │              │
                                 │                     └┬┬┬┬┬┬┘   │Headphones & Amp │              │
                                 │  6 Audio Channels ─> ││││││    └─────────────────┘              │
                                 │  1&2:Playback        VVVVVV      A                              │
                                 │  3&4:Coil Control   ┌────────────┴────┐                         │
                                 │  5&6:Continuum      │       Snake     │                         │
                                 │                     └─────────┬───────┘                         │
                                 │                               │                                 │
                                 │                               │                                 │
     ┌────────┬────────┐         │                               │                                 │         ┌────────┬────────┐
     │   PA   │   PA   │         │                               │                                 │         │   PA   │   PA   │
     │Speakers│Speakers│         │ ┌──────────────────────────── │ ────────────────────────────────┘         │Speakers│Speakers│
     └────────┴────────┘         │ │                             │                                           └────────┴────────┘
                                 │ │                           Snake
                                 │ │                             │
                                 │ │                             ├┬┬┬┬┬─<────┐
                                 │ │Optical                      ││││││      │
                                 │ │Fibers                 Audio ││││││      │
                                 │ │                             ││││││      │ Monitor
                                 │ │                             VVVVVV      │ Send
                               ┌─┴─┴───┐    ┌──────┐            ┌────────────┴──────────────┐
                               │ Steve │<───┤ Mark │<───────────┤                           │
                               │ Box   │<───┤ Box  │<───────────┤                           │
                               └───────┘    └──────┘      Aux   │        Mixer              │
                                                         Sends  │                           │
                                                          1&2   │                           │
                  A  U  D  I  E  N  C  E   A  U  D  I  E  N  C  E   A  U  D  I  E  N  C  E   A  U  D  I  E  N  C  E
                  A  U  D  I  E  N  C  E   A  U  D  I  E  N  C  E   A  U  D  I  E  N  C  E   A  U  D  I  E  N  C  E
                  A  U  D  I  E  N  C  E   A  U  D  I  E  N  C  E   A  U  D  I  E  N  C  E   A  U  D  I  E  N  C  E
                  A  U  D  I  E  N  C  E   A  U  D  I  E  N  C  E   A  U  D  I  E  N  C  E   A  U  D  I  E  N  C  E

My Mac laptop transmitted six audio channels through a microphone snake to a mixer:

Coil Control Signals

Each coil control track contained a series of short pulses, all of the same amplitude and duration, each pulse triggering a single arc, and hence a single "pop" sound, from one of the coils. The audio from the Tesla coil control tracks was sent via the mixer's "Aux" sends into a comparator box (the "Mark Box") which converted the pulses to 0-5 volt pulses compatible with standard logic circuitry. These two logic signals were then sent to another box, built by coil designer Steve Ward, which made each coil fire a single arc in response to each pulse. This box also reduced the size of the arcs when the pulses occurred in rapid succession, preventing the coils from drawing too much power during the louder parts of the piece.

Reaktor Ensembles Used To Generate the Coil Control Tracks

The pre-recorded Tesla coil control tracks were generated using Native Instruments' Reaktor software. Several custom Reaktor "Ensembles" were created specifically for the piece and used to create simple musical tones as well as other effects like oscillator synchronization, resonant lowpass filtering, frequency modulation, white noise, comb filtering, and Geiger-counter-like sounds. An audio vocal sample was also used to trigger a series of pulses, making the coils appear to speak near the climax of the piece.

The outputs of these ensembles were organized, rearranged, and rendered as wav audio files before the performance. This way, the Reaktor control ensembles did not have to be running during the concert, using up valuable CPU power.

One of the myriad modules available in Reaktor's sound design environment is called a "OneShot" and simply generates a single up-and-down pulse at its output in response to a positive zero-crossing at its input. For Tesla coil control purposes, OneShot modules were configured to generate pulses that went high for about 0.1 milliseconds before falling back to zero.

In Reaktor, the term "Ensemble" is used to denote a particular configuration of modules, similar to a "patch" on a modular analog synthesizer. For this piece, several custom Ensembles were created, each of which had a OneShot module at the end of its processing chain to turn the audio into short pulses to fire individual Tesla coil arcs. The Continuum Fingerboard was often used to control sound parameters on the tracks as they were performed into the computer.


One of the custom Ensembles used Reaktor's "Noise", "Geiger", and "Random" modules as audio sources (see control panel and structure diagrams).

The "Noise" module produced white noise, the "Geiger" module produced successions of clicks (like those of a Geiger counter) whose density and randomness could be adjusted, and the "Random" module worked like the random sample-and hold-function on an analog synthesizer. These sources could be combined and processed through a comb filter, a chorus unit, and a lowpass filter before being sent to the final OneShot module. This Ensemble was used to create clicks for the quieter parts of the piece as well as sudden bursts of white noise to correspond with percussive events in the electroacoustic tracks.


Another custom Ensemble was created with an architecture like that of a basic two-oscillator analog synthesizer (see control panel and structure diagrams).

It was used to generate the long synchronized-oscillator sweeps for the crescendo at the beginning and the long decay at the end of the piece, as well as generating basic tones and frequency modulation effects. A step sequencer could be added to transpose each note of the incoming MIDI data by a different amount, creating unusual sequences of pitches. This was used for flourishes of short tones during the quieter parts of the piece.


A third custom Ensemble (see panel and structure diagrams) was created to play back recorded samples through a lowpass filter before turning them into pulse streams with a OneShot module.

This was used to make the coils "speak" with the voice of Thomas Edison near the climax of the piece.

Many minutes of material were generated with each of these Ensembles. Events from resulting audio files were then selected and combined to create the final coil control tracks.

The "Mark Box"

This simple converter box I built took the audio pulses from the laptop (by way of the snake and mixer) and converted them into 0-5V pulses compatible with the inputs on Steve's coil control box.

The End Result

Audio tracks come out of the laptop that sound like this (1.2MB WAV) and make the coils do this: (1.3MB video)!

Performance of "Risky Business", composed by Scott Wyatt and Mark Smart, Krannert Center for the Performing Arts, September 2009. (see video)

2012 Version - Adding Amplitude Control

By 2012, Steve Ward had left Illinois to tour with ArcAttack, so we asked Terry Blake (aka Dr. Zeus) and Jeff Larson if they wanted to do a Tesla coil concert at Engineering Open House 2012. They agreed, and I decided I wanted to try having the laptop control the amplitude of the coil pulses in addition to just the timing. Terry and I worked out a system where the width of the pulses I sent out from the computer would control the power of the arcs, after being processed by some code of Terry's to limit the amount of power and prevent blowing anything up. This system worked well and made possible some new effects like fast amplitude modulation and stereo panning of one sound between the two coils.

The Reaktor ensemble used was the one shown at the top of this page, and the video link shows how it performed at EOH 2012.