Arduino – Modifying a Robot Arm

Arduino robot arm

Essentially another tutorial involving controlling DC motors. In this post I’m going to first alter a robot arm I had built previously from a beginners kit so that it can be controlled from Arduino. Then I’m going to write a series of posts on different ways to control the robot arm using Processing and other things. You should be able to use all of what I write for work with other toys and motors.

To start with have a look at the robot arm, it’s an ‘Edge Robotic Arm Kit‘:

The kit is a basic construction one and costs about Β£30 which you can find in most gadget shops and web stores. You assemble a gear box for each motor/ joint in the arm, doesn’t take long to build (about an hour) and is controlled by a set of switches on a control box. The only thing to note here is we’re dealing with motors, not servos or stepper motors just bog standard DC motors. This means calculating positions isn’t going to be straightforward later on. The kit has 5 motors and 4 ‘D’ series batteries to power them and can lift about 100 grammes.

So this version has a controller attached that lets you move each motor by pressing a switch, the electrics are pretty basic and don’t allow much control or further input. I have seen other versions that allow you to plug it in to a computer via USB but you pretty much have the same controls.

In order for us to build our own controls/ interfaces and software we need to modify the arm to allow us to interface our microcontroller – in this case an Arduino board. The best way I think do this, since we want to control a motor going backwards and forward, is to use H-bridge chips – the L293D and SN754410 and wire each motor into a chip and then alter the power circuit to run these chips. Arduino can then digitally control the H-bridge chip to turn the motor on/off and change its direction.

You can see some other work I’ve done with motor DC motor control and I’ll be covering the same info throughout these posts.

Arduino Robot Arm Parts

3 H-bridge chips – I heavily recommend using the sn754410 chip but you can probably get away with the L293 series. Each chip can control 2 motors – 5 motors = 3 chips.
Arduino Deumilanova w/ ATMEGA328
Breadboard/ Prototyping board
Jumper/ Connector wires
Wire cutters/ strippers

Hacking the Robot Arm

I hope you’re not too precious about wanting to use the control unit again, thats the first thing to go! I did look at working with this but it doesn’t give the level of control that I want. Also I’ll be cutting and stripping the wires and removing the control circuit from the arm. The only permanent damage is done to the wires – basically cutting the plugs off of the wires, so you could always get new plugs if you wanted to revert it, although once I’ve shown you what can be done I don’t think you’ll mind.

Step 1
First we need to create our breadboard layout so we can plug in all the wires, we’re going to be using alot of pins on the Arduino, in fact I think I use pretty much all of them. You could reduce this using shift registers but for now its not an issue, although please follow the wiring diagrams as this layout gives the least hassle. Some pins e.g. digital pin 13 will make the motors move when the board is powering up so we want to avoid this.

First of all we need to put our H-Bridge chips on the breadboard. Make sure to put them in the center like illustrated. This means the 2 sides of the chip are isolated – it will not work otherwise!

Next using the above image and the following wiring diagram for the chip connect the ground and power for each chip leaving space for the motors and Arduino pins. Note that the red wires are connecting the rails together so the power will flow around the whole board! These chips will be using the battery power that runs the motors in the arm – the power will be plugged into the board, the Arduino pins are there to switch the chips on/ off etc… I’ve also got a table of outputs I’ve done for each pin on the H-Bridge chip, it’s the same for either the L293 series or SN754410, pin configuration diagram below. The numbers 1-16 also correspond to the numbers on the images of the circuit.

H-Bridge Pin Configuration

1 to pin on Arduino board
2 to pin on Arduino board
3 to motor1 (either + or -) it wont matter as its DC
4 to the gnd (-) rail on the breadboard
5 to the gnd (-) rail on the breadboard
6 to motor1
7 to pin Arduino
8 to power (+) rail.
9 to pin Arduino
10 to pin Arduino
11 to motor2
12 to GND (-) rail
13 to GND (-) rail
14 to motor2
15 to pin Arduino
16 to power (+) rail.

So you should have 3 chips on the board and be ready to add the motors and connections to Arduino.

Step 2
Now the circuit layout is complete we can start stripping down the arm. First remove the control unit and unscrew the panel above the battery pack – this should have all the motors plugged in to it. We’re going to systematically disconnect each motor plug, remove the plug, strip the wires a little bit and wire it on to the breadboard. When stripping the wires, remember to twist the exposed wires to prevent them becoming stranded – or solder pins to the wires.

Here’s the first motor in on the first chip:

Its important to remember which motor you’re plugging in to which chip but it’s not too much of an issue as with the software we’ll be writing later on we can work around this with our code, just so long as each motor is wired into a chip as above. Below is a list of my Arduino pins used.

Shoulder motor
chip 1, pin 1 to Arduino pin 14 (Analog pin o)
chip 1, pin 2 to Arduino pin 15 (Analog pin 1)
chip 1, pin 7 to Arduino pin 16 (Analog pin 2)
Base motor
chip 1, pin 9 to Arduino pin 2
chip 1, pin 10 to Arduino pin 3
chip 1, pin 15 to Arduino pin 4
Elbow motor
chip 2, pin 1 to Arduino pin 8
chip 2, pin 2 to Arduino pin 9
chip 2, pin 7 to Arduino pin 10
Wrist motor
chip 2, pin 9 to Arduino pin 5
chip 2, pin 10 to Arduino pin 6
chip 2, pin 15 to Arduino pin 7
Hand motor
chip 3, pin 9 to Arduino pin 11
chip 3, pin 10 to Arduino pin 17 (Analog pin 3)
chip 4, pin 15 to Arduino pin 18 (Analog pin 4)

You’ll notice that rather than refer to the motors as M1, M2, M3 as the kit does, I’m calling them something more meaningful as I think it makes them easier to identify – you should be able to figure out which motor is which from my description I would hope!

Second motor in:

You can see the battery power has been added. If you have any problems you can always connect one motor at a time and use a quick sketch to test the circuit is working and below is some simple codeto help you do that. For later tutorials this isn’t going to change much.

[ad#Google Ad in content]

int baseMotorEnablePin = 2;
int baseMotorPin1 = 3;
int baseMotorPin2 = 4;
int shoulderMotorEnablePin = 14;
int shoulderMotorPin1 = 15;
int shoulderMotorPin2 = 16;
int elbowMotorEnablePin = 8;
int elbowMotorPin1 = 9;
int elbowMotorPin2 = 10;
int wristMotorEnablePin = 5;
int wristMotorPin1 = 6;
int wristMotorPin2 = 7;
int handMotorEnablePin = 11
int handMotorPin1 = 17;
int handMotorPin2 = 18; 

void setup() {
  // set the motor pins as outputs:
  // set all chips to enabled state
  pinMode(baseMotorPin1, OUTPUT);
  pinMode(baseMotorPin2, OUTPUT);
  pinMode(baseMotorEnablePin, OUTPUT);
  digitalWrite(baseMotorEnablePin, HIGH);
  pinMode(shoulderMotorPin1, OUTPUT);
  pinMode(shoulderMotorPin2, OUTPUT);
  pinMode(shoulderMotorEnablePin, OUTPUT);
  digitalWrite(shoulderMotorEnablePin, HIGH);
  pinMode(elbowMotorPin1, OUTPUT);
  pinMode(elbowMotorPin2, OUTPUT);
  pinMode(elbowMotorEnablePin, OUTPUT);
  digitalWrite(elbowMotorEnablePin, HIGH);
  pinMode(wristMotorPin1, OUTPUT);
  pinMode(wristMotorPin2, OUTPUT);
  pinMode(wristMotorEnablePin, OUTPUT);
  digitalWrite(wristMotorEnablePin, HIGH);


void loop() {
    // SET either one to HIGH to turn the motor on.
    // e.g.
    digitalWrite(baseMotorPin1, LOW);
    digitalWrite(baseMotorPin2, HIGH);
    digitalWrite(baseMotorPin1, LOW);
    digitalWrite(baseMotorPin2, LOW);
    // more motors here added.
    digitalWrite(shoulderMotorPin1, LOW);
    digitalWrite(shoulderMotorPin2, LOW);
    digitalWrite(elbowMotorPin1, LOW);
    digitalWrite(elbowMotorPin2, LOW);
    digitalWrite(wristMotorPin1, LOW);
    digitalWrite(wristMotorPin2, LOW);


[ad#Google Ad in content]
Step 3
So now you should have all the motors wired to chips on the breadboard, now we just add the power to the board and we’re done – this is the power from the robot arm batteries, it can connect on either side of the breadboard as long as its connected to the power rails. Also remember to connect a wire from the GND rail on the breadboard to a GND pin on Arduino – there must be a common ground connection between Arduino and the H-bridge chips for this to work. Lastly Find a way to secure the Arduino and breadboard to the arm to minimise the risk of wires disconnecting, I just used some blu-tak (modelling clay etc..).

And here’s the final thing:

If you want to avoid the breadboard and make a more permanent circuit you should be able ot follow this, just make sure that the pins on each side of the H-Bridge are completely isolated from each other.

So thats it, the arm is ready to go – you can add your own switches and inputs to control this but we’re goingΒ  to have some fun writing software to control this arm in the next part to move each motor AND after that we’re going to be looking at using Inverse Kinematics and trigonometry to do some cool controlling of all the motors of the arm and to maybe start program tasks.

Oh, Inverse Kinematics basically means we can program the arm to go after a target moving all the motors in combination to do this – trust me it is very cool!

Arduino – Controlling the Robot Arm with Processing: Using Processing and my laptop to control the arm


  • wow. i didn’t know you can control DC motors like that!?
    thanks for posting this. very valuable. it’s so accurate , more accurate than servos.

    • It can be pretty accurate and you can use the h-bridge chips with PWM to create speed control. But you can only measure the motors rotation using a rotary encoder otherwise you can’t accurately read the motor position – its a problem I’m facing with the arm currently as I have no real way to measure movement of the motor whereas with servos this is built in so they tend to be more accurate for robotics.

      • Right, just adding a quick note on here.

        I’ve found that to encode the motors is a pain to get anything meaningful and repeatable results, so I’m going to build a servo rig πŸ™‚ see if I can do it in a very cheap way…

      • Hi Larry. my name is Edgar i have a project of moving 6 motors with Arduino, but i am not a person who has extensive knowledge in electrical parts.

        i am following your instructions of the Arduino – Modifying a Robot Arm article. So at thic moment i am buying the parts to create the motor controller. With the H-Bridge chips. but i have a question: in the picture of the Protoboard over the GND and PWR lines, it appear a component like a resistor, red color resistor, what exactly is this Component?. i really appreciate your help Larry…

        Edgar Acosta

  • Nice work
    We could use simple pontentiometers connected to each joint for feedback. To that end I am considering dismantling cheap servos for pots and control elecs. The nice bit about that is interfacing becomes a doddle.
    If I can just get the time…

    • Cheers, you’re at exactly the same stage as me – I was looking to use the wheel encoders from a mouse, just have to alter the case to connect them to the motors.

      Although I’m going to build my own brackets and use servos to control it. Much easier I think but I will post up how to make the brackets, probably a bit more expensive (not sure yet)

  • Hi,

    I was wondering if you’ve been able to hack that robotic arm such that it won’t use 4 D batteries but use an external DC adapter instead.

    If you have, would you mind emailing me how? my email is


  • Hi Larry – thanks for this great tutorial! My son and I are working on it now (we are trying to add a robotic arm to his Spykee robot) but have a small problem – we have 6V going into the chip but only 3V coming out so the motors are struggling. I tried taking the 5V logic voltage from the Arduino board instead of the motor power and this took the motor output up to 3.5V but we seem to be getting a big loss of voltage somewhere that I can’t understand. Any suggestions?

    • Which chip are you using? Generally I use a separate power supply to drive the motors, all chips etc.. are powered off another supply e.g. the 5v arduino.

      Anyway let me know which chip you’ve got running the motors.

  • Why the chips cannot control 4 motors? They have 4 input and outputs no?
    maybe it is a stupid question, sorry

    • Hi Sierra,

      The 4 inputs and outputs are actually 2 inputs and 2 outputs as the chip controls the flow of electricity to the DC motor and essentially the input is just a switch to the motor on or off (which is another switch). You could add more motors to each output to control multiple motors but that depends on the current and voltage of the motors. Alternatively you can link multiple chips together.

  • Hi Larry – it’s the SN754410 – the one you suggested. I’ve got the motors being powered off one battery and all the other inputs come from the Arduino. I’ve moved up to using a 9V battery and it passes through about 4.7V which is OK as it gives nice gentle movements of the arm. We eventually will be trying to get it to operate remotely from a laptop (as Spykee does) so we hope to control the arm while watching through the web cam. Just wondering if it is normal for that voltage drop to occur? Cheers. Alan

  • OK – think I’ve sorted it out, but not quite sure what was going on. I found I’d actually been getting weird low output voltages right back from the Arduino pins, and it seemed to be caused by something wrong in the program (which I’d modified a bit). When I removed this section…
    if (incomingByte == ‘O’) {
    digitalWrite(baseMotorPin1, LOW);
    digitalWrite(baseMotorPin2, LOW);
    digitalWrite(shoulderMotorPin1, LOW);
    digitalWrite(shoulderMotorPin2, LOW);
    digitalWrite(elbowMotorPin1, LOW);
    digitalWrite(elbowMotorPin2, LOW);
    digitalWrite(wristMotorPin1, LOW);
    digitalWrite(wristMotorPin2, LOW);
    digitalWrite(handMotorPin1, LOW);
    digitalWrite(handMotorPin2, LOW);
    … the Arduino output voltages were suddenly fine. I changed to using a “switch case” statement rather than all the “if” ones and it was all good, and the outputs from the chip were much stronger. I don’t understand it but at least it’s working now. Cheers, Alan.

    • I was going to suggest the draw of the motors to see if they were draining to much at stall.

      Very odd you had issues with the code as mine worked with 6v from the robot arm. I’ll keep an eye out for this, could be inefficient coding.

      However, when I built a small robot I found I had to push about 9V through the chips to make up for voltage dip when the motors hit their stall current.

      Could be that your robot arm has slightly different motors in it perhaps.

  • Hi Larry – it’s not your programming… on that first line I quoted I was using a zero, not an ‘O’. That probably confused things somewhat! With the switch case statement I used the default clause to turn off all motors (meaning I can hit any other key), so that’s why it worked again. Thanks for your help anyway, and thanks again for a great tutorial. It really got us going with this project.
    Cheers, Alan

    • Doh! glad it’s not the code. πŸ™‚

    • Hi Alan,

      I’ve just order one of these arms and intend modding it to my spykee. Wouldn’t mind some input from you fella. Get it touch with me πŸ™‚ Will get some software coded up.


  • Thanks larry!
    I`ve another question… If I connect the Input pins with the PWM Arduino pins I could control the speed?

    • absolutely! You can use PWM via Arduino as a speed controller. Although You may want to use PWM on the motors power supply rather than the H-bridge power supply.

      • Larry I was wondering if you could just wire up the enable pin to v+ on the chip ? I’m assuming once enabled it’s just a case of setting the input pins to either LOW or HIGH dependant on which way you want the motor to go ? If you set them both to LOW does the motor stop ?

        thanks for the write up, I’m just trying to save on outputs and wires



  • i am extending you project by adding wiimote to control the robot and also server and client software to control the robot from any where in the world.i am going to make it an opensource project.if you have time you can join me in this project i am already done with the wiimote controle and right now working on the server and client.will be back with the updates.

  • oh regarding inverse kinematics that you were talking above i did a project for my robotic course which i have open sourced .it is robot simulator with forward kinematics .here is the link for the project we can modify it and use it for inverse kinematic is the video of the simulation
    and the video of the real robot

  • Hey, Lary

    Thanks for uploading your work to help others like myself but i need your help with this.
    I’ve recently got one the arm and I’ ve been trying to wire it as instruted, but i’m having a difficulty. Please explain where the pins on, lets say chip 1, should be connected on the arduino. The image seems to be suggesting one thing and the chip outline another.

    Appreciate your response

    • hiya,

      theres a short description I wrote that says which pin of the chip I wire to each Arduino pin:

      Shoulder motor
      chip 1, pin 1 to Arduino pin 14 (Analog pin o)
      chip 1, pin 2 to Arduino pin 15 (Analog pin 1)
      chip 1, pin 7 to Arduino pin 16 (Analog pin 2)
      Base motor
      chip 1, pin 9 to Arduino pin 2
      chip 1, pin 10 to Arduino pin 3
      chip 1, pin 15 to Arduino pin 4
      Elbow motor
      chip 2, pin 1 to Arduino pin 8
      chip 2, pin 2 to Arduino pin 9
      chip 2, pin 7 to Arduino pin 10
      Wrist motor
      chip 2, pin 9 to Arduino pin 5
      chip 2, pin 10 to Arduino pin 6
      chip 2, pin 15 to Arduino pin 7
      Hand motor
      chip 3, pin 9 to Arduino pin 11
      chip 3, pin 10 to Arduino pin 17 (Analog pin 3)
      chip 3, pin 15 to Arduino pin 18 (Analog pin 4)

      The diagram of this chip is really there just to explain what each pin does on these chips.

      Let me know if you get stuck

  • Hey Larry,

    It’s Donovan here again. I’m stuck. I followed the wiring instrctions but still not getting anywhere.
    Let me explain, my knowledge of programming is not very strong…just learning the thing, so i was trying to do this in stages as i was in your posts.

    I wrote the code under the caption “The Arduino Sketch” uploaded that but nothing happened. Do i have write all the codes in one window to have the arm operated from a loptop?

    appreciate your reply.

    • Hey Donovan,

      So you have the Arduino sketch – just copy and paste that into your Arduino program and upload that program to your board – let me know if there are errors here.

      Now you need to leave the arduino board connected and close the Arduino software and start up the Processing software (get it from and copy and paste that sketch in there and run that – it will then allow you to control the arm using that simple program by sending/receiving data over the USB port.

      I’m a novice at electronics, so I understand when people are just getting used to programming πŸ™‚

  • […] […]

  • Hi Larry – just wanted to thank you again for the great tutorial. It really inspired us and gave us the confidence to tackle this project. If you want to see what we came up with I’ve just written a blog entry here:

    • That Spykee Robot is awesome, well done its impressive

  • Hey Larry,

    Thanks for the info but I’ll like you to know that the project is now working fine, at least the Processing sketch worked for me so far. It took me a while to figure out what i was donig wrong but i think i’m getting it now. Really great work you have done with project. I’ll be trying out your suggestion to get the ardunio sketck working too.

    Your work has open up my understanding much more in using Processing, thanks man!

    One other thing, would it be ok with you if i borrow a part your code for a project I’m doing? I’ll be sure to give you the credit. I’m sure my other friends would be interested in this.

    • Hey sorry, in the delay in getting back to you – by all means take the code and do what you want with it, love to see what you’ve done with it πŸ™‚

  • Hello larry,

    I was wondered if i could do that, but transforming the robot arm to be wireless, using
    Arduino Xbee Shield c/Xbee, in order to make the robot wirelessly connect to the pc, so we could be on one side of the world and the arm in the other, and control it, from internet (network). Could it be possible?? And could u do that??


    • Yep, absolutely – I don’t have an Xbee so can’t test btu as long as the signal gets to the Arduino to then control the motors it’ll work fine.

  • If anyone is interested, i managed to modify the four main motors in my robotic arm, (which is the same as Larry’s) and fitted some slotted opto’s inside, with a bit of care (a hell of a lot actually) I drilled 6 holes in the brown cog that is directly driven from the motor. Rough calculations show that the feedback is approximately 1000 pulses for a 180 degree travel. Looking on the scope, i get a nice square wave out from each motor.

    Ive removed the battery clips and cut away some of the plastic that seperated the two rows of batteries, ready for a home made shield, to take the Arduino, H Bridges, voltage regulators etc.

    For the gripper, ive fitted a current sensing module, that feed’s back the grip pressure to the Arduino, I can preset the amount of grip the jaws can give, with a similar sensor in the elbow, I would think i could weigh things..(?)

    Its early days yet, as im still playing with the hardware.

    • The closest I got was attaching rotary encoders to the cogs – do you have any pictures of your modifications? As I think that’d help a few of us out to see what you did

  • Yes i have Larry, whats the best way of getting them to you?


  • Hi,
    Ive done an instructable on how to mount the slotted opto’s inside the motor gearbox assembly, i hope you find this useful in modding your own.


  • Has anyone ever managed to add a 6th motor for a wrist to this robot arm, to allow the jaws to rotate?

    Any ideas of comments would be very welcome, as im tempted to have a go!


    • Not that I know of… can’t be too hard to do though, I guess you just need to cut the forearm part in half and do some clever join πŸ™‚

  • Stay Tuned Larry, ive removed the jaw section, made a simple gear box which fits onto the gear box before the jaws, using quite a lot of the original parts, some modified, some made, hopefully it should all work?


    • hi john…just wondering how can i make a import processing. serial.*;…im having a problem about that issue..could you help me out or give some ideas on how to make it…thank you so much

  • hi mr having a problem about this–>import processing.serial.*;…dont know why it doesnt work on my duemilanove…do you have any links to show me how it is done…having problem generating the interface…hoping for your reply…thanks

  • Hi Larry,

    Can u send me the wiring diagram pls??


  • Hi Larry

    I’m working on a degree project and I have exactly the same robot. As far as I know, there are 10 external wires ( outside the main robot unit) for (+ – ) V , 2 for each one of five motors. I’m trying to separate motors enable wires.The circuit inside the robot has 3 wires (red,black,red) on the left side connected by black socket , 2 wires ( black,red) on the right side of the board connected to white socket and the USB socket. Which one of these are the enabling wires that would be used to activate the 5 motors ?

    Any help would be appreciated

    • Ah this is interesting – when the motors are connected to the switching circuit it seems to have a common ground between them on the PCB. Best bet would be to cut the plug off and send power down each pair of wires until you get a motor to run or see if you can find information on the colour code, though I bet it’s not standard.

  • good plan:
    I have the whole scheme set up like this around, but do not know how to be fair
    food or whatever is the voltage that I use.

  • Do you say that the robotic arm has “control switches” for making the motors move?
    if that’s true why didn’t you just replace the signal sended by the switches for some transistors, optocoplers, maybe relays(not usefull if working with PWM), it seems more accurate and you don’t need to use the H bridge that in case of a medium or intermediate power requirement are expensive. Despite that, your idea seems pretty cool because you are controlling directly the motors and qhat you were needing was an acceptable mecanism. (Y)

    • It’s reeally done with the parts I had (and understand). the control switches were all PCB based so it was easier just to build my own so I could do that – I also thought PWM would have been accurate with the motors, but turns out not so! πŸ™‚

  • I’m interested in building such a robot arm, but I’m totally new when it’s come to this field (The only skill I have is coding). So, I have a question, for connecting jumpers to chips, do I have to know soldering?

  • thx Larry you are the best^^ my robo mod

  • new video^^ hey lucklarry can i public your code or my mod version on ? you forgot the LED^^ btw thx and gg

  • Nice little tutorial thanks! I’m a developer, but not really dabbled in electronics much – it’s fun making stuff move πŸ™‚

  • Would I be able to use the Arduino UNO instead of the Arduino Deumilanova w/ ATMEGA328? I am trying to hack this arm as well for a studio project.

    • Did you find out if this can be done with the UNO? I’m trying it with an UNO and not getting any response. Could be that I’m just a noob at this and made a dumb mistake. I’d like to know if it’s possible, though, so I don’t keep going down a blind alley.

  • […] figured someone else must have done this, so I googled it, and indeed,Β this guy did something similar. Cool. Nice to have someone figure out the details. And I can learn while […]

  • hello!! I’m happy i found your site.. i am planning to make this one..where do i can buy this robot kit?

  • Really interested blog. I would like to know if the Arduino Deumilanova w/ ATMEGA328 can be used to control a MA2000 robotic arm? Also could you provide a schematic diagram for the circuit within the blog? Thanks in advance.

  • Hi Larry. my name is Edgar Acosta, i have a project of moving 6 motors with Arduino Uno.

    I am following your project but i have a question, in the protoboard who will manage the motors, in your picture in the GND and PWR lines appears a component that seems a Resistor, am i right, i really appreciate if you can specify this component, i don’t know what it is?

    Thank you

    • Edgar, it’s not any sort of component, it’s just a short jumper wire with a bit of red insulation πŸ™‚

  • Wouldn’t be easy just to change the DC motors to servo motors? Can this be done?

    • I’m interested in this also and from what I can see it look likes they can be driven directly from the Arduino board without needing an additional driver shield board.

  • i want to know of the robot arm kan lift 250 gr, because i like to use it for winding my watches, 5 0r 6 each time, one by one,

  • Hi Larry

    I wanted to use a DC power supply to run my arm so I tried connecting a 6V 300ma DC adapter to the battery terminals and it worked ok when 1 motor was moving but when 2 or more motors were in use they slowed down to a crawl. I assumed this was because there wasn’t enough current so had a 5v 1amp adapter and tried that. It worked for a few seconds then some smoke came out of the circuit board – I should point out that I’m not much good at electronics!
    Now only 2 of the motors work the 3 that don’t are connected to chip which I assume I’ve fried.

    My question is have you managed to run the motors from a DC supply?

    This link is for a guy who has added small trim pots to the arms to measure their position creating a closed feedback loop. He uses the Arduino Uno and a motor shield and its a project was going to try.

    I wrote some code to simulate keypresses to automate the arm and a trick I used to stop the arm travelling after the key is releases is apply reverse power to the motor for a split second to stop it continuing to move.

You must be logged in to post a comment.