> For the complete documentation index, see [llms.txt](https://udexreal.gitbook.io/udexreal-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://udexreal.gitbook.io/udexreal-docs/robotics/udexreal-dexhand-control-program-client-guide.md).

# UDEXREAL DexHand Control Program Client Guide

## 1. **Disclaimer**

This client is a sample program of the UDEXREAL DexHand control program only, and is outside the scope of standard technical support for the UDEXREAL DataGlove product. It must be used together with HandDriver or the UDEXREAL HMD teleoperation App, VRTeleopMR. UDEXREAL reserves the right of final interpretation regarding the use of this client.

## 2. Release Notes

<table data-search="false"><thead><tr><th width="101">Version</th><th>Update Notes</th></tr></thead><tbody><tr><td>V2.8</td><td>Added adaptation for OYMotion AP002.</td></tr><tr><td>V2.7</td><td><ol><li>Added adaptation for LingXiTech SQ1503 (Windows only).</li><li>Added adaptation for PaXini GMH15 (Linux only).</li><li>Updated the AgiBot 1.1.9 SDK.</li></ol></td></tr><tr><td>V2.6</td><td>Optimized Revo3 and AeroHand performance; must be used with the latest algorithm versions (1.4.9.1_BCRevo3_2 / 1.4.9.1_Aerohandop_3).</td></tr><tr><td>V2.5</td><td>Added adaptation for StellaRobot GaiaHand20.</td></tr><tr><td>V2.4</td><td><ol><li>Modified OYMotion A(P)001 support: display the local IP, changed the listening IP to a fixed default of 0.0.0.0.</li><li>Added a series of user-friendly UI prompts and adaptations.</li></ol></td></tr><tr><td>V2.3.1</td><td>Added dual-hand adaptation for WF dexterous hand (Windows only).</td></tr><tr><td>V2.3</td><td><ol><li>Added adaptation for Inspire RH5DG2E2 (Windows only).</li><li>Added adaptation for TheoHand Std16A (Linux only).</li><li>Added save-configuration and cleanup functions.</li></ol></td></tr><tr><td>V2.2</td><td>Added adaptation for WF dexterous hand (Windows only)</td></tr><tr><td>V2.1</td><td><ol><li>Added adaptation for TheoHand and BrainCo 3</li><li>Fixed the OYMotion matching version.</li><li>fixed a blocking issue in the data-reception test mode.</li></ol></td></tr><tr><td>V2.0</td><td><ol><li>Added BrainCo 2 dual-hand adaptation.</li><li>Added multi-DexHand control.</li></ol></td></tr><tr><td>V1.7</td><td>Added OYMotion dexterous hand adaptation.</td></tr><tr><td>V1.6</td><td><ol><li>Fixed an issue where the Linux builds of AgiBot OmniHand and BrainCo 2 failed to run.</li><li>Added an initialization check to the AgiBot OmniHand SDK.</li></ol></td></tr><tr><td>V1.5</td><td><ol><li>Added adaptation for OYMotion and LeadShine.</li><li>Added prompts for "data not received" and "character name not recognized."</li></ol></td></tr><tr><td>V1.4</td><td>Added adaptation for BrainCo.</td></tr><tr><td>V1.3</td><td>Added adaptation for AgiBot OmniHand O12.</td></tr><tr><td>V1.2</td><td>Fixed a runtime error when using Linker Hand.</td></tr><tr><td>V1.1</td><td>Integrated the AGIBOT SDK across Linux and Windows platforms.</td></tr><tr><td>V1.0</td><td>Release build.</td></tr></tbody></table>

## 3. Client

### 3.1. Download

<a href="https://drive.google.com/drive/folders/1nO4aiazwhmuYACBhZv7w_gbjbQXGs6_B?usp=drive_link" class="button primary" data-icon="desktop-arrow-down">Windows</a>

<a href="https://drive.google.com/drive/folders/1nc9njm66rdSLRoo8Bo4C0jsuMI6C6PMJ?usp=drive_link" class="button primary" data-icon="desktop-arrow-down">Linux</a>

### 3.2. Settings

No environment setup is required — simply run the program directly after downloading. The UI is consistent across Windows and Linux.

<figure><img src="https://2082502898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8s1Ia6TfFovgyJ5JsDJZ%2Fuploads%2FaRFpvlH2znTuWa4Zf8Ce%2Fimage.png?alt=media&amp;token=67b600de-52db-45ca-a20d-648b4aa2ebd5" alt="" width="563"><figcaption></figcaption></figure>

Versions after v2.3 add the Save Config and Clear Config functions. These are intended to save frequently used settings (applicable to both single dexterous hand and multiple dexterous hands), so you do not need to re-enter and configure them every time you open the software. For now, only one set of settings can be saved.

Versions after v2.4 optimize the logic for entering configurations, add serial port prompts and search, separate configurations for dual-hand connections, and restrict the range of dexterous hands that can be selected on different platforms.

<table data-search="false"><thead><tr><th width="185">Mode</th><th width="89.5">OS</th><th width="233.5">USB Serial Port Configuration</th><th width="254.5">Notes</th></tr></thead><tbody><tr><td>EMPTY_DEBUGGER</td><td>Both</td><td>/</td><td>Used to detect whether data reception is working properly.</td></tr><tr><td>agibotHand_3L<br>agibotHand_O10<br>agibotHand_O12</td><td>Both</td><td><strong>MultiChannel (ZLG200U):</strong> the value is the current channel number, 0 or 1. When both hands are connected, the first value is the channel corresponding to the left hand and the second value is the channel for the right hand, separated by the English semicolon character ";", e.g., <code>0;1</code>.<br><strong>MultiCan:</strong> for a single hand, leave it empty or enter the correct single serial number; alternatively, separate the two serial numbers for the left and right hands with ";".</td><td><p><strong>Case note:</strong> The serial numbers of the two ZLG CANFD boxes currently in internal testing are <code>C066967CA0250EA49AA0</code> and <code>A3392413700100A484B0</code>, respectively; please try to match them on your own.</p><p>When mixing the 100U and 200U, the 200U must be connected to the CAN0 port; in this case it is treated as MultiCan. Connecting three hands simultaneously is not yet supported (i.e., with all ports of both the 100U and 200U fully occupied).</p></td></tr><tr><td>brainco_revo1<br>brainco_revo2<br>brainco_revo3</td><td>Both</td><td>Win: COM + number;<br>Linux: /dev/ttyUSB + number<br><br>For two hands, separate the two serial ports corresponding to the left and right hands with ";".</td><td></td></tr><tr><td>CHOHO</td><td>Both</td><td>PCAN_USBBUS + number (starts from 1)</td><td>You must first manually start CAN within the PCAN-View application. The specific configuration is as follows:<br><img src="https://2082502898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8s1Ia6TfFovgyJ5JsDJZ%2Fuploads%2FPHKvRgcHLCHhmJDezNUZ%2Fimage.png?alt=media&amp;token=fe0e5aa8-af74-4e47-8856-7a18ce015f49" alt=""></td></tr><tr><td>inspire_RH56DFX<br>inspire_RH56F1E4<br>inspire_RH5DG2E2</td><td>Win</td><td>COM+number</td><td></td></tr><tr><td>inspire_RH56DFTP</td><td>Win</td><td>Modbus Auto</td><td></td></tr><tr><td>Leadshine_DH116</td><td>Win</td><td>EtherCAT port index number; when specifying two, separate them with ";".</td><td>On first run, enter <code>0</code> in the USB/Can configuration, then confirm the corresponding index from the printed network-port message, update the configuration, and restart. If the hand shows no response when the motors return to zero (homing), unplug and re-plug the hand's network cable and power supply, then try reconnecting.</td></tr><tr><td>linkerhand_O6<br>linkerhand_O7<br>linkerhand_L10<br>linkerhand_L20</td><td>Win</td><td>PCAN_USBBUS + number (starts from 1)</td><td><p>The CAN driver <code>PeakOemDrv.exe</code> must be installed.<br><a href="https://drive.google.com/file/d/160eWM08Mp55W1APXvShx4ZRO4cV_4p_U/view?usp=drive_link">Download</a></p><p>When connecting both hands, it is recommended to first connect the left hand to the computer, confirm the serial port parameters, then connect the right hand.<br></p></td></tr><tr><td><p>oy_ROH_A001</p><p>oy_ROH_LiteS001</p></td><td>Both</td><td>Modbus Auto</td><td></td></tr><tr><td>oy_ROH_AP002</td><td>Both</td><td>Win: COM + number<br>Linux: /dev/ttyUSB + number</td><td></td></tr><tr><td>PaXini_dexh13<br>PaXini_gmh15</td><td>Linux</td><td>/dev/ttyUSB + number</td><td></td></tr><tr><td>xhand</td><td>Linux</td><td>/dev/ttyUSB + number</td><td></td></tr><tr><td><p>ryHand_H2</p><p>ryHand_H15</p></td><td>Both</td><td>Can Auto</td><td>Specific serial-port identification is not yet implemented; only a single hand can be connected.</td></tr><tr><td>AeroHand</td><td>Both</td><td>Win: COM+number<br>Linux: /dev/ttyACM + number<br><br>For two hands, separate the two serial ports corresponding to the left and right hands with ";".</td><td>The SDK occasionally does not run to completion. If, after joint initialization, position, velocity, temperature, and other information is not printed, please restart.</td></tr><tr><td>WUJIHand</td><td>Linux</td><td>Automatic detection of proprietary protocol</td><td>Only a single hand can be connected. To exit operation, press Stop to deactivate the hand's motors or unplug the power supply, so as to avoid overheating caused by continuous enabling.</td></tr><tr><td>TheoHand_Eco12</td><td>Linux</td><td>can (all lowercase letters) + number<br><br>For two hands, separate the two serial ports corresponding to the left and right hands with ";".</td><td>On first run in a new system, you need to execute <code>install_can_permission.sh</code> located in the directory. Before executing, the CAN port of the dexterous hand device must already be connected and recognized. The command to query CAN is <code>ip addr show</code>. If a log indicating the need to run the .sh script appears again later, unplug and re-plug the receiver and retry.</td></tr><tr><td>TheoHand_Std16A</td><td>Linux</td><td>/dev/ttyUSB + number</td><td></td></tr><tr><td>WF_Hand</td><td>Win</td><td>COM + number<br><br>For two hands, separate the two serial ports corresponding to the left and right hands with ";".</td><td><p>If the hand movement becomes stuck/jammed and, after exiting, it does not return to the initial zero position, you need to visually adjust the joints back to the zero position in the host software, then cut off the power directly, and finally close the host software.</p><div data-gb-custom-block data-tag="file" data-src="https://2082502898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8s1Ia6TfFovgyJ5JsDJZ%2Fuploads%2FzrdWXP9xuyweIW1MrmLn%2Fwf_sdk.rar?alt=media&amp;token=afb82deb-290d-4e9f-9e88-7a012c8102dc"></div></td></tr><tr><td>stella_Gaia20</td><td>Both</td><td>Win: COM + number<br>Linux: /dev/ttyUSB + number<br><br>For two hands, separate the two serial ports corresponding to the left and right hands with ";".</td><td></td></tr><tr><td>ZKLX_SQ1503</td><td>Win</td><td>Automatic detection</td><td></td></tr></tbody></table>

#### 3.2.1. Multi-Hand Mode

**For UDEXREAL internal use only.**

<figure><img src="https://2082502898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8s1Ia6TfFovgyJ5JsDJZ%2Fuploads%2F139IsLTsrb4saFFzDzZB%2Fimage.png?alt=media&amp;token=b8f4fad5-193b-4fa3-8bb2-01c1a4f3db8e" alt="" width="563"><figcaption></figcaption></figure>

## 4. **Brand-Specific Programs**

### 4.1. BrainCo Revo2 Windows

<a href="https://drive.google.com/file/d/1UV_o1tuG7pvLYhnu7Uulrmn20xsqwixv/view?usp=drive_link" class="button primary" data-icon="desktop-arrow-down">BrainCo Revo2</a>Baud rate: 460800

<a href="https://drive.google.com/file/d/19pvX55A4bhwbQYFTugJlPPvEDm4E--Wp/view?usp=drive_link" class="button primary" data-icon="desktop-arrow-down">BrainCo Revo2&3</a>

<figure><img src="https://2082502898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8s1Ia6TfFovgyJ5JsDJZ%2Fuploads%2Fr6W8vDq0TJb5xyF81yue%2Fimage.png?alt=media&amp;token=a36016d2-9b73-403d-9fa9-0f8c6e4adcac" alt="" width="563"><figcaption></figcaption></figure>

### 4.2. Theo-Hand Linux

<a href="https://drive.google.com/drive/folders/1BmVQKj58VJqsD1MKgZkKcTJmGfaEIYUu?usp=drive_link" class="button primary" data-icon="desktop-arrow-down">Theo-Hand Linux</a>

### 4.3. INSPIRE RH56F1

<a href="https://drive.google.com/drive/folders/10c8AGq2CxO9J5a2j3pTfPwGlWxPEAb33?usp=drive_link" class="button primary" data-icon="desktop-arrow-down">RH56F1</a>
