1
0
Fork 0
bescor-mp101-libre/README.md

9.2 KiB

Bescor MP101 Libre

Notes on using the Bescor MP101 motorized pan head hardware with libre software.

No proprietary applications, SDKs, or similar are used.

Photo of Bescor MP101 motorized pan head.

Introduction

The Bescor MP101 is a very low cost motorized pan/tilt head. It ships with a wired remote. The software in this repo, with a custom built cable, enables software control of the MP101 with a Raspberry Pi or Arduino.

WARNING

Doing any of the below can fry your device.

Development Setup

Two different boards have been tested so far. One for Arduino-like setup. One on a Raspberry Pi.

Arduino

The development setup is using a LattePanda 3. It is an Intel based board with an Arduino Leonardo built on board.

This should be similar to using other Arduino devices plugged into USB ports.

GPIOs on the Arduino can be controlled thusly:

  • Natively.

  • Various libraries.

Raspberry Pi

Testing on a Raspberry Pi is using a Pi 4 running Raspbian (Debian stable/bullseye 11).

GPIOs on the Pi can be controlled thusly:

Applications

At present, there are only small test scripts to move.

Ideally, it integrates with other applications. There are many possible targets:

There are also other protocols used in other cameras that could be implemented (such as obs-ptz uses) as a software daemon.

Other:

  • Custom web API.

Hardware protocols:

https://github.com/RogerHardiman/node-ptz-decoder

  • Pelco D.
  • Pelco P.
  • BBV422.
  • Bosch(Philips PCSS)
  • Forward Vision
  • VCL
  • Vicon
  • American Dynamics (Sensormatic)
  • JVC
  • Panasonic
  • Samsung
  • Sony VISCA CCTV

Pins

Not all cables have the same color pin out. In fact, most have different pinouts, so each cable should be tested.

Note: colors may be different on different cables! Each cable pinout needs to be tested or the MP101 can get fried.

Seven Pin DIN Standard

The standard DIN pin ordering for a 7-pin connector is below:

7 Pin DIN Connector Pinout

From: https://en.wikipedia.org/wiki/DIN_connector

MP101 Panel Pin DIN Connector Pinout

Pinout of the Bescor MP101 panel.

MP101 Cable Pin DIN Connector Pinout

Pinout of the Bescor MP101 cable.

Pins from Bescor Fifty Foot Extension Cable

Pins on the MP-101 50 foot extension cable. Numbered using the standard DIN pin order.

XXX Confirm this, I think it is reversed. Compare with remote. XXX

Pin 	Color	Use	ArduinoPin	Raspberry Pi 4 B Pin
---	-----	---	--------	--------------------
1	Black	Right	D3		10 GPIO15
2	Green	5V	5V		 2 5V
3	White	Left	D0		 3 GPIO2 (Orange)
4	Blue	Up	D2		 8 GPIO14
5	Brown	Down	D1		 5 GPIO3
6	Red	GND	GND under ICSP	 7 GND XXX 9?
7	Yellow	Speed	? PWM		12 GPIO18

The "ArduinoPin" column is how the Arduino pins on the Panda are labelled.

Pins from Bescor Twelve Foot Extension Cable

Pins on the MP-101 12 foot extension cable. Numbered using the standard DIN pin order.

Cable labelled "2", white/orange, in my inventory.

PIN	Color	Use	Raspberry Pi 4 B Pin
---	-----	---	--------------------
1	Green	Left	29 GPIO5
2	Orange	5V	 2 5V
3	Brown	Right	31 GPIO6
4	Yellow	Down	36 GPIO16
5	Red	Up	11 GPIO17
6	Blue	GND	 9 GND
7	Black	Speed	32 GPIO12 PWM0

Pi 4

On the Raspberry Pi 4, with Raspbian installed running pinout, with python3-gpiozero installed, will majickally print the pinouts.

Pinouts from Raspberry Pi documentation:

Raspberry Pi Pinouts.

https://www.raspberrypi.com/documentation/computers/raspberry-pi.html

$ pinout 
,--------------------------------.
| oooooooooooooooooooo J8   +======
| 1ooooooooooooooooooo  PoE |   Net
|  Wi                    1o +======
|  Fi  Pi Model 4B  V1.5 oo      |
|        ,----. +---+         +====
| |D|    |SoC | |RAM|         |USB3
| |S|    |    | |   |         +====
| |I|    `----' +---+            |
|                   |C|       +====
|                   |S|       |USB2
| pwr   |hd|   |hd| |I||A|    +====
`-| |---|m0|---|m1|----|V|-------'

Revision           : d03115
SoC                : BCM2711
RAM                : 8GB
Storage            : MicroSD
USB ports          : 4 (of which 2 USB3)
Ethernet ports     : 1 (1000Mbps max. speed)
Wi-fi              : True
Bluetooth          : True
Camera ports (CSI) : 1
Display ports (DSI): 1

J8:
   3V3  (1) (2)  5V    
 GPIO2  (3) (4)  5V    
 GPIO3  (5) (6)  GND   
 GPIO4  (7) (8)  GPIO14
   GND  (9) (10) GPIO15
GPIO17 (11) (12) GPIO18
GPIO27 (13) (14) GND   
GPIO22 (15) (16) GPIO23
   3V3 (17) (18) GPIO24
GPIO10 (19) (20) GND   
 GPIO9 (21) (22) GPIO25
GPIO11 (23) (24) GPIO8 
   GND (25) (26) GPIO7 
 GPIO0 (27) (28) GPIO1 
 GPIO5 (29) (30) GND   
 GPIO6 (31) (32) GPIO12
GPIO13 (33) (34) GND   
GPIO19 (35) (36) GPIO16
GPIO26 (37) (38) GPIO20
   GND (39) (40) GPIO21

POE:
TR01 (1) (2) TR00
TR03 (3) (4) TR02

Wire Harness

I made a quick and dirty wire harness that works. My MP101 kit came with two extension cables. I used one of those to use the male headed to plug into the MP101, and the newly cut wires to connect to pins to plug into the Panda Arduino. I had short jumper wires with pin headers on each end. For the Panda male/male wire with headers is needed. If the board being used has pins not headers, a male/female wire jumper will be needed. In lieu of connecting the pins to the wires via soldering, WAGO crimpers were used. They work great and easy++.

MIDI 7-pin

Pinout of cable.

Cable labelled "3", green and brown, in my inventory. Right angle of header limits use locations. Should work ok on most tripod heads, but maybe not mounted on rail.

Manufacturer: Tensility International Corp
Description:  CBL 7POS MALE TO WIRE 6'
Part Number:  10-00529
DigiKey PN:   839-1080-ND
https://www.digikey.com/en/products/detail/tensility-international-corp/10-00529/2625301
https://tensility.com/cable-assemblies/10-00529
Note: Pinouts in their spec sheet don't follow DIN ordering, afaict.
OBSOLETE

Has seven pins.
Eight wires, two black.
Pin	Color	Use	Arduino UNO Pin
---	-----	---	---------------
1	Brown	Left	D4
2	Yellow	5V	5V
3	Black 1	Right	D7
4	Blue	Down	D2
5	Red	Up	D8
6	Green	GND	GND
7	Orange	Speed	PWM
Edge	Black 2

Photos

Photo of Bescor MP101 motorized pan head panel. Photo of Bescor MP101 motorized pan head panel.

Photo of Bescor MP101 motorized pan head batteries. Photo of Bescor MP101 motorized pan head battery compartment.

Photo of Bescor MP101 motorized pan head degrees. Photo of Bescor MP101 motorized pan head rotation degrees readout.

Photo of Bescor MP101 motorized pan head dc-6v-1a-input. Photo of Bescor MP101 motorized pan head DC 6V 1A input.

Photo of Bescor MP101 motorized pan head camera-mount. Photo of Bescor MP101 motorized pan head camera mount.

Photo of Bescor MP101 motorized pan head tripod-mount. Photo of Bescor MP101 motorized pan head tripod mount.

Photo of Bescor MP101 motorized pan head remote-control. Photo of Bescor MP101 motorized pan head remote control.

Photo of Bescor MP101 motorized pan head cable-male. Photo of Bescor MP101 motorized pan head male cable.

Photo of Bescor MP101 motorized pan head cable-pins. Photo of Bescor MP101 motorized pan head cable pins.

Misc

Notes.

  • LattePanda3 docs say their Arduino Leonardo files are needed.

  • The LattePanda3 Arduino Leonardo files are old.

  • I can't get the LattePanda3 Arduino Leonardo files to work.

  • The Arduino Leonardo files in Arduino 2.0.4 appear to work fine with the LattePanda3 Leonardo. XXX

See Also

Other MP101 projects:

Pinout info:

Status

Minimally works with both an Arduino and a Raspberry Pi. Moves in four directions on both. Speed control under the Pi. No interface or API or anything like that yet.

Disclaimer

I'm a computer sysadmin, not a video or camera expert. This is just to explore how to use a free toolchain.

Copyright

Unofficial project, related to Bescor, Arduino, or Raspberry Pi. Upstream sources under their respective copyrights.

License: CC By SA 4.0 International and/or GPLv3+ at your discretion.

Copyright © 2023, Jeff Moe.