Changelog
Note:
- Wuji Hand 2 is currently a Beta 1 prototype. Its parameters and behavior don't represent the final product
- For any questions, contact support@wuji.tech
2026.08.03
Important: This release contains a C SDK breaking change (joint diagnostics struct ABI change). C applications using these structs must be recompiled against the new header.
Component Versions
| Component | Version | Update Method |
|---|---|---|
| Firmware | v2.2.3 | Update via Wuji Studio |
| Wuji SDK | v2026.8.3 | pip install --upgrade wuji-sdk |
| Wuji Studio | v2026.8.3 | Click to download |
| Wuji Retargeting | v2026.8.3 | Click to download |
Highlights
Firmware
New capabilities:
- Added a status light on the hand's back logo that shows the device state at a glance — powering up, ready, running, updating firmware, and warning or fault conditions. See the status light guide
- Added warning code
0x0015: abnormal motor parameters
Fixed:
- Fixed some known issues
Wuji SDK
New capabilities:
- The
joint_diagnosticsstream now carries built-in communication health — each joint reports its bus response rate and timeout count, and every frame includes a summary with end-to-end (Ethernet) stream loss, request retry/timeout counters, and the fingertip tactile online bitmap. The SDK maintains all of it automatically in the background, so no polling is required.
Breaking changes (C SDK):
- The joint diagnostics structs gained new fields, so their C ABI changed. Applications that use
WujiJointDiagnosticsEntryorWujiJointDiagnosticsFramemust be recompiled against the new header before linking the new library — linking new against old will read and write past the end of the old structs. Existing fields keep their meaning and order, and no source changes are needed; the added fields carry the per-joint bus communication quality and the frame-level communication summary described above.
Changed:
- C SDK: The Linux x86_64 and aarch64 (gnu) tarballs now ship one library file,
libwuji_sdk_c.so. Wuji Hand support no longer needs thelibwujihandcpp.sothat earlier tarballs bundled beside it, andlibstdc++.so.6andlibusb-1.0.so.0are no longer runtime dependencies. The C API and link line are unchanged, so existing applications keep working without a rebuild. If you deployedlibwujihandcpp.sofrom an earlier tarball, you can delete it — the SDK doesn't load it anymore.
Fixed:
- The SDK no longer binds a fixed local network port when connecting a hand. The local port is now assigned automatically by the operating system, so the SDK will not conflict with ports used by your own applications.
- Device scanning no longer hangs indefinitely in the rare case where a network peer disappears during discovery. The network discovery step is now time-bounded, so scanning always returns within a few seconds with the devices found so far. Covers both the Python SDK and the C SDK.
- Network device discovery now works on Linux hosts with multiple network interfaces or IP addresses when the host's primary IP address is not on the device's subnet — previously scanning on such hosts could permanently find no devices. Covers both the Python SDK and the C SDK.
- Setting
effort_limitto a value the device rejects (e.g. above the current ceiling) now raises aValueErrorinstead of a generic error; the device keeps its previous limit.
Wuji Studio
Fixed:
- Firmware upgrade: Fixed successful upgrades occasionally being reported as failed.
- Device connection: Connecting a Wuji Hand 2 no longer falsely reports "read-only mode".
Wuji Retargeting
Changed:
- Retuned the
mediapipe_rotationbias in the Wuji Glove example configs (adaptive_analytical_wuji_glove_{left,right}.yamlandadaptive_analytical_wuji_glove_wuji_hand_2_{left,right}.yaml) for the new per-serial calibration. The manualwrist_offset_cm/thumb_offset_cmstay disabled because the SDK applies a per-serial calibrated URDF.
Fixed:
- Fixed
teleop_real.pycrashing at startup withAttributeErroron the Wuji Hand 2 (network) backend after the Wuji SDK 2026.7.1 resource-API redesign. Control behavior is unchanged. Requires Wuji SDK ≥ 2026.7.1 and matching firmware.
2026.07.23
Component Versions
| Component | Version | Update Method |
|---|---|---|
| Wuji Description | v2026.7.23 | Download |
Highlights
Wuji Description
- Added the Wuji Hand 2 (Beta 1) delivery, the first revision recalibrated under the new coordinate-system rules, with the coordinate conventions fixed from this revision on—integer unit joint axes, anatomical link/joint naming (for example
r_thumb_cmc_flex), the{l,r}_wristroot link, and the actuator naming scheme ({l,r}_{THJ|FFJ|MFJ|RFJ|LFJ}{0-3}, J0 = flexion … J3 = DIP)—later revisions stay compatible and only update physical parameters and geometry details, and each hand has 20 actuated revolute joints (5 fingers × 4 joints). - Added Wuji Hand 2 (Beta 1) left- and right-hand models: URDF with relative mesh paths plus a ROS variant using
package://wuji_hand2_descriptionpaths, MuJoCo MJCF with collision geometry as the convex hull of each link mesh, layered Isaac Sim USD assets whose drive gains hold the pose on bare Play, and anatomically named STL meshes—the kp/kv drive gains are carried over from the Wuji Hand platform calibration and will be updated once system identification on Wuji Hand 2 hardware is complete. - Added five fingertip query sites per hand (
{l,r}_{finger}_tip, display group 3) for grasp-point queries and fingertip trajectory evaluation. - Added full-hand STEP CAD assemblies (left and right) for mechanical integration and fixture design.
- Added the standalone ROS2 package
wuji_hand2_description, so the Wuji Hand 2 (Beta 1) ROS URDFs resolve their meshes independently of the Wuji Handwuji_descriptionpackage. - Changed the Wuji Hand 2 (Beta 1) collision policy: every link now participates in collision with only 10 assembly-overlap pairs excluded (each finger's proximal and proximal_abd against the wrist), inter-finger and fingertip–palm contacts stay live, display layers are group 1 visual (silver), group 2 collision (translucent light purple), and group 3 fingertip sites, and the fingertip soft pads ship with the package but are not yet attached as collision geometry—fingertip contact is carried by the distal-segment geometry, so the contact point sits slightly off the real finger pad.
- Removed the previous Wuji Hand 2 (Beta) model revision rooted at
{l,r}_base_link, along with its structural STEP assemblies and arm-flange adapter mount—it is superseded by the recalibrated Wuji Hand 2 (Beta 1) revision.
2026.07.21
Component Versions
| Component | Version | Update Method |
|---|---|---|
| Firmware | v2.1.0 | Update via Wuji Studio |
| Wuji SDK | v2026.7.21 | pip install --upgrade wuji-sdk |
Highlights
Firmware
New capabilities:
- Per-finger tactile data streams with the frame layout defined by self-describing sensor metadata — the host fetches the metadata first, then decodes the stream against it
- Query tactile sensor status (model and calibration status)
- Recalibrate the fingertip tactile sensors at runtime, resetting all five fingertips to a fresh zero baseline (triggered through the SDK's
tactile_calibrate)
Changed:
- An enabled joint that loses communication with the main controller now stops the motor and reports a fault instead of continuing on the last received command, and re-enabling requires an explicit host command
- Improved encoder health monitoring: high-speed operation no longer triggers spurious encoder warnings, and genuine encoder link degradation is detected earlier and more reliably
Fixed:
- Fixed real-time stream timestamps gradually drifting from host time and failing to realign after reconnecting the SDK while the device stays powered on
Wuji SDK
New capabilities:
- First official release of fingertip tactile sensing: subscribe to self-describing per-finger sensor streams (
FingertipSensorInfometadata describes how to decode eachFingertipSensorDataframe — see the3.fingertip_typed.pyexample), recalibrate all five fingertips to a fresh zero baseline withhand.tactile_calibrate()(Python) /wuji_hand_2_tactile_calibrate(dev)(C) while keeping the sensor surfaces unloaded, and query each sensor's model and calibration state withhand.tactile_status(finger)to confirm a recalibration has finished
Fixed:
- Firmware upgrade failures now report the detailed error (specific reason, error code, and any failed nodes) instead of a generic "Unknown error"
2026.07.14
Component Versions
| Component | Version | Update Method |
|---|---|---|
| Firmware | v2.0.0 | Update via Wuji Studio |
| Wuji SDK | v2026.7.14 | pip install --upgrade wuji-sdk |
| Wuji Studio | v2026.7.14 | Click to download |
| Wuji Description | v2026.7.14 | Click to download |
Highlights
Firmware
Breaking changes:
- This firmware targets Beta 2 hardware. Beta 1 hardware will not receive this update — the firmware list only offers packages that match your device hardware
Fixed:
- Fixed other known issues and improved overall stability
Wuji SDK
disconnect()now fully releases the hand: after disconnecting, the hand is immediately available to any other application or machine, exactly as if your application had exited. Previously the hand could remain held by the application until it exited- Fixed a bug where applications that repeatedly connect and disconnect could see each new connection take longer than the last. Connections now stay consistently fast, no matter how long the application has been running
Wuji Studio
- Devices in the firmware upgrade view are now grouped by their actual product type, so Wuji Hand devices no longer appear under the "Wuji Glove" group. Unrecognized devices are listed under a new "Other Devices" group
Wuji Description
- Fixed the ROS
package://mesh paths for the Wuji Hand 2 (Beta 1) URDF: thewuji_descriptionpackage now installs the model assets into its share directory, and mesh paths are model-scoped, so the model loads correctly under ROS
2026.07.06
Component Versions
| Component | Version | Update Method |
|---|---|---|
| Firmware | v1.2.4 | Update via Wuji Studio |
Highlights
Firmware
- Fixed device connection failures in some network environments
- Fixed other known issues
2026.07.01
Important: The Wuji Hand 2 device resource interface is redesigned into a unified model (breaking change). Upgrade the firmware and SDK together, and update caller code to the new interface.
Component Versions
| Component | Version | Notes |
|---|---|---|
| Firmware | v1.2.1 | Update via Wuji Studio |
Highlights
Firmware
Breaking change:
- Real-time feedback as subscription streams
- Real-time commands use publish
- Configuration resources are cleaner
Fixed:
- Fixed the device reporting its firmware version as
0.1.0instead of the actual running version
2026.06.15
Component Versions
| Component | Version | Notes |
|---|---|---|
| Firmware | v1.1.2 | Update via Wuji Studio |
| Wuji SDK | v2026.6.16 | pip install --upgrade wuji-sdk |
| Wuji Retargeting | v2026.6.15 | Click to download |
| Wuji Description | v2026.6.12 | Click to download |
Highlights
Firmware
- Improved overall stability and reliability
Wuji SDK
- Added a local user isolation API (
SdkManager.create_useretc.) so operators sharing the same device don't overwrite each other, with automatic parameter reload on user switch — no reconnect required.
Wuji Retargeting
- Added Wuji Hand 2 (network-connected) teleoperation support,
teleop_real.pyselects the hand with--hand-model {wuji_hand,wuji_hand_2}, plus auto IP discovery and--kp/--kd/--current-limitfor tuning. - Added config-driven hand model selection — point
optimizer.urdf_path/mjcf_pathat any hand URDF / MJCF, withoptimizer.link_namingmapping link roles (palm, fingertip, etc.) to the URDF's actual link names. Includes Wuji Hand 2 left/right configs.
Wuji Description
- First release of the Wuji Hand 2 URDF model and STL meshes, with 20 joints under anatomical naming (
thumb/index_fingeretc.). - Added the Wuji Hand 2 MuJoCo MJCF simulation model with per-joint actuator force ranges.
- Added Wuji Hand 2 Isaac Sim USD assets with position-drive joint gains and textures.
- Added Wuji Hand 2 STEP assemblies (Beta1 left and right) and a robotic-arm flange adapter mount STEP source file.
2026.06.02
Component Versions
| Component | Version | Notes |
|---|---|---|
| Wuji Hand 2 | Beta 1 | Prototype, 20-DoF biomimetic dexterous hand |
| Wuji SDK | v2026.06.02 | pip install wuji-sdk |
Highlights
- First release of the Wuji Hand 2 Beta 1 documentation, covering product information, user notices, usage constraints, and SDK reference
- 20-DoF biomimetic five-finger body with MIT force-position hybrid control and user-tunable parameters
- Joint-level Python SDK (built on the shared Wuji SDK) covering device connection, joint control, state subscription, and diagnostics, plus connect by left or right hand directly (
connect(handedness=...)) without looking up a serial number first - Includes a wrist mounting flange and drawings, a Wuji Glove–based teleoperation demo, and a URDF simulation model (skeleton only)