Important Safety Precautions
This section describes the safety requirements that must be met during the installation and operation of the OmniHand 2025. As the OmniHand 2025 is a semi-finished mechanical product, it is essential to carefully read this manual and fully understand the relevant safety features and potential hazards prior to first use. All relevant personnel must conduct risk assessment before each OmniHand 2025 installation and strictly adhere to all instructions in this manual during operation.
1.1 Notes for Use
Do Not operate or store the OmniHand in any high-temperature or high-humidity environment.
Do Not subject the OmniHand to excessive mechanical load or shock.
Do Not apply excessive force on fingertips.
Do Not forcibly pull or twist any finger of the OmniHand.
Do Not bring the OmniHand near an open flame or heat source.
Do Not operate or store the OmniHand in a flammable or explosive environment.
Do Not use the OmniHand in any strong electromagnetic fields, such as near high-voltage power lines or high-power machinery.
Do Not use the OmniHand to grasp any object that are excessively heavy, overheated, sharp, rough or corrosive.
Do Not expose the OmniHand to any liquid (alcohol, water, beverage, etc.) or dust without proper protection. In case of accidental contact, be sure to power off immediately and contact our after-sales service technicians.
Do Not disassemble the OmniHand without authorization, otherwise, the warranty in the After-Sales Service Commitment will be voided. In case of any malfunction, please contact our after-sales service technicians.
Do Not operate any hazardous machinery with the OmniHand. The company assume no liability for personal injury or property damage resulting from such actions.
1.2 Risk Assessment
List of Potential Hazards:
Mechanical hazards: Crush injuries, abrasions, etc., caused by contact with the OmniHand or any sharp object being held.
Electrical hazards: Electric burns or electric shocks caused by contact with live parts.
High-temperature hazards: Burns caused by prolonged contact with hot surfaces of the OmniHand.
Noise hazard: No significant hazard identified.
Vibration hazard: No significant hazard identified.
Radiation hazard: No significant hazard identified.
Material/substance hazard: No significant hazard identified.
Ergonomic hazard: No significant hazard identified.
Environmental Hazard: No significant hazard identified.
1.3 After-Sales Service Commitmen
The OmniHand 2025 is covered by a 6-month limited warranty. If any defect due to manufacturing or material flaws occurrs after the Product is put into use, we would provide necessary spare parts for replacement or repair. The product warranty shall be void if defects result from improper handling, failure to follow the instructions provided manual, or unauthorized disassembly of the product. Without prejudice to terms of this warranty, if the Product has exceeded its warranty period, we reserve the right to charge customers for the cost of replacement or repair. Beyond the warranty period, if the device exhibits any defect, we should not be held liable for any damages or losses incurred, including but not limited to production losses or damage to other production equipment.
1.4 Disclaimer
We are committed to continuously improving the product reliability and performance, and therefore reserve the right to make product improvements or upgrade without further notice. We strive to ensure the accuracy and reliability of this Manual but shall not be held liable for any errors or omissions it may contain. Defects or malfunctions caused by the following circumstances are not covered within the scope of warranty:
Failure to install, wire or connect other control devices as required by the user manual;
Unauthorized disassembly/assembly of the OmniHand;
Use of the OmniHand beyond the specifications or standards stated in the user manual;
Damage resulting from improper transportation;
Damage caused by accidents, impacts, or collisions;
Damage caused by natural disasters, including but not limited to fire, earthquake, tsunami, lightning strike, strong winds and floods.
We shall not be held liable for any loss, damage, injury or expense caused by customers violating the disclaimers in this Section. Customers are kindly requested to carefully read and agree to this disclaimer before purchasing and using the Product.
Product Profile
2.1 Overview
OmniHand 2025 is a compact and high-degrees-of-freedom(DoF) robotic dexterous hand featuring a miniaturized and versatile design, optimized for interactive applications.
OmniHand 2025 supports a wide range of applications, including gesture interaction, touch interaction and light-duty tasks, accommodating multiple common interactive gestures and covering 400+ tactile sensing points across the palms, hand backs and all five fingers.
The hand features a soft-touch coating and pinch-prevention safety design; lightweight and agile, it is ideal for humanoid robots across a wide range of models.
2.2 Features
Compact and lightweight: 180 mm in total length, just 510g in weight—adaptive to humanoid robots of various models.
Adaptive interaction: 16 DoFs for more human-like gesture interaction, covering all common gestures plus an exclusive back-of-hand touch interaction.
Safe and user-friendly: Over 300 force-sensing taxels across the hand and an pinch-prevention design for safer interaction.
2.3 Technical Specifications
OmniHand 2025 | OmniHand 2025 w/ Tactile | ||
Body Parameters | Weight (excluding wrist end cap and screws) | ≤ 510g | ≤ 520g |
Dimension | 180*85*38.5 mm | ||
Active DoF | 10 (Thumb: 3; Index finger: 2; Middle finger: 1; Ring finger: 2; Little finger: 2) | ||
Total DoF | 16 (Thumb: 4; Index finger: 3; Middle finger: 3; Ring finger: 3; Little finger: 3) | ||
Minimum opening/closing time | 0.5s / 0.5s | ||
Fingertip Repetitive Positioning Accuracy | 0.3mm | ||
Five-finger grip force (hybrid force control mode) | ≥ 5kg | ||
Operating Voltage | 18-27V | ||
Communication | CAN-FD / RS485 | ||
Operating Temperature | 0~45℃ | ||
Upgrade | OTA Upgrade | ||
Tactile sensor | Force sensing type | / | Fingertip + palm + hand back: One-dimensional force |
Array resolution | / | 0.1N | |
Range of sensing | / | 0-20N | |
Maximum acceptable force (nondestructive) | / | 200N | |
2.4 Range of Joint Angle
Left | Right | ||||
Finger | Joint | Min (°) | Max (°) | Min (°) | Max (°) |
Thumb | thumb_roll_joint | -2 | 64 | -64 | 2 |
thumb_abad_joint | -94 | 3 | -3 | 94 | |
thumb_mcp_joint | 0 | 48 | -48 | 0 | |
thumb_pip_joint | NA /Coupled joints, coupling relationship reference in the SDK. | ||||
thumb_dip_joint | NA /Coupled joints, coupling relationship reference in the SDK. | ||||
Index Finger | index_abad_joint | -9 | 0 | 0 | 9 |
index_pip_joint | 0 | 85 | 0 | 85 | |
index_dip_joint | NA /Coupled joints, coupling relationship reference in the SDK. | ||||
Middle Finger | middle_pip_joint | 0 | 85 | 0 | 85 |
middle_dip_joint | NA /Coupled joints, coupling relationship reference in the SDK. | ||||
Ring Finger | ring_abad_joint | 0 | 10 | -10 | 0 |
ring_pip_joint | NA /Coupled joints, coupling relationship reference in the SDK. | ||||
ring_dip_joint | 0 | 85 | 0 | 85 | |
Fifth Finger | pinky_abad_joint | 0 | 11 | -11 | 0 |
pinky_pip_joint | 0 | 85 | 0 | 85 | |
pinky_dip_joint | NA /Coupled joints, coupling relationship reference in the SDK. | ||||
Please refer to the chart above.
|
|
2.5 Product Dimensions
|
|
|
Installation Instructions
This Section describes how to install the OmniHand 2025 and related information about its electrical and communication interfaces.
3.1 Packing List
OmniHand 2025 × 1
Power + CAN-FD Cable × 1 (power cable connector type: XT30 female)
RS485 Cable × 1
USB Type-C Cable × 1
OmniHand Quick Start Guide × 1
Product Certificate × 1
3.2 Installation
Remove the wrist end cap by unscrewing the four M4 screws located at the wrist joint.
Connect the communication cable and power cable;
Mount the OmniHand onto the robotic arm (refer to the mechanical interface design in the diagram below) and secure the M4 screws removed in Step 1 to complete the installation.
|
|
3.3 Electrical and Communication Interfaces
Pin Definitions
WAFER-GH1.25-6PLB used as connector (Tag. No.: U1) with CANFD supported. Specific pin definitions are as follows:
Pin | Pin Definitions |
1 | 24V |
2 | 24V |
3 | CAN_H |
4 | CAN_L |
5 | GND |
6 | GND |
GH125-S03CCA-00 used as connector (Tag. No.: XI) with RS485 supported. Specific pin definitions are as follows:
Pin | Pin Definitions |
1 | RS485_A |
2 | RS485_B |
3 | GND |

3.4 Communication method
Supports connection to the host computer via USB communication;
Supports secondary development based on CAN-FD/RS385 communication protocols.
Please check SDK doc here
https://github.com/AgibotTech/Omnihand-2025-SDK
Communication Protocols
4.1 CAN-FD Communication
CAN-FD communication parameters: arbitration field baud rate 1M (80% sampling point), data field baud rate 5M (75% sampling point). This device supports CAN‑FD frame format only. For classic CAN 2.0 frames, the device will: • not parse the data • not send any acknowledgment • not generate error frames
The following is the communication frame layout in the CANFD data field:
ID | DLC | D0 | D1 - D63 |
Node ID | 1-64 | CMD | Data field |
Node ID:
0~0x7FF, standard frame. DefaultIDis0x09. When the node ID is unknown, you can use paging address0x7FFto query the node ID. The node will still reply according to its own ID after receiving this ID data.CMD: Control command, which will occupy the first byte in the data field and its specific definition is detailed in Chapter 4.3.
Data segment: Data corresponding to the control command and its specific definition is detailed in Chapter 4.3 Upstream/Downstream Data Definitions; all data is arranged in little-endian format.
Command examples (hex format):
A. Enable command: 0x09 0x02 0x01 0x01
B. Disable command: 0x09 0x02 0x01 0x00
C. Set Motor 1 to position 2000: 0x09 0x04 0x06 0x01 0x00 0x7D
D. Set all motors to position 2000:
0x09 0x18 0x08 00 7D 00 7D 00 7D 00 7D 00 7D 00 7D 00 7D 00 7D 00 7D 00 7D 00 7D
4.2 USB/Serial Communication
Serial communication parameter settings:
Baud rate: 460800
Total bytes: 8
Check bit: None
Stop bit: 1
When using USB connection, the driver board will virtualize a serial port; the baud rate can be freely set while other parameters are kept identical.
Field | Frame header | ID | Data length | Data segment (CMD+DATA) | crc |
Byte occupancy | 2 | 2 | 1 | N | 2 |
Frame header:
0xAAEE,little-endian formatID: Device Node ID,
0~0x7FF. Default ID is0x01. When the node ID is unknown, you can use paging address0x7FFto query the node ID. The node will still reply according to its own ID after receiving this ID data, little-endian formatData length: Byte length of the data segment
Data segment: the length is
1-64, the first byte is the control command, followed by corresponding data, identical with the data field in CAN-FD, all data is arranged in little-endian format.crc: Data verification. The verification range ranges from the frame header to the data segment. For its calculation method, please refer to the crcl6 function in the following file. The value
0x5555is reserved as a debug-specific crc, which can pass the verification directly.Little-endian format.crc calculation details:
Initial value:
0x0000Polynomial:
0x1021XOR output:
0x0000Data reflection: none, uses MSB‑first bit order
Command examples (hex format):
Enable command:
0xEE 0xAA 0x01 0x00 0x02 0x01 0x01 0x60 0xAADisable command:
0xEE 0xAA 0x01 0x00 0x02 0x01 0x00 0x41 0xBASet Motor 1 to position 2000:
0xEE 0xAA 0x01 0x00 0x04 0x06 0x01 0x00 0xD7 0x21 0xB9Set all motors to position 2000:
0xEE 0xAA 0x01 0x00 0x15 0x08 0x00 0xD7 0x00 0xD7 0x00 0xD7 0x00 0xD7 0x00 0xD7 0x00 0xD7 0x00 0xD7 0x00 0xD7 0x00 0xD7 0x00 0xD7 0x9B 0x65
/*
* @Author: richie.li
* @Date: 2023-08-21 21:46:17
* @LastEditors: richie.li
* @LastEditTime: 2023-12-26 17:07:10
*/
/* Private includes ----------------------------------------------------------*/
#include "crc.h"
/* Private types -------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
static const uint16_t crc16Tab[256] = {
0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, 0x8108, 0x9129, 0xa14a, 0xb16b,
0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de, 0x2462, 0x3443, 0x0420, 0x1401,
0x64e6, 0x74c7, 0x44a4, 0x5485, 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4, 0xb75b, 0xa77a, 0x9719, 0x8738,
0xf7df, 0xe7fe, 0xd79d, 0xc7bc, 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b, 0x5af5, 0x4ad4, 0x7ab7, 0x6a96,
0x1a71, 0x0a50, 0x3a33, 0x2a12, 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41, 0xedae, 0xfd8f, 0xcdec, 0xddcd,
0xad2a, 0xbd0b, 0x8d68, 0x9d49, 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78, 0x9188, 0x81a9, 0xb1ca, 0xa1eb,
0xd10c, 0xc12d, 0xf14e, 0xe16f, 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e, 0x02b1, 0x1290, 0x22f3, 0x32d2,
0x4235, 0x5214, 0x6277, 0x7256, 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d,
0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, 0xa7db, 0xb7fa, 0x8799, 0x97b8,
0xe75f, 0xf77e, 0xc71d, 0xd73c, 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634,
0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab, 0x5844, 0x4865, 0x7806, 0x6827,
0x18c0, 0x08e1, 0x3882, 0x28a3, 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a,
0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92, 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d,
0xbdaa, 0xad8b, 0x9de8, 0x8dc9, 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8, 0x6e17, 0x7e36, 0x4e55, 0x5e74,
0x2e93, 0x3eb2, 0x0ed1, 0x1ef0};
/* Private function prototypes -----------------------------------------------*/
/* Private user code ---------------------------------------------------------*/
uint16_t crc16(const uint8_t* buf, uint32_t len) {
uint16_t crc = 0;
while (0 < len--) {
crc = (crc << 8) ^ Crc16Tab[((crc >> 8) ^ *buf++) & 0x00FF];
}
return crc;
}4.3 Communication Protocols
The internal active shafts of the hand are distributed according to their serial numbers, indexed from 1 to 10 (shown in red in the figure below); the tactile sensors are sequentially distributed from the thumb, indexed from 1 to 7 (shown in black in the figure below).

The command fields for sending and replying are identical.
Command | Definition | Downstream Data | Upstream Data | Remarks |
| Device enable/disable | 1 byte
| 1 byte
| |
| Query current device enable status | 1 byte
| ||
| Set single axis position | 3 byte
| 3 byte
| |
| Read single axis position | 1 byte, axis index Range: 1-10 | Same as | |
| Set all axis positions | 20 byte
Each axis has two-byte position data of uint16 type, sequentially arranged starting from Axis 1, with the position of each axis ranging alph=0.0°~90.0°, target position = 4096 * alph / 3600, with the angle precision up to 0.1°
| 60 byte
2-byte position data per axis, uint16 type, arranged sequentially from axis 1, with each axis position range 0 - 4096
| |
| Read position data for all axes | 20 byte
2-byte position data per axis, uint16 type, arranged sequentially from axis 1, with each axis position range | ||
| Read current information for all axes | 20 byte
Each axis has 2-byte current data, uint16 type, sequentially arranged from Axis 1. | ||
| Read speed information for all axes | 20 byte d0-d23: Current speed data for all axes Each axis has 2-byte speed data, uint16 type, sequentially arranged from Axis 1. | ||
| Read temperature data for all axes | 10 byte
Each axis has 1 byte of temperature data, int8 type, sequentially arranged from Axis 1; Unit: degree | ||
| Read error code | 2 bytes, uint16 type
| ||
| Clear error | 1 byte
| ||
| Read data from a single fingertip sensor | 1 byte, sensor index | 17 bytes (fingers) / 26 bytes (palm and back of hand)
| |
| Read data from all fingertip sensors-1 | 48 bytes, in the following order: Thumb 4*4 + Index finger 4*4 + Mid-finger 4*4 With each point stored as a uint8 value and each sensor read in a row-major order; | ||
| Read data from all fingertip sensors-2 | 32 bytes, in the following order: Ring finger 4*4 + Fifth finger 4*4 With each point stored as a uint8 value and each sensor read in a column-major order; | ||
| Read data from all fingertip sensors-3 | 50 bytes, in the following order: Palm 5*5 + Back of hand 5*5 With each point stored as a uint8 value and each sensor read in a row-major order; | ||
| Set all axes position(force-position hybrid mode) | 50 bytes
alph=0.0°~90.0°, target position = 4096 * alph / 3600, with the angle precision up to 0.1°
Each axis has two-byte position data of uint16 type, sequentially arranged starting from Axis 1, valid speed range: -4095 to 4096; maximum motor speed: 4096
Each axis uses 1 byte, torque range: 0–255 | 60字节 d0-d19, 所有轴当前位置数据 每个轴两字节位置数据,uint16类型,从1号轴开始依次排布,每个轴位置范围 0 - 4096 d20-d39:所有轴速度反馈; d40-d49:所有轴力矩反馈; d50-d59:所有轴的故障状态; 60 bytes
Each axis has two-byte position data of uint16 type, sequentially arranged starting from Axis 1, position range: 0–4096
| |
| Control source | 1 byte, control source setting:
| Return: Original data | |
| Control source query | 0 byte | Return: Control source status
| |
| Read product serial number | 19 bytes:
| ||
| Query device model and software/hardware version | 8 byte
| Compatible with OmniPicker commands |
Note: In upstream/downstream data descriptions, "d" represents data, where d0 is the first byte.
4.4 Firmware/Host Software Version
Latest firmware and host software versions are available for download on the official website https://www.zhiyuan-robot.com/DOCS/OS/Omnihand-O10
4.5 Precautions for Control
For controlling the OmniHand 2025 of the robot body, it is recommended to use a hybrid position/torque control mode. Apply appropriate torque when grasping objects. If the grasping torque is excessive, it is advised not to grasp frequently, instead, grasp for one minute and then release for one minute.
4.6 Indicator Light Instructions
Indicator Color | Definition | Action Required |
Blue | System initializing | Wait until initialization completes |
Green | Initialization complete | Ready for operation |
Blue (no change) | Voltage abnormal | Check that voltage is 24 V ± 10% |
4.7 Caution: Hot-plugging is NOT Supported
When the entire hand is powered on, hot-plugging of power cord or signal cable is not supported and users shall use it properly; in case of malfunction due to unauthorized hot-plugging, the customer should be held solely liable.
Host Software Instructions
5.1 Environment and Dependencies
CPU: Intel Core i5 8th Gen or above, dual-core 1.5GHz+
Memory: 8GB+
Display: Support OpenGL 3.3+ (integrated graphics are sufficient)
OS: Windows 10/11
Interface: USB 2.0+
Software Dependency: VC++ 2019 Redistributable, .Net Framework 4.8
5.2 Download and Install
The host software for OmniHand 2025 can be downloaded as a compressed package from the official website; see Section 4.4 for the link.
Extraction is required after the download is completed. Before launching, make sure to install VC++ redistributable and .NET Framework dependencies. Once the installation is completed, double-click OmniHand-ToolBox to run the host software.
5.3 Login Interface

By clicking the “Submit” button, the system will proceed directly to the main user interface without requiring a username or password.
The interface language can be adjusted from the language menu located in the upper‑right corner of the screen. The system currently supports Chinese and English.
5.4 Main Interface

The OmniHand 2025, once powered on, shall be connected to the host computer via a USB cable; once it is properly connected, the host software will automatically search for available port numbers, which will then be displayed in the port number section of the left sidebar.
The baud rate is fixed at 460800 and cannot be modified at this time.
Slide to connect and wait for handshake process to complete. Once the connection is successfully established, the connection status will be "Connected" and you can check the Device panel for basic device information.
In the main interface, users can also view detailed information for each joint. By selecting a specific joint, the system will display its position range, torque, rotational speed, and other related parameters. Real‑time data such as current and temperature can also be viewed in the lower section of the interface.
Possible errors and solutions:
If the status displays “Connected” but the OmniHand cannot be operated, check whether other port options are available in the “Port Number” dropdown list. Select the correct port and reconnect.
If a connection failure occurs, verify whether the port can be detected in the “Port Number” field at the upper‑left corner of the software interface:
Ensure that the USB device driver is installed and determine whether the driver requires an update.
Confirm that the device is properly powered.
Check whether a docking station is being used for the connection; docking stations may cause issues, so removing it is recommended.
Inspect the cable connection for poor contact. The USB cable used must support data transmission.
If a port number is shown but the connection status remains “Disconnected,” close the software and try again.
If no port number is detected, check the following:
5.5 Console

In the Control Panel, users can operate and control the OmniHand.
In the Action Panel, items #1 to #10 correspond to the ten joints supported by OmniHand. Each joint’s definition is displayed above its respective slider. The thumb contains three degrees of freedom; the index finger, ring finger, and fifth finger each have two degrees of freedom (lateral movement and flexion); the middle finger has only one degree of freedom (lateral movement not supported).
To adjust the hand posture, users may control each joint by either dragging the slider or entering a specific value in the corresponding input field. The valid input range is 0 – 4096. When entering values manually, press Enter to apply the command. The precise joint value will be displayed below the slider.
To adjust all joints simultaneously, enter the target values into each joint’s input field and click "One-click execution”, all joints will then move to their specified target positions.
“Initial Pos” allows all joints to move back to their preset initial position at once.
“Save Action” stores the current values of all degrees of freedom as a customized action. After clicking “Save” enter a name for the action. Once saved successfully, the action will appear in the action list for future use.
Custom Action Playback/Loop Panel

In the Action Playback and Loop Panel, users can select actions from the existing action list to form an action sequence. Each sequence can contain up to four actions. After selecting the actions, the interval time between consecutive actions can be entered in the corresponding input fields.
In the “Loop Count” field, enter the number of times the action sequence should be repeated. Click “Start” to begin execution. The system will perform the selected actions in order and record the execution details in the system log. Click “Stop” to terminate the process.
Action File Export and Import

Custom actions in the Action List can be exported as action files, allowing users to reuse them the next time the host software is opened. By clicking “Export JSON File,” all actions in the Action List can be exported at once.
When using the software again, click “Load JSON File” and select the desired local file. All actions contained in the file will be imported into the Action List.
For manual action formatting, add a JSON object separated by commas, with object content enclosed in "{}" curly braces. Inside the curly braces, the "name" field should be filled with the action name; the "pos_axis_x" field represents the target joint position (currently only 1-10 is required) as desired by the user.
5.6 Tactile Panel

Click the "Tactile" button to view the pressure distribution for the five fingertips, palm and the back of hand;
For each fingertip, the pressure measurement point is a composite of three individual points, the palm contains nine points, and the back of hand contains five points.
The total pressure for each region is displayed at the bottom.
5.7 Upgrade Panel

In the Upgrade Panel, click the “current version” button to view the current firmware version and other related information of the device.
To perform a firmware upgrade, click “Start Upgrade,” then select the prepared firmware file (*.bin). OmniHand will begin updating its firmware.
Before starting the upgrade, ensure that the device is properly connected. Once the upgrade begins, please wait patiently for the process to complete. Progress and status messages will be printed in the log. By checking the log, you can confirm whether the upgrade is successful. A successful upgrade will display messages such as “OTA completed normally” and “Reboot is normal.”
If “Upgrade Failed” appears, try performing the upgrade again by clicking “Start Upgrade” and repeating the operation. If the upgrade still fails, review the log messages. If the log indicates a connection failure, you may need to update the MCU firmware using an ST‑Link programmer before retrying.
This manual is based on OmniHand 2025, Hardware Version 3.0.0, Firmware Version 1.1.9, and Host Software Version 2.3.0.






