I am new to GPIO programming. I have a OWI-535 Robot Arm (non-USB version). I'd like to replace the controller that comes with it with the RPI3. I'd like to be able to send commands using GPIO pins as if I pressed a button on the controller. Is that possible? What hardware do I need? I know I need a breadboard and some wires to connect the GPIO pins to the breadboard. I tried searching online for a tutorial, but they are all for the USB version of the robot arm.

EDIT: Thank you for the pointers Steve. This is my first time asking a question on Stack Exchange, so excuse my mistakes.

I managed to find the circuit diagram of the controller. It simply closes a circuit to move up or down using a switch. There are 5 switches, one for each motor (I think there are called SPDT switches).

controller circuit diagram

robot arm circuit diagram

So what I'm hoping to do is to remove the controller, and close or open the circuits to run the motors using the GPIO pins. I am guessing I have to buy a component that works like a SP3T switch but is controlled by the GPIO pins? Maybe that's called a SP3T relay? I am also told I could do this with just 2 transistors for each motor.

I hope this is enough info. Thank you in advance.

  • You don't provide a link to the robot arm, nor do you explain the difference between the US and non US versions.Is this only a matter of the mains connector? You should not expect others to do the basic research you should be doing. Please edit your question and include these pertinent details. Commented Aug 25, 2016 at 3:40
  • Thank you @SteveRobillard, I just edited my post. Hope this is better.
    – FredS
    Commented Aug 25, 2016 at 16:33
  • Much better, but you still don't explain the difference between the us and non us versions. Commented Aug 25, 2016 at 22:52
  • I guess the USB version can be controlled from a computer using the USB interface. The non-USB version is controlled by a controller as posted above.
    – FredS
    Commented Aug 26, 2016 at 14:53

1 Answer 1


I have the OWI arm too. I've controlled it with an arduino, but the concept is the same for a Raspberry Pi.

You will need a motor controller board. The arm doesnt use servos, it has small motors. I used a 2A rated motor controller. It was based on the adafruit design. I dont have the link at the moment, but its meant for arduino and not a Raspberry Pi.

The motor controller board will likely have some kind of library or sample code, so you'll want to start with that.

Lots of people have hacked or modified the OWI arm, so you could check out their projects on Instructables.com.

A GPIO pin is insufficient to directly power a motor. The GPIO pin could control a relay, or a solid state relay, which is the basic concept behind a motor controller. The motor controller will also handle forward and backward. It's known as an H bridge.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.