kleebtronics videomixer

Video Mixer

created by: Mark Kleback

This video control box is my primary instrument for controlling projections and lighting during performances. It consists of an Arduino microcontroller, four analog potentiometers, four toggle switches, four LEDs, and an output for a DMX lighting controller. The Arduino communicates with software such as Max/MSP, Processing, or OpenFrameWorks during musical performances to dynamically change the video and lighting effects.


The design for this mixer was used in the Arduino and Processing in Tandem class taught by Joseph Gray in February 2011. His design is called the ProjBox. He calls it "a generic project box for the Arduino platform."

The initial program was created using Processing and a simple iSight webcam. The program taught by Gray was able to record live video, add it to a bank of videos, and mix the live stream with the pre-recorded bank at different speeds. I used this program while on tour with FuckTon in 2011.


During my Intro to Computational Media class in my first semester at ITP, my video mixer was revamped to replicate analog video effects.

The source code for this project is posted on GitHub and uses Joseph Gray's ProjBox class.

Interfacing with Max/MSP

The mixer was again used at the 2011 ITP Winter Show along with the zOrb to create a multimedia performance. The zOrb controlled audio effects while the mixer controlled the video.

Download this patch

PureData and South By Southwest

In the Intro to Dataflow Programming class at ITP, we interfaced the zOrb and the mixer with PureData, the open source version of Max/MSP. The final project was a sequencer where the steps were controlled by the toggle switches.

We demonstrated this sequencer as part of the CreateATX event at South By Southwest in 2012.

Download this patch

Interfacing with the XBox Kinect

In the summer of 2012, I switched from a standard webcam to the XBox Kinect. With two banks of pre-recorded videos, I can crossfade between two videos using the depth data from the Kinect. The video banks are mapped to two knobs on the mixer.

Download this patch

Adding DMX Light Control

In July 2012, I added a DMX output to the box. I uploaded the DMXSimple library to the Arduino, and mapped the first four DMX channels to the four toggle switches. The last knob is used to control brightness levels.