MIDI Camera – gesture control for Ableton (and just about anything else!)

by Stephen Hobley on February 26, 2011

Post image for MIDI Camera – gesture control for Ableton (and just about anything else!)

Way back in 2008 I did quite a bit of work with the Pixart camera taken from a Wiimote. There are no official specifications or data sheet available, so everything has been gleaned by reverse-engineering the chip itself.

Over the last couple of years I’ve had a lot of people ask me about the sensor and how they can hook it up for their own applications. So much so that this month I’ve decided to produce the definitive solution as another downloadable set of plans, schematics and source code.

Some of you may remember my original attempts using a piece of veroboard…

Kind of ugly, but it worked, and provided some limited expression control for the laser harp. All the original information on how you hook up a camera is here.

This time I wanted to address everyone’s requests – so I designed three types of PCB:

MIDI Camera version 1

This is the “all-inclusive” version containing the uController and the Pixart support hardware.

Arduino MIDI Pixart Shield

This is the Arduino “shield” version – provides MIDI IN and OUT, along with indicator lights and the support hardware for the Pixart sensor.

MIDI Camera \

Finally this the “simple” version – 5V input and I2C connections – should work with just about any uController.

Additionally, I removed the surface mount components – now the bi-directional level shifting is handled by inexpensive MOSFETS.

The boards are all single-sided and designed to be easy to make at home using “toner transfer”. Alternatively all 3 designs are available for purchase from BatchPCB.

Here’s a preview video of one version of the device:

Plans, schematics and source code here…

 

Share

{ 10 comments… read them below or add one }

PA February 26, 2011 at 5:40 pm

and do you know what …. ?
I’ve bought the plans ! :D
It could work with the laserharp…

PA February 26, 2011 at 5:48 pm

Steve,

how does it work to be added to the Pitch to MIDI detector ?
how can I do that ?

Stephen Hobley February 26, 2011 at 5:59 pm

PA – I built the single board configuration so that you can leverage all the work done building the Pitch to MIDI convertor – that is you can use the microcontroller already installed and just hook the additional “single” board to two of the input pins (and power and gnd).

*What* you decide to do with it – is up to you :-)

Stephen Hobley February 26, 2011 at 6:00 pm

…I wanted to add that I almost didn’t get around to releasing this project because it gave me lots of ideas – not just for MIDI and music, but in robot vision, multi-touch tables etc…

I thought I had better stop making new things just to get the project released!

Evan February 26, 2011 at 7:35 pm

Steve,

Still having problems with the oscillator. Your parts sheet lists a QG5860. I can not find a datasheet for this, but in your circuit it appears as if it is 3.3V Supply Voltage. What is the max output load for your oscillator? The one I currently have is only 15pF, and I think I may be overloading it. Do you have a link for the oscillator you used or a suggestion for a similar one?

Thanks!

Stephen Hobley February 26, 2011 at 8:35 pm

Evan –

Sorry, should have made that clearer – Dale/Vishay XO-54B 25Mhz oscillator.

(I think the number given in the parts list relates to the footprint of the part.)

http://mouser.com/search/ProductDetail.aspx?qs=OdENn%252b%2Fskvr68Ze2E72X0g%3D%3D&cm_mmc=findchips

Datasheet : http://www.vishay.com/docs/35024/xo-54.pdf

I bought a bunch of these from Ebay years ago.

Steve

Stephen Hobley February 26, 2011 at 8:35 pm

You can see the part numbers on the image of my “prototype” above – click to see the bigger image.

jack May 26, 2011 at 1:10 pm

little but very big function…. nice…

amundsen November 25, 2011 at 6:45 pm

Hi Stephen,

Two questions :
1. Can’t the clock signal be generated by the Arduino board (I am using a Uno) ?
2. Why is the conversion from 5 V to 3.3 V necessary as there’s a 3.3 V output on the Arduino ?

Thank you in advance.

Mirko Ugolini March 2, 2013 at 3:53 am

Hi Stephen,

Great Job indeed.

I was serching the web for a lot befor find your website.

I need to develope a gesture recognition device with Arduino , NetDuino or similar boards for control some servo and actuators.

For examples to turn smooth clockwise or counterclockwise a servo and so on.
More I would like to avoid to use IR marker on fingers.
Have you ever thought about using two Pixart camera for have a stereoscopic vision?

Best regards

Mirko Ugolini

Leave a Comment

Comments links could be nofollow free.

Previous post:

Next post: