Accomodating fridge damper / stepper motor

I had originally came across the original BrewPi, but it couldn’t control enough different fermentation temps at one time, so I’ve been working on my own fermentation control system (Arduino w/ touch screen) for a several weeks, and then I came across the new version that shows a lot of potential and so decided I would rather not reinvent the wheel when it came to software.

I’ve ordered the new BrewPi Spark, but I’m doing things differently than most; I have a side-by-side fridge; most people use the freezer side to serve beer and the fridge side for fermenting, but I am keeping the freezer size as factory, (I want a freezer in my garage for ice and hops,) and I plan to just control the fridge temperature through the damper.

Where I have run into a problem that I can’t find anyone else trying to deal with is that the damper between the freezer and fridge is a stepper motor so it isn’t as simple as on/off. So my question is two-fold:

1.) Does the Spark have at least two extra pins so I can control the stepper driver board with the Spark?

If not I’ll use an Arduino pro to take an input from the relay outputs and assume HIGH is open and LOW is closed, and I’ll let the Arduino do the stepping work.

2.) Has anyone ever had interest in making this work besides me?

I’d be willing to help develop this with user friendliness in mind if there is a desire for this.

Thank you for your help!


For controlling motorized ball valves, I made a board with a DS2408 8 channel onewire switch and an H-bridge (L293D equivalent).

If you google for L293D stepper motor, you can find plenty of schematics for controlling a stepper with the L293D.

Do you think you could write a stepper motor driver class on top of our DS2408 class based on the schematic below?
I’d be happy to include a prototype board in your order.

I like that idea much better! Then I could keep the brain intact and use the RJ12 connection scheme. I don’t think it would be a problem at all; I’ve already got the code working on my Arduino, so it shouldn’t be too bad to wrap your 1W code. The only down side I see is that 1W doesn’t seem to support proportional control; I was trying to use a PID library to use partial dampener positioning so it didn’t have to open/close all the time, but it was proving much harder than simple on/off anyway. This would certainly make my life easier working with it rather than having to hack together any updates to the core code.

Are we talking about a stepper or servo here? Or is it some sort of normal fan?

With a stepper motor you send it a pulse and it takes a step (a bit simplified). There is no PWM involved.

You’re right! I keep thinking of a microcontroller after the 1W switch instead of using 4 of the switch’s outputs to control the 293D through the stepping functions. That’s even easier.

I finally have the fridge working with the damper; I had to go the route of output from BrewPi to the Arduino, so it’s clunky, but it works great.

I’ve got the components to do it with OneWire directly from the BrewPi but I didn’t pay attention to the DS2408 being surface mount so now I need to order a surface mount proto board so I can solder it on.