Magnetic Stirrer

Note: There is an updated (simplified) version of this project here.


This problem was presented by a colleague of mine – he does a lot of home brewing and needs to keep his yeast starters agitated. “A stir plate helps you culture higher cell counts of healthy yeast for quicker fermentations, lower risk of infections and better tasting beer.”, apparently.


Magnetic stir plates are a thing, they can be bought from around £40 and many also include a heating element. That said, building your own sounds like more fun. The internet includes many tutorials on building a DIY stir plate using a PC fan and some neodymium magnets, we’re simply going to take it up a notch by using PWM to control the fan speed and (hopefully) report back the actual speed of the fan, as a proxy for the stirring speed.

Parts List

In addition, we’ll need the following:

  • Hookup wire
  • Super glue
  • Hot glue and glue gun
  • Solder and soldering iron
  • Drill and drill bits for pot (6mm) & jack (8mm)
  • Tools for cutting out hole for display (dremel?)

Total cost = £27.49 but in reality, you can scavenge many parts (e.g. fans, psu) and many parts are available cheaper in bulk (magnets, knobs etc) which will bring down the parts costs considerably.


Note, the 4 Digit display has not yet been included in the below diagrams.





The latest version of the Arduino code can be found in the associated github repository, along with Fritzing files.

Build Photos

Breadboard Prototype

Finished Prototype

So far this prototype is unfinished, the project box and the magnetic stir bar are both waiting to be delivered so no pictures of the final article yet. I’ll update this article with more details when it’s finished.

Lessons Learnt

So far I’ve learnt how to use Fritzing (a great app for documenting circuits) and how to modify existing fritzing parts to add new connectors using Inkscape.

I’ve also learnt that 2.5mm x 5.5mm barrel plugs sometimes fit in 2.1mm x 5.5mm barrel sockets, but not reliably and can cause intermittent power issues. I’ll be standardising on 2.1mm x 5mm in future as this seems to be more popular (e.g. used on the arduino) .


Many thanks to Jay Brad  for his Fritzing Project describing how to read and control a four wire fan, and his included arduino sketch which I initially based my code on.