New to Stepper Motors - Where to begin?

I’m working on a project, posted here - Peristaltic Doser - Doser set amount over 24hr period

I want to play with the idea of using stepper motor driven peristaltic pumps but I’ve never played with or even held a stepper motor. Does anyone have any guidance from the ground up? I have a small stepper motor and two different drivers coming today.

You will probably need a driver board to interface with the stepper motors. Control is pretty straightforward with the driver.

As for peristaltic pumps, this is what i strongly remember for a customized DC motor, self designed solution:

Hey @kennethlimcp I’ve been MIA for a while now. Thank you for chiming in.

Have you used those pumps before? They look nice, the question is how well built they are. I’ve found so many pumps to be made on the cheap and sold for high bucks. The doser project is going to be put together as a DIY project, me not selling anything, but putting together a complete list of recommended products. Some of the people who use these types of setups could be dosing in excess of 500mL/ day so quality is important.

I have the motor and two driver boards coming today.

Nope i have never used that before. It leave a good impression in me years back, knowing that people can actually self-designed such stuff! I only used a commercial peristaltic pump for a project in the past.

As for stepper, i played with some from Sparkfun.

This might be interesting too -

Any specific reason why it needs to be peristaltic? Perhaps a cavity pump would work as well, or other types of fluid pumps?

Ha! I saw that as well.

Peristaltic pumps are the choice for two reasons, one there is no mechanical contact with the liquid and two they’re very precise. There are a couple dosers on the aquarium market that can dose down to .01mL (that one uses stepper motors).

The problem with most of the units on the market is, they’re either incredibly expensive and don’t meet the needs of the average reefer (reefer is a hobbyist who grows and maintains a coral reef tank…nothing to do with smoking :wink:), or they are kind of expensive, $250+ and use cheap pumps with poor programming methods. On the expensive side, one of the dosers is $350 and it only has two pump heads, the other is $500 and only has three. Most tanks need four or more pumps. My goal is to give reefers a resource list of products to give them the options of at least four pumps, they can choose their own pumps to meet both their liquid requirements as well as keep it within financial reach.

Most of the hobbyists are all about DIY and love projects, so I think people will enjoy this project, and people will buy photon boards too!

Any suggestion on stepper control boards? I actually have two here from a while back when I was working on this project. One is a SainSmart L293D Motor Drive Shield For Arduino, the other is a SainSmart L298N Dual H Bridge Stepper Motor Driver Controller Board Module for Arduino. Would either of those work? Or is there a better option with the current particle libraries?

I’ve used the easydriver with an arduino. It’s super easy to control. Just toggling pins high or low to set the direction/speed and advance a step. It should work great with a photon without any special firmware libraries.


Thanks! Ordered, thank you Amazon prime!

1 Like

Well I’m back with stepper questions. I received a bit of help from the designer Brian, but now I have photon questions.

  1. I would like the possibility of having up to six motors, which means six easy drivers and the need for 12 outputs. I just wanted to confirm that I could use the analog outputs as digital outputs with HIGH/LOW values. I found this pin info sheet and that is the way I read it, but I wanted to confirm.

  2. Since this is not utilizing PWM, can I utilize more than one output at a time?

If anyone has any recommendations or guidance on hardware, I’d greatly appreciate it!


  1. Yes, you can use the “A” GPIO as digital outputs. Why do you need 12 outputs for 6 motors?
  2. By, “utilize more than one output at a time”, do you mean setting more than one pin HIGH or LOW at a time? If so, yes, you can set as many of the GPIO pins to HIGH or LOW at the same time as you want.
1 Like

I was under the impression I needed to use one output for Drive and one output for Direction on the easy driver board. Please correct me if I’m wrong.

I assume for the purpose of driving your peristaltic pump heads, you would always be going the same direction, so you can just tie the direction pin to Vcc or ground, whichever is appropriate. There are several other inputs to the Big Easy Driver; 3 inputs for micro step selection, reset, sleep, and enable. If some of these are necessary for your use, then you probably need to consider some sort of port expansion. Perhaps serial in, parallel out shift registers that would only require a few lines to service all 6 drivers. These may or may not be necessary depending on what functions you need for your purpose.

1 Like

Ahh…got it! I"m going to make an attempt at building out my own version of the easy driver or the big easy driver, which is ever is appropriate depending on the motor I end up with. By doing that it will allow me to eliminate the additional ports from the easy driver board.