A 6-stepper mini drum kit using Adafruit shields

Hi folks,

I'll try to keep things clear and also reassure you that, despite being a novice, I have researched fairly thoroughly and read around these topics enough to relieve myself of complete bufoon status though obviously everyone's needs are unique, hence the post.

I'm planning to build a circuit that will play a tiny toy drumkit composed of 6 steppers with actuators (pencils!) attached. You can have a look at this guy for a much more advanced version of what I'm trying to achieve. https://www.kickstarter.com/projects/1481744082/dadamachines-music-machines-for-everyone?token=bf5ca50a

Essentially I'd like to be able to set each motor running and add a potentiometer into the circuit for each one in order to manually adjust the speed they are beating the little drums at.

I will work at the code later but at the moment I have decided to stack three Adafruit shields (Adafruit Motor/Stepper/Servo Shield for Arduino v2 Kit [v2.3] : ID 1438 : $19.95 : Adafruit Industries, Unique & fun DIY electronics and kits) on top of one another.

Now this kit is tiny. I'm really looking for no more than enough force to beat the drum than you could get if you flick something as hard as you can with your ring finger. My first question is whether someone could estimate how much torque that is or recommend a motor in that sort of region? I have no experience with the measure of torque. I'm guessing as far as they go I'm not looking for a very powerful stepper right? I'd like to use some acceleration too for a realistic thump rather than a dull thud. Can anyone put a measure on how much torque I'm looking for roughly?

Secondly in terms of power I'd like to know a little more about getting the voltage and current correct. I know the documentation for my steppers will show what they need, so I pretty much just times it by 6 and that determines my current eg. 0.5A x 6 = 3A total with maybe a little more on top? Or is each motor treated as a separate entity, so in that case I need a little over 0.5? The same goes for voltage... if I have 6 x 5V steppers I need 30Vs or only 5.

Furthermore, I'm going to be generating a certain amount of heat, no? Is cooling a consideration and if so what should I be looking for?

Finally, is it realistic to be able to add in pots using a shield like that or would I need to use my own stepper driver setup to have them in there?

Much obliged for your time,

Jim, UK

You need to post a link to the datasheet for your stepper motors.

You may find some useful background info in these links
Stepper Motor Basics
Simple Stepper Code


I would suggest using hobby servos instead of steppers.
Make things so much easier!

Adding an elastic coupling between motor/servo and the stick will enable the stick to accelerate
unemcumbered by the inertia of the motor itself. Drummers use their fingers this way to prevent
the large mass of the arm and hand limiting the stick's impact velocity. I'd try coupling a servo arm
via rubber bands and experimenting.

Thanks a lot everyone, all useful opinions.

Robin2, as I said I'm not sure which motors I'll use but wanted to know the general rules to be applied in order to calculate what I would need. As an example you could use these...

Daenerys, thanks, I had considered servos but wondered whether they possess the desired speed. Also I have two cymbals that will need the stick to strike all the way through and come back round again. Servos only offer 180-degree motion right and don't seem as smooth as a stepper? I'm open to it though- controlling position is easier with a servos right? They know where they are better?

Mark, you're right, I'd planned for this. Do steppers offer the same ranger of couplings as servos? Know anywhere good to pick up parts?

I reckon you need to think carefully about the motion you need. I am not musical but it seems to me that striking a drum or a cymbal is a complex process requiring speed, position and duration to get the required sound - as well as synchronization for the different beats.

Some experimentation with one motor or servo seems to be required. I think I would favour a servo rather than a stepper motor. But I would not be surprised to find that neither is really suitable. Both are likely to be noisy and not sensitive.

My instinct is that the best arrangement would be equivalent to the drumstick directly connected to the shaft of a DC motor (perhaps a large motor) and with complex software to vary the torque of the motor. Relax the torque to allow the stick to fall - or even reverse the torque to drive it down hard. The effect would be somewhat similar to how a loudspeaker coil works. (Note that what I have in mind is that the motor shaft would only rotate through a few degrees).



Understood, and agreed with. to some extent this is a learning process and the scope to get better at motors is one of my aims. I'm not necessarily aiming for a robot John Bonham. I want to get better with steppers and hence prefer using them, not least because they provide 360-degree motion. Ultimately I see just getting the motors spinning at opposing rates and striking through the (modified) drums would be a satisfactory way of creating a beat I believe.

I'll definitely start with one, get it going good and move from there but in order to upscale I'll need a Mega I believe and a DRV8825 for each motor. This is where my voltage and current questions come from. How far can I push each driver, what are the figures and hence how big does my power supply and cooling have to be? I'll likely use 12V steppers like those above.

Research is ongoing but as yet there appears to be no-one online whose documented their 6-stepper and an Arduino setup. I'll happily do s when I've got it together.

Appreciate your input!

The small stepper motor in the link in Reply #4 can easily be driven by a DRV8825 as they only require about 0.25 amps. No cooling would be required. But make sure you adjust the DRV8825's current limit to match the motor current.

I think the DRV8825 can work with up to 40v - but be sure to check the specifications.

Each stepper driver will require two Arduino I/O pins - so 12 pins for 6 drivers. That would be perfectly feasible with an Uno.

Where you may run into a limit is the total rate at which step pulses must be produced when you have 6 drumsticks working at the same time. And for that, a Mega is no better than an Uno - both operate at 16MHz. I suspect you won't know if this is going to be a problem before you figure out how to get a single drumstick to work as you require.

Interesting project.