Changelog

Important Notice:

  • Please update firmware, Wuji SDK, and Wuji Studio to the latest versions for optimal performance and compatibility
  • For any questions, please contact support@wuji.tech

2026.08.03

Component Versions

ComponentVersionUpdate Method
Wuji SDKv2026.8.3pip install --upgrade wuji-sdk
Wuji Descriptionv2026.8.3Click to download

Highlights

Wuji SDK

New capabilities:

  • Added guided tactile calibration — record prompted hand motions to train a per-glove contact model for real-time contact detection (tactile_binary). Python: glove.calibrate_tactile() / glove.calibrate_tactile_blocking(). C: blocking guided flow with pose-prompt callbacks.

    Models load automatically. Training requires a model-export build — see the motion guide.

  • C SDK: Added wuji_glove_set_tactile_binary_sensitivity for standalone tactile_binary observation tools. It changes the SDK-local contact sensitivity for the connected glove and rejects non-finite or non-positive values.

  • C SDK: Added the runnable user-management example examples/c/wuji_glove/3_user_management.c for inspecting the current SDK user, creating or updating named users, and switching users before calibration.

  • Added tactile_residual observation examples — the continuous signed signal behind tactile_binary, where you set your own contact threshold instead of using a built-in one. Python: glove.tactile_residual(), C: wuji_glove_subscribe_tactile_residual typed callback. Calibrate the glove first.

Changed:

  • The C IK calibration example is now examples/c/wuji_glove/4_user_calibration.c (renamed from 3_user_calibration.c) and calibrates the SDK user you are already on instead of creating or switching one — use the new 3_user_management.c example first if you need to create or switch users. It also gained a --blocking mode, which runs calibration to completion without the cooperative Ctrl+C cancellation the default asynchronous path offers.

Fixed:

  • EMF finger poses now use the selected hand URDF to reject unreachable mirrored positions, reducing incorrect position reversals caused by transient interference.
  • 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.

Wuji Description

  • Added glove/attachment/Pico-controller-attachment.STEP, a STEP AP214 CAD assembly for mounting a PICO 4 Ultra controller on the Wuji Glove. It joins the existing Wuji Glove mounting interface and PICO tracker adapter in the same directory.

2026.07.14

Important: Wuji Glove hand calibration now belongs to the SDK user and hand side (breaking change). Upgrade the firmware and the SDK together, then calibrate the left and right hands again under your user profile.

Component Versions

ComponentVersionUpdate Method
Firmwarev0.11.2Update 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

  • Aligned the tactile point cloud to 526 active taxels. The firmware still scans the raw 24×32 sensor array and drops the dead column, publishing 24×31 (744-value) tactile frames, and the point-cloud active mask excludes eight more hardware-masked taxels on top of that. Update the Wuji SDK to a matching version so point-cloud decoding uses the same 526-taxel mapping

Wuji SDK

Breaking changes:

  • Calibration results (the URDF hand model) now belong to the SDK user and hand side instead of an individual glove, so swapping to another glove of the same side no longer requires recalibration. Calibration recorded by older SDK versions is not loaded anymore — recalibrate under your user profile
  • The hand_profile calibration option is deprecated and ignored (passing it emits a DeprecationWarning). The calibration result was simplified to handedness plus a single calibrated_urdf path, and the calibration.hand_profile and calibration.hand_model_paths.* parameters were removed: setting them now fails, and values left by older versions are ignored
  • The tactile contact model is now located automatically from the current SDK user and device serial number, the same convention as the calibrated hand model, and stored under the SDK's own tactile directory. The algorithms.tactile_binary.model_dir parameter was removed: setting it now fails. Integrations that set this parameter should stop setting it, as the model is resolved automatically once you select the SDK user
  • Calibration bundles use a new format with user-level hand models and per-glove tactile data. Importing bundles from older SDK versions keeps the tactile data but skips the hand calibration inside (recalibrate), and bundles exported by this version require an up-to-date SDK to import

New capabilities (C SDK):

  • Added SDK user management and Wuji Glove IK calibration APIs matching the Python SDK: C applications can create and switch SDK users, run calibration with structured feedback, cancel asynchronous calibration sessions, and receive the per-user calibrated URDF path. The calibration example provides the same in-place terminal dashboard and throttled API log mode as the Python example
  • Added user data import/export and preview, mirroring the Python API: wuji_user_data_export / wuji_user_data_import move a user's data as a portable .zip bundle, and wuji_user_data_preview validates and lists a bundle's contents without writing to disk. All three return a WujiStatus — call wuji_last_error() for the message on failure. WUJI_STATUS_ERR_NOT_FOUND means the bundle file doesn't exist, and WUJI_STATUS_ERR_INVALID_DATA means the bundle is present but fails validation (corrupt zip, bad manifest, checksum mismatch, or unsafe path)
  • Added device type at scan time: WujiDiscovered.device_id is now a WujiDeviceType enum (WUJI_DEVICE_TYPE_WUJI_GLOVE / _WUJI_HAND_2 / _WUJI_HAND / _UNKNOWN) and WujiDiscovered.model carries the readable type string, so you can tell what a device is before connecting

Breaking changes (C SDK):

  • WujiConnectOptions changed layout to match Python ConnectOptions for bridge and background time-sync settings. Rebuild C applications against the updated wuji_sdk.h, and call wuji_connect_options_default() before overriding fields when passing non-NULL options, or pass opts_or_null = NULL to keep default connection behavior
  • Removed the unused API wuji_glove_subscribe_tactile_zones_cache()

Fixed:

  • The Default profile uses Wuji's built-in URDF, and calibration recorded earlier does not apply. To calibrate, create and switch to your own user profile first

Wuji Studio

Breaking changes:

  • The calibration file format changed. Calibration files created before this release are incompatible with the new format and are not migrated, so calibrate the left and right hands again after upgrading

New capabilities:

  • User data import and export: export your calibration hand models, tactile models, and captured runs to a portable .zip from the user avatar menu, and import one back. Import previews the archive, shows its owner, and warns that it overwrites matching data before you confirm. Data is restored to the archive's owner profile, which is created if it doesn't exist, and you can switch to that profile afterward. Desktop app only

Changed:

  • Calibration results are now saved per Wuji Studio user and hand, and Wuji Gloves for the same hand share that user's result
  • Hand Profile is renamed to Hand Model Source, and the legacy Wuji Hand 2 and Wuji Hand profiles are deprecated. Existing layouts now show SDK Managed, which uses the matching calibrated model, or the SDK default model when not calibrated, and Custom URDF remains available

Fixed:

  • Fixed cases where a compatible Wuji Glove could appear unsupported or show the wrong calibration status. When the status cannot be checked, Studio now offers a retry
  • Studio now blocks incompatible legacy tactile recordings during playback and shows a clear warning, avoiding incorrect tactile rendering
  • Playing back tactile recordings in the older format (before v2026.6.18) shows an incompatibility warning as a message notification in the bottom-right corner
  • Fixed tactile matrix panels still rendering the old 24×32 preset layout after an in-place upgrade. The layout now migrates on startup, and custom column counts are preserved

Wuji Description

  • Added Wuji Glove mounting attachments: Wuji-glove-attachment.STEP (the Wuji Glove mounting interface) and Pico-tracker-attachment.STEP (a Pico tracker adapter), both STEP AP214 assemblies for mechanical integration

2026.07.01

Component Versions

ComponentVersionUpdate Method
Firmwarev0.11.1Update via Wuji Studio

Key Updates

Firmware

  • Fixed intermittent hand-pose jumps: IMU FIFO packets are validated before fusion, so invalid samples no longer corrupt the pose estimate
  • Fixed IMU initialization not respecting the factory configuration. Palm-IMU devices no longer probe disabled slots or report partial initialization

2026.06.18

Component Versions

ComponentVersionUpdate Method
Wuji SDKv2026.6.18pip install --upgrade wuji-sdk
Wuji Studiov2026.6.18Click to download
Firmwarev0.11.0Update via Wuji Studio

Key Updates

Wuji SDK

  • Tactile data layout updates to 744 values in 24×31 (was 768, 24×32), shrinking tactile, tactile_residual, tactile_binary frames and the per-zone layout, with invalid taxels still reported as -1.0

Wuji Studio

  • Tactile matrix and per-zone matrix panels now display the new 24×31 (744) layout
  • MCAP playback now rejects legacy 24×32 (768) or corrupted tactile recordings with a warning instead of rendering them at the wrong dimensions

Firmware

  • Tactile output now uses the new 24×31 matrix format, requires matching Wuji Studio and SDK versions, older 768-point firmware is incompatible

2026.06.15

Component Versions

ComponentVersionUpdate Method
Wuji SDKv2026.6.16pip install --upgrade wuji-sdk
Wuji Studiov2026.6.15Click to download
Wuji Descriptionv2026.6.12Click to download

Key Updates

Wuji SDK

  • Added glove.tactile_residual() publishing 768 continuous contact-residual values at the same rate as tactile (positive = pressed, ~0 = no contact, -1.0 = invalid), mirroring TactileFrame shape so existing tactile-grid visualizers work unchanged. Apply your own thresholding instead of the built-in tactile_binary output.
  • Added a prebuilt C SDK (libwuji_sdk_c.so + wuji_sdk.h) covering device connection, cross-device coordinate transforms (tf / tf_static), and stream subscriptions (tactile, tactile zones, EMF poses, hand joint angles, hand skeleton, tactile point cloud), for x86_64-linux-gnu / aarch64-linux-gnu / aarch64-android.
  • Hand pose solving now runs in parallel, reducing compute time behind hand_joint_angles and derived hand-tracking data, output values and schemas unchanged.
  • Added Python calibration API glove.calibrate() / calibrate_blocking() with timeout, constraint-skip, and on_feedback callback. See Calibration for details.
  • Real-time IK supports hand-profile selection via calibration.hand_profile ("wujihand" / "wujihand2"), calibration without this parameter generates both URDFs for runtime switching without recalibration.
  • Added 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.
  • Added glove.emf_poses_rate_divider() to lower EMF pose output rate (default 1, set N to publish at input_rate/N, e.g. N=4 → 120Hz down to ~30Hz). All EMF-derived streams (emf_poses / hand_joint_angles / tip_poses / hand_skeleton / tactile_point_cloud) drop to the same rate to reduce IK compute, while IMU (imu_*, tf) and raw tactile streams (tactile / tactile_zones / tactile_residual / tactile_binary) keep original rate. Runtime-effective.

Wuji Studio

  • Added the Device Tools Modify Device Port command to change a device's data port (the device reboots to apply).
  • Added the wujistudio.recording extension API so authorized extensions can start, inspect, and stop Studio-managed recordings (with optional source/topic selection).
  • 3D panel Hand Skeleton supports hand profile switching (wujihand / wujihand2 / Custom URDF), with Custom URDF letting SDK-side IK use a local URDF file.
  • Calibration now creates a debug recording of the current device at start for later troubleshooting.
  • Modify Device IP restricts the new address to private subnets, others are rejected.
  • wujistudio.devices.subscribeTopic now requires the robotics.topics.read permission, extensions must declare it under permissions in wujistudio.extension.json.
  • Updated the bundled device SDK integration for user-scoped calibration and SDK-managed hand profile selection.
  • Fixed 3D panel point-cloud colors appearing scrambled and washed-out or semi-transparent. Point-cloud colors now render correctly and match the selected color map.
  • Fixed device logs not resuming after the device passively reconnects (for example, after a firmware-upgrade restart).

Wuji Description

  • First release of the Wuji Glove URDF model with 21 joints including a wrist electromagnetic transmitter and fingertip receiver coils for hand motion tracking.
  • Added STL meshes for the transmitter and receiver coils, plus the transmitter top-cover STEP and assembled PDF.
  • Removed the standalone attachment STEP, all Wuji Glove model assets now live under glove/body/.

2026.05.18

Component Versions

ComponentVersionUpdate Method
Wuji SDKv0.10.0pip install --upgrade wuji-sdk
Wuji Studiov2026.5.18Click to download

Key Updates

Wuji SDK

  • hand_joint_angles and tip_poses now derive from the URDF kinematic chain. Output schemas are unchanged, but numerical values may differ from previous versions.
  • Removed glove.tactile_raw() — subscribe to glove.tactile() (calibrated tactile frames) instead.
  • Removed glove.factory_reset().
  • Added device.export_flash_logs(out_dir) to dump historical device logs to JSONL files.
  • Added per-channel recording health via QualityMetrics.channels: frame rate, drop rate, jitter, is_online, and last_downtime_ms for each recorded topic.

Wuji Studio

  • Added Extensions view: browse installed extensions and install or uninstall local extensions in one place.
  • Preinstalled first-party extensions for calibration, teleoperation, and device tools, ready to use out of the box.
  • Fixed layout presets, saved layouts, and user preferences being blank after a fresh install on Linux.
  • Fixed URDF local file loading failing on Windows in the 3D panel.
  • Fixed URDF meshes not tracking /joint_states in real time.

2026.04.28

Component Versions

ComponentVersionUpdate Method
Firmwarev0.10.1Update via Wuji Studio

Key Updates

  • Fixed some known issues.

2026.04.27

Component Versions

ComponentVersionUpdate Method
Firmwarev0.10.0Update via Wuji Studio
Wuji Studiov0.10.0Click to download

Key Updates

Firmware

  • Fixed periodic tactile data dropouts, improving sampling stability.

Wuji Studio

  • Auto-checks for Studio and device firmware updates, surfacing new versions in a toast and the notification center, with one-click navigation to the download page or upgrade view.

2026.04.07

Component Versions

ComponentVersionUpdate Method
Firmwarev0.9.0Update via Wuji Studio
Wuji SDKv0.9.0pip install --upgrade wuji-sdk
Wuji Studiov0.9.0Click to download

Key Updates

  • Fixed some known issues.

2026.03.24

Component Versions

ComponentVersionUpdate Method
Firmwarev0.8.0Update via Wuji Studio
Wuji SDKv0.8.0pip install --upgrade wuji-sdk
Wuji Studiov0.8.0Click to download

Key Updates

  • Fixed some known issues.

2026.03.23

Component Versions

ComponentVersionUpdate Method
Firmwarev0.7.0Update via Wuji Studio
Wuji SDKv0.8.0pip install --upgrade wuji-sdk
Wuji Studiov0.8.0Click to download

Key Updates

  • Improved log availability and reliability during startup and operation.
  • Improved upgrade stability and reduced false upgrade failure reports.

2026.02.14

Component Versions

ComponentVersionUpdate Method
Firmwarev0.6.0Update via Wuji Studio
Wuji SDKv0.6.0pip install --upgrade wuji-sdk
Wuji Studiov0.6.0Click to download

Key Updates

Wuji Studio

  • Added hand skeleton and fingertip pose visualization with per-finger confidence coloring, joint axis display, and opacity settings.
  • Added 3D panel tactile point cloud pressure coloring with standard colormaps (plasma, viridis, etc.) and transfer functions.
  • Added device log panel to bottom bar with source and level filtering.
  • Added LAYOUT panel to the visualization interface for one-click default panel restoration.
  • Raw Messages panel
    • Topic list now uses a tree structure, supporting hierarchical browsing of Topics and Schema fields.
    • Added IMU data display support.
  • Firmware upgrade page shows cumulative update log and displays a warning on downgrade.
  • Added color vision accessibility settings, supporting three common color vision types.
  • 3D view default configuration adapted to TF tree changes.

Wuji SDK

  • Renamed the EmfPose error field to confidence.
  • Added IMU orientation data and the ImuData API (palm, thumb, index, middle, ring, pinky).
  • Added tf/tf_static coordinate transform APIs with waist as the base frame, supporting user-defined wrist offset.
  • Added hand tracking data: tip_poses() (fingertip poses), hand_joint_angles() (21 DoF joint angles), and hand_skeleton() (21 hand keypoints).
  • Added tactile point cloud data: tactile_point_cloud() for 3D tactile visualization.
  • Added the device logging module.
  • Changed the device parameter management API: load_profile()/has_profile() replaced by get()/set()/save_params().

2026.02.09

Component Versions

ComponentVersionUpdate Method
Firmwarev0.4.0Update via Wuji Studio
Wuji SDKv0.5.0pip install wuji-sdk
Wuji Studiov0.5.0Click to download

Key Updates

Introducing Wuji Glove

  • Smart glove with tactile sensing and motion capture.
  • Tactile sensing: Full-hand tactile data with per-zone output (palm, thumb, index, middle, ring, pinky).
  • Motion capture: Fingertip tracking module for 5-finger motion capture.
  • LED indicator: Multi-state, multi-mode feedback for device status.

Wuji Studio launch

  • New desktop application for multi-device connection, device management, and data visualization.
  • Visualization panels: 3D view, Plot, Raw Message, and Tactile Matrix for intuitive data presentation.
  • Device management: Device discovery, connection history, rename, calibrate, export calibration data, and device info.
  • Firmware upgrade: Online download and local firmware upload with progress tracking and error diagnostics.
  • Automatic left/right hand detection during device naming.
  • 3D glove landmark visualization with positioning error mapped to point color.
  • Light and dark theme switching.

Wuji SDK launch

  • Semantic API for Wuji Glove with callback subscription and async support.