Subscribe to Make Magazine Today!

Paul Sobczak got an LED to light up when a certain sound frequency is reached, using an Arduino and laptop running Pure Data.

John Baichtal

John Baichtal

My interests include writing, electronics, RPGs, scifi, hackers & hackerspaces, 3D printing, building sets & toys. @johnbaichtal

  • Jerry Isdale

    The video says “Pure Data running on an Arduino”, which is not quite correct.  Hunting down clues I found Pduino ( which seems to be a combo of the SimpleMessageSystem which actually runs on arduino, and PD patches. PD itself runs on the host computer.
    Following the Pduino links hit several dead ends – looks like dev died off last decade….
    Hans-Christoph Steiner’s Pduino site server doesnt respond. SimpleMessageSystem is replaced by Messenger, which is replaced by CmdMessenger, according to the Arduino Playground pages.

    Drat. looked like an interesting giant to stand on.

    • Paul Sobczak

      Yea, it’s Pduino running the communication. You can run Pure Data on embedded linux, see PDA (Pure Datat Anywhere) if your are interested in that. You can download the code, I posted it in the comments of the Vimeo post.

  • Martin Breus Meier

    Why not just use an op-amp as a high pass filter and than trigger the LED?

    • Paul Sobczak

      That was the kind of the idea behind it, but I wanted to realize it first using FFT stuff so I could have the capability to do more than just one output.

      I would need to use a bandpass filter, not just a highpass filter as I was selecting a specific range, and indeed that is what I have done in the PD sketch, using the bp~ module (or whatever they call it in PD) with a really High Q to narrow down the pass band.

      With analog you would need to do a bandpass filter for each output, with PD I can expand this to control more than one without increasing component cost. As I mentioned below you can run PD on an embedded linux environment, that would open up some doors to keeping the cost down, and most embedded linux boards have I/0 so you wouldn’t need an Arduino. I think the Beagle board is around 150 so it would be kind of neat. Anyways this was just a proof of concept, I am sure there are cleaner ways to do it in PD as well but it’s kind of neat to fool around with these things.

  • Paul Sobczak
  • Paul Sobczak