Controlling an LED with Sound and Pure Data


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

20 thoughts on “Controlling an LED with Sound and Pure Data

  1. Jerry Isdale says:

    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.

    1. Paul Sobczak says:

      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.

      1. Jerry Isdale says:

        Found your code, but alas pduino site ( does not respond.
        Perhaps a revision using CmdMessenger or alternative on the embedded micro.

        1. Paul Sobczak says:

          Yes that is strange I was at Hans’s site on last wednesday to find the code. I can upload the once I get to my other computer.

          1. Paul Sobczak says:

   There are a few versions of Pduino there.

          2. Paul Sobczak says:

            Here is a mirror of the Pduino that I used

  2. Martin Breus Meier says:

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

    1. Paul Sobczak says:

      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.

Comments are closed.

Discuss this article with the rest of the community on our Discord server!

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

View more articles by John Baichtal


Maker Faire Bay Area 2023 - Mare Island, CA

Escape to an island of imagination + innovation as Maker Faire Bay Area returns for its 15th iteration!

Buy Tickets today! SAVE 15% and lock-in your preferred date(s).