Find all your DIY electronics in the MakerShed. 3D Printing, Kits, Arduino, Raspberry Pi, Books & more!

Kinetic sculptor David Bynoe of Calgary, AB, sent in this project he’s working on. Looks pretty slick!

For an upcoming project I needed a pneumatic ram with a closed loop control system so I could position it accurately. Didn’t have the budget for an off the shelf solution, so I bodged one together with an ardunio, a couple air solenoid valves, and a pair of potentiometers.

How it works is one potentiometer is the target while the other is mounted to the ram. The arduino code compares the two, figures out the direction that the ram needs to move to match them up, it then cycles the solenoid valves on and off accordingly. Once the values match, it turns both valves on, more or less locking the ram in place. The target pot can also be replaced with any analog input.

Fritzing diagrams and code on David’s website. Also be sure to check out his Blockwatch periscope that we blogged back in ’07.

John Baichtal

My interests include writing, electronics, RPGs, scifi, hackers & hackerspaces, 3D printing, building sets & toys. @johnbaichtal



  1. jamesbx says:

    Using a pot to track position seems like a really good approach. I’m collecting parts to build an Arduino controlled pneumatic power hammer for blacksmithing, and hadn’t quite worked out how to track position of the hammer so I could vary the stroke length. I had considered putting limit switches at each end of the stroke, then timing how long a stroke took to estimate a pulse width for shorter strokes. And had thought about a linear encoder, but it only tracks relative position, not absolute.

    But fixturing a pot will let me know the position at power-on. Since converting the linear motion to rotary might be a bit problematic with the kind of shock pulses my setup is going to endure, I will likely use a slider pot. Hopefully I can find one with 8-10″ of travel.