Arduino + Solenoids + Self-standing processing?

Hello all,

I've been doing a bit of forum lurking and poking around but haven't been able to figure out if this is possible.

What I would like to do is mount an Arduino (dont know what variant) inside a (bass) drum along with a few Solenoids. There would be some kind of input (I'm guessing piezos on the head of the drum).

What I have in mind is something like an intelligent/auto accompanist. Where I would play something on the drum (say 4 quarter notes @ 120bpm), the Arduino would recognize what I've played, then play the same rhythm back to me (a first step, as an 'acoustic looper'), then eventually be able to comment on what I've played, via simple transformation (speed up/down, add/subtract notes etc...)

Now, from my understanding, the Arduino can drive solenoids fine, and can take input. What I'm not sure about is how it deals with the actual processing of data. And if it can do things like that while not hooked up to a computer.

Input/output echoing seems relatively painless, particularly since I'm guessing it would be dealing with simple on/MIDI type messages to drive solenoids.
It would have to do some kind of analysis to translate a piezo input into a meaningful pulse (so it doesn't mis-read the floor vibrating or something like that), and it would also have to disregard it's own note generations as new inputs (throwing out any new input that happens in tandem with it's own output).

Sorry to throw such a complex (?) question there as a first post, particularly since I don't know if this is possible.

Any input would be much appreciated.

As a point of reference, here is my webpage with the instruments I've built.

What I'm not sure about is how it deals with the actual processing of data. And if it can do things like that while not hooked up to a computer.

Well, it is a "computer", and it can do many kinds of things when not connected to a PC. But there are many things it can't do very fast, compared to even an old, slow PC. Especially if they involved floating-point arithmetic, which is all done using software routines instead of a hardware FPU. In some cases, you may need to be especially clever to overcome the limits of its hardware capabilities.

But people have been able to make everything from custom musical instruments to weather stations that display conditions via a built-in webserver using Arduinos that are acting as standalone computers, not just "PC I/O boards". Take a stroll through the "Exhibition" area of the forum, and you'll get an idea of what people have turned Arduinos into. I think you'll even find a posting by someone who's done something similar to what you're proposing, sensing the rhythm of musical input and generating an accompaniment (I might have stumbled upon that one on youtube, though, rather than here). Even if that particular project doesn't work out for some reason, the odds are that you'll find some good use for an Arduino, so there's little risk that you'll wind up deciding it's a waste of the time and money you put into it.


I'll take a look through the exhibitions thing a bit more (I did poke around there a bit too).

I also came across this page:

Which is staggering.

Most of that looks like dedicated circuits/designs per instrument, as opposed to a multi-purpose thing like the arduino.

Oh, do the different versions of the hardware have an impact on the processing power at the Arduino? (specifically in this context)

No they all have the same processing power, caused by the instruction set, architecture and clock speed.
Some models only have an 8MHz clock but most have a 16MHz one.