Replacing a Wired Controller with an Arduino Uno

So, I have a simple robotic arm that has a wire controller you plugin into it. The controller has 8 pins. I haven't played with it too much but I know that the far ends are power sources and the middle pins are to the motors. When a connection is made with one side to a middle prong a motor runs. The motor runs in the opposite direction when the opposite side's prong is used with the motor prong. Because the controller is made completely up of switches and no other components I figured it'd be relatively simple to create a circuit to replace it with the Arduino Uno. However, I'm unsure how I could replicate the switches with a circuit. I don't want to fry the Arduino by plugging the robotic arm right into it so I was considering using relays. But 10 relays would be kinda pricey and I'm not sure if there is an easier way. Does anyone else have any good ideas/advice?

You need to give us some idea of the power levels involved. What is the voltage? How high the current draw? Relays may or may not be 'pricey' depending on the power levels.

Would help to know which simple robot arm. 10 relays are about $10.

Sorry about the lack of details... All I know is that the arm is powered by 4 dc batteries and has a wired controller. I still need to do further research onto how it works but I was wondering how I could design a basic system to control it. There should be more helpful information here:

It certainly sounds like relays are the answer. You should measure the motor coil resistance to get a estimate of the stall current. That will be the highest current pulled. My guess is 1A, 2 as most. If so, the relays will be cheap. For example I just pulled a DPDT relay from my parts bin. It rates 5A/30V and cost $1 each from one of the surplus suppliers. You can also check Ebay.

That URL you reference is a problematic design. Motors and relays have energized coils that can generate reverse voltage and burn out unprotected transistors. For a better choice see the ULN2803A darlington array with 8 outputs, which is frequently used with the Arduino. If the current draw is no more than 500mA you may not need the relays, just a single chip. The ULN2803A, protected by diodes, is designed for these applications.

See Adafruit at $1.95: (ULN2803A)


Thank you so much! I will definitely look into your suggestions!

Base on the schematic diagram, the robot arm used two 3V batteries form a double-ended power supply for the motors.
You can use two transistors to control the motors like this

What does direction control mean? Do i give it low for left and high for right? I need it to have three states; not two. Direction 1, direction 2 and off.

Would it be relatively simple to just hook up a STP16CPS05MTR to my Arduino and to the robotic arm? I still don't exactly understand how positive and negatives are dealt with in the controller but shouldn't hooking up two separate one allow it to behave like I want it to?

I have too many tabs open... I meant to say a SN754410 ( ).

Does anyone know of a serial input chip I could use to accomplish what I'm trying to do? Most of the ones I see are for LEDs..