2-way fireplace damper: timer actuation of linear actuator using hall sensor

Hi All,

I have been fascinated by Arduinos for some time but have never had a project that I could justify... until now!

Our fireplace has a damper which controls the amount of combustion air allowed into the burn chamber. If you are starting the fire or have put in new wood, the damper should be open. After the fire has burned for around 15 minutes (depends), the damper must be closed to prevent overheating and conserve wood.

I am going to build an Arduino controlled linear actuator which will open and close the damper on our fireplace.

The controller needs to have two functions:

(1) Open or close the damper to a given position immediately

(2) Close the damper to a given position after a time is set

I have already purchased a used 12V linear actuator. I will run it on 9V so it goes a bit more slowly and is quieter. It requires around 2A of current. Position sensing is by hall sensor.

You should know that I am not a talented programmer.


(1) I need to source a sheathed cable which has a rod built into the end so it can both push and pull the damper handle as the linear actuator moves it. What is this type of cable/rod assembly called?

(2) What's the simplest and most user-friendly way to immediately step the damper open and closed? I was thinking it could be anything from a dial, the position of which controls the position of the damper, to a button which cycles the damper: closed to half open to full open to half open to closed and so on forever. I imagine the button is simpler.

(3) What's the simplest and most user-friendly way to close the damper after a set time? I could just have a "timer start" button which would close the damper after the preprogrammed time. A fancier version of the button would increment the time in 5 minute increments to a maximum of 30 minutes, then cycle back to 5 minutes. I imagine incrementing the time before closure using a dial too: The dial would increase or decrease the time before the damper closes. If I use the multiple-push button I could just count the number of pushes but it would be fun to have a small display reading the number of minutes before closure.... I guess the "timer start" button is easiest, with maybe an LED showing that the timer is counting down.

(4) The linear actuator goes one way when the motor wires are hooked up, then the other way when the wires are reversed. I need to switch around 2A. Do I need to use two controllers, one for forward and one for reverse, or is there a bidirectional motor controller I can buy, or is there a more clever way of taking care of this issue?

(5) There is no spec sheet available for the linear actuator, so all I know about the hall sensor is that it needs a minimum of 5V to-work. It has three wires: Vcc, Ground, and signal. I assume I get a certain number of pulses (of unknown level) for each rotation of the motor, corresponding to some linear distance of the actuator. I have NO IDEA how to code this (see above). Can anyone suggest sample code on which I can base my work?

Thanks for all your thoughts and ideas! I'm really excited to build this!

Someone has already told me what the cable I'm looking for is called:

push-pull cable or control cable


the damper must be closed to prevent overheating

I don't recommend you use the Arduino in this application. Your family's safety is too important.

Thanks for your concern! It won't burn the house down though. the fireplace itself is lined with firebrick but over many heat cycles too much heat can cause the metal air vents inside to sag. Mostly it's about having the fire burn for four hours instead of one and still be lit when I get a chance to put more wood in.

To control the actuator you can use an H-bridge motor controller. They are bi-directional.

The actuator will briefly draw close the motor stall current (much more than 2 A, a rough guide is to budget 3x steady state current draw) when starting up, so you need a reasonably beefy motor driver and power supply. I am happy with this Pololu driver http://www.pololu.com/product/1451 which I use with linear actuators to open and close air vents in a greenhouse.

Okay, thanks! That's a good start - looks like a quality product.

Should I maybe be posting about the coding for the hall sensor in a different subforum?