Arduino Forum

Using Arduino => Audio => Topic started by: DVP441 on Oct 11, 2019, 08:18 pm

Title: Controlling Multiple Solinoids
Post by: DVP441 on Oct 11, 2019, 08:18 pm
Hello, I hope this message finds everyone here well. I'm fairly new to arduino! I have a question regarding the use of arduino to control a large group of solinoids. I know solenoids require an independent power supply to function correctly. But what kind of board (uno, mega, etc) should I use? Also, the additional hardware to make it all work like mosfets, etc? The end goal is to have the coded arduino translate midi signals to activate the solinoids which would then allow wind into the assigned organ pipe... I've seen this done on various sites but need some guidance on where to start. I really like the genius of arduino and all of its endless possibilities! Any insight or links showing detailed instructions on how to achieve this would be greatly appreciated. Thank you for your consideration in advance.
Title: Re: Controlling Multiple Solinoids
Post by: DVDdoug on Oct 11, 2019, 08:39 pm
Here is a MOSFET driver circuit (

How many outputs do you need?   If you need more output pins you can use a shift registers (and serial data).   With serial addressing you can address a virtually-unlimited number of MOSFET drivers...

Personally I've never used MIDI but you can find examples.   And other's here should be able to offer advice.  There will be differences depending on if you're using a regular-old MIDI connection or USB MIDI.

As with any project, start simple.   Maybe turn on one or two LEDs with a MIDI message and "build" from there.
Title: Re: Controlling Multiple Solinoids
Post by: DVP441 on Oct 11, 2019, 09:16 pm
Thank you very much for the reply DVDdoug. I agree with starting small with led lights to confirm the signal via old midi connectors (I'm also open to usb midi). This project will involve over 200 pipes. I'm not familiar with serial data, but I'm going to look into that. Can you recommend any hardware or kits I should buy to get started with arduino? Again, thank you.
Title: Re: Controlling Multiple Solinoids
Post by: MarkT on Oct 13, 2019, 02:11 pm
Mulitplexing a large number of outputs can be done with 74HC595 shift registers, many examples on these forums I suspect.  Beware the capacitor mistake in the official Arduino docs - the clock pin should never have a capacitor!

The big problem will be avoiding interference from all the solenoids - each must have a diode across it to prevent kick-back, but you can still get interference if there are lots of wiring lying around - good layout and neat wiring harnesses will help.

And if driving MOSFETs they need to be logic level, and n-channel, and switch the low-side of the load.
Title: Re: Controlling Multiple Solinoids
Post by: marco_c on Oct 13, 2019, 11:15 pm
This may also help you. These are boards I recently designed to allow me to do something similar. (

I have a few spare from those that were manufactured - PM me if you think you can use one for your project (charge nominal cost for the board + postage).
Title: Re: Controlling Multiple Solinoids
Post by: DVP441 on Oct 15, 2019, 10:30 pm
Thanks very much for the helpful responses, it's truly appreciated! I'm going to look into what wa said here and research each suggestion. I'm unfamiliar with some of it and want to make sure I have a better understanding so I'm not wasting anybody's time here. Again,  I appreciate all of the comments and suggestions (marco_c, I think you've inspired me in a way I wasn't expecting
Title: Re: Controlling Multiple Solinoids
Post by: gilshultz on Nov 03, 2019, 06:30 am
I do not know about you but I am a bit on the lazy side.  Take a look at the 8 output L9822E from ST.  It has a SPI interface, diagnostics and all the other goodies, no external components except a bypass capacitor.  The device is made using there Multipower-BCD technology which is very good. You can use bunches of them on one arduino.
I have been using avalanche rated FETs for many years with no problems and no diodes for inductive loads, it is built in.  Check the appropriate data sheet to see the ratings, and remember it is not a steady state but a pulse load. If you use MOSFETs drive them very hard.  I would use about a 33 ohm resistor from the output of the arduino to protect the micro.  The switching speed of the MOSFET is controlled on how fast you turn on the gate which has a integral  miller capacitor. When switching very fast this can take amps.  The MOSFET driver chips punch a lot of power into the gate.  The slower you switch them the hotter they will get.  This becomes a real problem when doing PWM.
Good Luck & Have Fun!