Bescor MP-101 Hack Part 1

In this tutorial,  I’ll show you how to connect the Arduino to the Bescor MP-101.
Note: Please check for continuity with a multi-meter.  The colors of the wires may be different.

 update: 12-26-2013
Pinout of the DIN connector.

Bescor 7 Pin DIN Connector Pinout

Pin 1 – Purple
Pin 2 – Green – Right
Pin 3 – Black – Up
Pin 4 –  White – Vin
Pin 5 –  Blue  – Down
Pin 6 – Yellow – Left
Pin 7 – Red – Ground

Step 1: Prepare the Wires

There are several ways to connect the wires to the Arduino.  I cut the controller and cut off the ends of the wires and solder jumpers to it.  Note: It’s better to cover the exposed soldered connections to prevent the wires from touching.



Step 2: Connect the WiiChuck Adapter, Power and Ground Wires

The WiiChuck adapter makes it easy to connect the Nunchuck to the Arduino.  Here’s the one I’m using.


Connect the white wire to vin and red wire to ground.

White – Vin
Red -Ground

Power and Ground Arduino



Step 3: Connect the Blue, Black, Green, and Yellow Wires

Note:  The purple wire is not used.

Blue – Pin 9
Black -Pin 10
Green – Pin 3
Yellow – Pin 11

Blue Black Green Yellow Wires






Bescor MP-101 Hack Part 2


  1. Hi,

    If I use a wireless nunchuck instead of a wired one, will it still work?


  2. Using a wireless nunchuck is a little tricky. The one I used has poor battery life but worked. Here’s a link Every time I turned on the Arduino with the nunchuck receiver plugged-in, I pushed reset on the Arduino to get the controller working after I got it synced up.

  3. Thanks for this.

    I was wondering about the wire you used above. Is it a MIDI cable or is the the Bescor cable?

    Wanted to know, so I can follow your instructions as closely as possible, so the color of the wires will match.

    • Yes, I’m using the Bescor controller cable.

  4. Success!

    Although there were a few hiccups along the way. First off, instead of splicing the Bescor remote wire, I used the Bescor extension cable instead. Just so I’ll have a backup remote. As it turns out, the wiring color is different, and there is no purple wire.

    Green = vin
    Blue = ground
    White = left
    Black = right
    Yellow = down
    Red = up

  5. Good afternoon,i followed your istructions very closely but i didn’t cut the controller or the wires.
    I took off the GND(red) and the VIN(white) and Arduino in now alimented by an external supply and it doesn’t works.
    Then i connected GND and VIN to Arduino and still it doesn’t works.
    May i know the plug in model?
    I hope to hear from you soon,thank you.

    • To diagnose the issue, we can plug in the usb cable which should power the Arduino and control the Bescor without using the GND and VIN.

  6. Hello Matt,

    I just want to say THANK YOU!!! I followed this new discussion to the tee and it works on the first time.  You have made my life easier.  THANK YOU THANK YOU THANK YOU. 

    I just cannot believe the parts that you have changed from last time, but this is really sweet!


    First Time Arduino dude! 


  7. I am using the kyno wireless nunchuck and it is not working.  Is it reading something different?  Is there a different code I need to be using

    • The wireless nunchuks are tricky because of the different brands. It’s possible the receiver needs to be on 3v instead of 5v. Also, the receiver has to sync with the nunchuk before the code can read the values properly. You could try this library.
      I used this library in the past with this nunchuk

  8. Hi Matt,  awesome work!

    Is it possible to give a wire color to pin description (looking at the Bescor female connector)?


    • Yes, I’ll post the wire color to pin location.

  9. Hi, I just bought a DIN Midi connector and soldered cables to connect it to the arduino without breaking the original remote. Don’t you have a schematic of the wires ?

    Like PIN1 = up, PIN2 = Down, etc.. .?



  10. Thx Matt, what a nice little project.  I had a little grief with the wiring cause I bought my Bescor without a remote. But it’s working. It seems that looking at the back of the Bescor the 5 o’clock pins is the power (Vin), and the 10, 11, 1, 2   o’clock pins are  the operators (approximate positions)

    Also dummy me didn’t realize right away that I actually had to copy your code from the “Step 2 Upload the Sketch” section in  Part 2, into the Arduino software to upload.

    Thx again,  Garry

  11. Very helpful but I have some fear with the actual voltage that is being supplied through the red and white power lines into the arduino VIN. With 4 AA batteries in the MP-101 I get 6V coming down the power lines. Is that likely to be bad for my arduino (and the wifi shield I have hooked up to it to control the unit by wifi)? I think I might use a voltage regulator to bring it down to 5V, but will there be any issue with doing this and driving the motors?

    • Using the wifi shield is pretty cool.
      You might want to check out the documentation.
      The Arduino has a voltage regulator with an input voltage limit of 6-20v.

  12. the purple wire seems to be the speed controller.  open and it turns full rate.  looks like the range is 0-3.3 volts…

    • Hi Andy,

      How did you calculate the 3.3 V range? So how do you know the max voltage isn’t a bit higher?

    • Code?

  13. Hi,

    I know it’s an odd question and please forgive my ignorance; is there any way of not using the red or purple connections?

    I have acquired one of these MP-101’s, but don’t have a remote control for it.

    I have a lot of MIDI (5 pin) cables, so sacrificing one of those to this seems perfectly do-able.

    Is there a way to proceed without pins 1 or 7?

  14. Hi,

    I am new to this, and please excuse my ignorance.

    Is there a work-around that doesn’t use pin 7?

    I have acquired a MP-101 without the remote control, and looked to this hack as a solution.

    I have many 5 pin MIDI leads that I could use, and this obviously doesn’t have pins 1 and 7.

    If pin 7 is being used to power the arduino, could I just power it externally?  Its own battery?

    Any help would be greatly appreciated, if I have to source 7 pin cables then so be it.

    Thanks for your time


  15. Hi Matt,

    I saw in your code that you only use an analogWrite value up to 115. The Arduino takes values up to 255. Is there a reason why you don’t apply the full 5V/3.3V to the MP 101? We are using one for our thesis right now and we wanted to know how far we can take it…

    • 115 is in the range for the Nunchuck to work with the Bescor. If we go past this value, the motor speed will stay the same. I’m not sure what you mean by applying 5V/3.3V. On the original controller, the motor speed is controlled by a 22k resistor slider.

  16. Matt,

    I built a three camera system without the nunchuck, using an Arduno Mega but the PWM frequency is controlled by different timers,

    I saw you adjusted for it here < TCCR2B = TCCR2B & 0b11111000 | 0x07;  TCCR1B = TCCR1B & 0b11111000 | 0x05; >

    Arduino Mega 2560 timers have no common frequency:

    timer 0 (controls pin 13, 4);
    timer 1 (controls pin 12, 11);
    timer 2 (controls pin 10, 9);
    timer 3 (controls pin 5, 3, 2);
    timer 4 (controls pin 8, 7, 6);

    TCCR0B = TCCR0B & B11111000 | B00000011;    <// PWM frequency of   976.56 Hz

    TCCR1B = TCCR1B & B11111000 | B00000011;    // PWM frequency of   490.20 Hz

    TCCR2B = TCCR2B & B11111000 | B00000100;    // PWM frequency of   490.20 Hz

    TCCR3B = TCCR3B & B11111000 | B00000011;    // PWM frequency of   490.20 Hz

    TCCR4B = TCCR4B & B11111000 | B00000011;    //  PWM frequency of   490.20 Hz

    Is it possible to divide timer 0(zero) frequency in half to get I close to the other timers? How?

    Have you found a frequency where you could get a real slow pan when the camera is fully zoomed in ?

  17. I gave up trying to use timer0, instead I opted for timer5 which controls pin 44, 45, 46 at the same frequency of 490.20 Hz like the other four timers 1-4.

    I’m glad the Bescor MP-101 motor accepts pwm without the need for a transistor or optocoupler otherwise the Arduino would have been toast. I am driving it at full pwm(255) since I have a 5v Arduimo unit (and no nunchuck) and the Bescor power supply is 6 volts.

    Thanks for the post, great information here, an easy build even for three Bescor motors and three LanC interfaces.

    Best part is that you don’t destroy the motors and can always go back to the rubber pad controller in an emergency.


Submit a Comment

Your email address will not be published. Required fields are marked *