Motors purchased from Research and Desire come pre-programmed. Only follow this guide if you sourced your motor elsewhere or need to restore defaults.
Web-based programming tool
Use the browser tool to read and write motor settings. Open Gold Motor Programming ToolPrerequisites
Gather the following before you start:- RS485 to USB adapter with 5V+, GND, A, and B pins (for example, a terminal-block style adapter)
- 20–36 V DC power supply for the motor
- Chromium-based desktop browser (Chrome, Edge, Brave, etc.)
- Access to the OSSM Reference Board (for power and the signal cable you will temporarily disconnect)
Programming instructions
Connect the RS485 adapter
Wire the RS485 USB adapter to the motor programming port:
| Adapter pin | Motor pin |
|---|---|
| A | A |
| B | B |
| 5V+ | 5V+ |
| GND | GND |
Power the motor
Provide 20–36 V DC to the motor using either:
- The OSSM Reference Board (recommended for convenience), or
- An external bench supply
Confirm the green LED on the rear of the servo is lit to verify power.
Open and connect the programming tool
- Open the Gold Motor Programming Tool in your browser.
- Select Connect to Motor.
- Choose your USB serial device from the dialog and grant access.
Review and configure settings
Adjust only what you need for OSSM:
- Basic settings are surfaced by default and cover the typical OSSM configuration.
- Advanced settings are available but should be changed only if you understand their impact.
Write settings and verify
- Select Write Settings.
- Wait for the write sequence to complete. The tool writes critical values multiple times for reliability.
- Power‑cycle the motor, reconnect, and select Read Settings to confirm persistence.
All values should match your expected configuration after the power cycle.
Default settings applied by the tool
The programming tools set the required OSSM defaults:| Setting | Value | Purpose |
|---|---|---|
| Steps per revolution | 800 | Ensures correct motion scaling in OSSM |
| Communication protocol | RS485 | Matches the OSSM PCB interface |
| Over‑torque behavior | Reduce torque | Prevents abrupt motor disable under load |
Depending on your motor and adapter, the tool may also configure bus parameters (baud rate and device address) to OSSM defaults. Use the Read Settings function to confirm.
Run the tool locally (offline)
You can use the tool offline if your environment blocks external sites.Get the tool files
Download the
GMP folder from the OSSM hardware repository and keep the folder structure intact on your computer.Some browsers restrict file:// access to serial ports via Web Serial on managed devices. If you encounter an error, serve the folder over
http:// using a simple local server (for example, python -m http.server) and open the page from http://localhost.Troubleshooting
Motor not detected
Motor not detected
- Confirm the RS485 adapter has power (some adapters require 5V from the motor’s programming header).
- Verify A connects to A and B connects to B. If labels are unclear, try swapping A/B at the adapter.
- Ensure the motor is powered and the green LED is on.
- Try a different USB port or cable.
- Install or update the USB–serial driver for your adapter chipset.
- Use a supported Chromium-based browser and grant serial permission when prompted.
Programming fails or times out
Programming fails or times out
- Disconnect and reconnect the RS485 adapter, then retry.
- Power-cycle the motor and reconnect in the tool.
- Ensure the OSSM signal cable is disconnected during programming.
- Shorten the RS485 wiring run and avoid loose jumper connections.
- Remove other RS485 devices from the bus so only the motor and adapter are connected.
Settings don't persist after power cycle
Settings don't persist after power cycle
- Run Write Settings again and wait for confirmation.
- Power-cycle the motor, then use Read Settings to verify.
- If values still revert, check for firmware compatibility constraints and reapply defaults using the tool’s basic settings.
Adapter connects but reads garbage data
Adapter connects but reads garbage data
- Install the correct driver for your adapter and reboot.
- Try another USB port (avoid unpowered hubs).
- Reduce electrical noise: route RS485 lines away from motor power leads.
Legacy Python script
A command‑line Python script exists for advanced users. It is less maintained than the web tool and is intended for recovery or automation scenarios.
Safety and best practices
- Work with power removed whenever changing wiring.
- Do not short 5V+ to GND on the programming header.
- Keep RS485 leads short and firmly terminated. For long runs, a 120 Ω terminator may improve signal integrity.
- Record original values before making changes, and save a screenshot of the final configuration for future reference.
After successful programming and reconnection to OSSM, jog the motor in your control software to verify direction, scaling, and smooth motion.

