Using an Arduino to control Electromagnets

Thread Starter


Joined Nov 29, 2011
Based on my previous thread, The project that some of you helped me with (especially praondevou) is working quite well, the students really have something to grasp when we talk about using electromagnets to turn a shaft.

Now onto something that I want to do, I want to get this thing spinning faster than the 1000, so the idea is to use an Ardiuno uno with the Atmega328 to control more than 1 set of coils at a time.

Any help would be appreciated


I know there will be a lot of changes but this is what I have so far



Joined Jul 9, 2011
I would prefer V3 of your schematics (sent to me by email). I post it here for others. With V4 there is a risk that you turn on the PFET and the NFET at the same time which could be fatal. This possibility is inexistant in V3.

I personally prefer stay completely digital, using for example a level shifter

The MODE pin of the MC14504 determines the input level acceptance. Connect it to VCC for TTL input.


You can drive the 4049 in version V3 with the level shifter IC above or a simple switch like in the first picture here: (that inverts the signal though)

It can also be done with a MOSFET. Since the 4049 doesn't need much input current and you don't work with very high frequencies a simple switch will do it.

Maybe if you don't want to spend much more money with this you can tell us what you already have available (transistor) so we can elaborate something.


Thread Starter


Joined Nov 29, 2011
I have everything that is in the schematic already except for the 330nF cap, which I can't find locally so I will have to make an order anyway. while I'm at it, I will also order the MC14504 and anything else that you change in the schematic.