Golden Motor Programming Cable replacement

flangefrog

1 kW
Joined
Jun 26, 2013
Messages
379
Location
Auckland, New Zealand
Has anyone here got a Golden Motor PI-200E programming cable for an external controller? If so I would appreciate some help so I can figure out how to make a cheap replacement.

I think it's very likely that the cable is just a USB-Serial converter, however seeing that the software doesn't allow you to select any serial port I think it will be looking for a USB device with a specific hardware ID. I need some help finding the proper ID.

To find it on Linux, plug in the device then in a terminal type lsusb. You'll get an output similar to this:

[pre]Bus 002 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 002 Device 004: ID 046d:c531 Logitech, Inc.
Bus 002 Device 003: ID 046d:c07c Logitech, Inc.
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub[/pre]
The whole line would be good but the important part is the ID e.g. 1a86:7523. If you don't' know which device is the programming cable, just unplug it than see which device is missing.

On Windows it's a little harder. Go to the device manager (on later versions you can do this with Win+X > Device Manager). Under Ports (COM & LPT), right click the device and select Properties. On the Details tab select Hardware Ids on the drop down and copy the text from the Value field.

XUtpWKt.png


After I've (hopefully) got it working I'll try and reverse engineer the actual serial data that is being sent to the controller.

For reference, here is a similar topic: https://endless-sphere.com/forums/viewtopic.php?f=2&t=41757
Edit: another thread: https://endless-sphere.com/forums/viewtopic.php?f=30&t=53797
 
It doesn't show up under ports, but under Human Interface Devices:

"HID-compliant device"

HID\VID_0001&PID_0001&REV_0200
HID\VID_0001&PID_0001
HID_DEVICE_UP:0001_U:0000
HID_DEVICE

"USB Input device"

USB\VID_0001&PID_0001&REV_0200
USB\VID_0001&PID_0001


I think I remember that before buying the cable I read that it wasn't a simple USB-serial adapter cable. I don't know if that was correct, but it convinced to buy the proper cable rather than try to make one.
 
Thanks for that. I think they may be using the HID device class because it won't require installation of other drivers. The adapter itself may (or may not) be a HID to serial converter in which case it could still be replaced by a standard USB to serial adapter. It just wouldn't work with the original software. It would be interesting if someone could try connecting a logic analyzer or USB to serial adapter to the output of the cable and determining what data is sent through it. If I get a cable myself I will do it but at $52 USD shipped I don't think I'll be getting one for a while.

Edit: After poking around at the software it looks like they are using a com port library so it is possible that it is serial over HID or that it does have built in serial support.
 
Back
Top