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

ComponentVersionUpdate Method
Firmwarev2.2.3Update via Wuji Studio
Wuji SDKv2026.8.3pip install --upgrade wuji-sdk
Wuji Studiov2026.8.3Click to download
Wuji Retargetingv2026.8.3Click 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_diagnostics stream 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 WujiJointDiagnosticsEntry or WujiJointDiagnosticsFrame must 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 the libwujihandcpp.so that earlier tarballs bundled beside it, and libstdc++.so.6 and libusb-1.0.so.0 are no longer runtime dependencies. The C API and link line are unchanged, so existing applications keep working without a rebuild. If you deployed libwujihandcpp.so from 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_limit to a value the device rejects (e.g. above the current ceiling) now raises a ValueError instead 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_rotation bias in the Wuji Glove example configs (adaptive_analytical_wuji_glove_{left,right}.yaml and adaptive_analytical_wuji_glove_wuji_hand_2_{left,right}.yaml) for the new per-serial calibration. The manual wrist_offset_cm / thumb_offset_cm stay disabled because the SDK applies a per-serial calibrated URDF.

Fixed:

  • Fixed teleop_real.py crashing at startup with AttributeError on 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

ComponentVersionUpdate Method
Wuji Descriptionv2026.7.23Download

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}_wrist root 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_description paths, 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 Hand wuji_description package.
  • 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

ComponentVersionUpdate Method
Firmwarev2.1.0Update via Wuji Studio
Wuji SDKv2026.7.21pip 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 (FingertipSensorInfo metadata describes how to decode each FingertipSensorData frame — see the 3.fingertip_typed.py example), recalibrate all five fingertips to a fresh zero baseline with hand.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 with hand.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

ComponentVersionUpdate Method
Firmwarev2.0.0Update via Wuji Studio
Wuji SDKv2026.7.14pip install --upgrade wuji-sdk
Wuji Studiov2026.7.14Click to download
Wuji Descriptionv2026.7.14Click 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: the wuji_description package 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

ComponentVersionUpdate Method
Firmwarev1.2.4Update 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

ComponentVersionNotes
Firmwarev1.2.1Update 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.0 instead of the actual running version

2026.06.15

Component Versions

ComponentVersionNotes
Firmwarev1.1.2Update via Wuji Studio
Wuji SDKv2026.6.16pip install --upgrade wuji-sdk
Wuji Retargetingv2026.6.15Click to download
Wuji Descriptionv2026.6.12Click to download

Highlights

Firmware

  • Improved overall stability and reliability

Wuji SDK

  • Added a local user isolation API (SdkManager.create_user etc.) 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.py selects the hand with --hand-model {wuji_hand,wuji_hand_2}, plus auto IP discovery and --kp / --kd / --current-limit for tuning.
  • Added config-driven hand model selection — point optimizer.urdf_path / mjcf_path at any hand URDF / MJCF, with optimizer.link_naming mapping 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_finger etc.).
  • 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

ComponentVersionNotes
Wuji Hand 2Beta 1Prototype, 20-DoF biomimetic dexterous hand
Wuji SDKv2026.06.02pip 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)