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
| Component | Version | Update Method |
|---|---|---|
| Wuji SDK | v2026.8.3 | pip install --upgrade wuji-sdk |
| Wuji Description | v2026.8.3 | Click 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-exportbuild — see the motion guide. -
C SDK: Added
wuji_glove_set_tactile_binary_sensitivityfor standalonetactile_binaryobservation 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.cfor inspecting the current SDK user, creating or updating named users, and switching users before calibration. -
Added
tactile_residualobservation examples — the continuous signed signal behindtactile_binary, where you set your own contact threshold instead of using a built-in one. Python:glove.tactile_residual(), C:wuji_glove_subscribe_tactile_residualtyped callback. Calibrate the glove first.
Changed:
- The C IK calibration example is now
examples/c/wuji_glove/4_user_calibration.c(renamed from3_user_calibration.c) and calibrates the SDK user you are already on instead of creating or switching one — use the new3_user_management.cexample first if you need to create or switch users. It also gained a--blockingmode, 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
| Component | Version | Update Method |
|---|---|---|
| Firmware | v0.11.2 | 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
- 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_profilecalibration option is deprecated and ignored (passing it emits aDeprecationWarning). The calibration result was simplified tohandednessplus a singlecalibrated_urdfpath, and thecalibration.hand_profileandcalibration.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_dirparameter 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_importmove a user's data as a portable.zipbundle, andwuji_user_data_previewvalidates and lists a bundle's contents without writing to disk. All three return aWujiStatus— callwuji_last_error()for the message on failure.WUJI_STATUS_ERR_NOT_FOUNDmeans the bundle file doesn't exist, andWUJI_STATUS_ERR_INVALID_DATAmeans the bundle is present but fails validation (corrupt zip, bad manifest, checksum mismatch, or unsafe path) - Added device type at scan time:
WujiDiscovered.device_idis now aWujiDeviceTypeenum (WUJI_DEVICE_TYPE_WUJI_GLOVE/_WUJI_HAND_2/_WUJI_HAND/_UNKNOWN) andWujiDiscovered.modelcarries the readable type string, so you can tell what a device is before connecting
Breaking changes (C SDK):
WujiConnectOptionschanged layout to match PythonConnectOptionsfor bridge and background time-sync settings. Rebuild C applications against the updatedwuji_sdk.h, and callwuji_connect_options_default()before overriding fields when passing non-NULL options, or passopts_or_null = NULLto 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
.zipfrom 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) andPico-tracker-attachment.STEP(a Pico tracker adapter), both STEP AP214 assemblies for mechanical integration
2026.07.01
Component Versions
| Component | Version | Update Method |
|---|---|---|
| Firmware | v0.11.1 | Update 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
| Component | Version | Update Method |
|---|---|---|
| Wuji SDK | v2026.6.18 | pip install --upgrade wuji-sdk |
| Wuji Studio | v2026.6.18 | Click to download |
| Firmware | v0.11.0 | Update 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_binaryframes 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
| Component | Version | Update Method |
|---|---|---|
| Wuji SDK | v2026.6.16 | pip install --upgrade wuji-sdk |
| Wuji Studio | v2026.6.15 | Click to download |
| Wuji Description | v2026.6.12 | Click to download |
Key Updates
Wuji SDK
- Added
glove.tactile_residual()publishing 768 continuous contact-residual values at the same rate astactile(positive = pressed, ~0 = no contact,-1.0= invalid), mirroringTactileFrameshape so existing tactile-grid visualizers work unchanged. Apply your own thresholding instead of the built-intactile_binaryoutput. - 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), forx86_64-linux-gnu/aarch64-linux-gnu/aarch64-android. - Hand pose solving now runs in parallel, reducing compute time behind
hand_joint_anglesand derived hand-tracking data, output values and schemas unchanged. - Added Python calibration API
glove.calibrate()/calibrate_blocking()with timeout, constraint-skip, andon_feedbackcallback. 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_useretc.) 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.recordingextension 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.subscribeTopicnow requires therobotics.topics.readpermission, extensions must declare it underpermissionsinwujistudio.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
| Component | Version | Update Method |
|---|---|---|
| Wuji SDK | v0.10.0 | pip install --upgrade wuji-sdk |
| Wuji Studio | v2026.5.18 | Click to download |
Key Updates
Wuji SDK
hand_joint_anglesandtip_posesnow derive from the URDF kinematic chain. Output schemas are unchanged, but numerical values may differ from previous versions.- Removed
glove.tactile_raw()— subscribe toglove.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, andlast_downtime_msfor 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_statesin real time.
2026.04.28
Component Versions
| Component | Version | Update Method |
|---|---|---|
| Firmware | v0.10.1 | Update via Wuji Studio |
Key Updates
- Fixed some known issues.
2026.04.27
Component Versions
| Component | Version | Update Method |
|---|---|---|
| Firmware | v0.10.0 | Update via Wuji Studio |
| Wuji Studio | v0.10.0 | Click 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
| Component | Version | Update Method |
|---|---|---|
| Firmware | v0.9.0 | Update via Wuji Studio |
| Wuji SDK | v0.9.0 | pip install --upgrade wuji-sdk |
| Wuji Studio | v0.9.0 | Click to download |
Key Updates
- Fixed some known issues.
2026.03.24
Component Versions
| Component | Version | Update Method |
|---|---|---|
| Firmware | v0.8.0 | Update via Wuji Studio |
| Wuji SDK | v0.8.0 | pip install --upgrade wuji-sdk |
| Wuji Studio | v0.8.0 | Click to download |
Key Updates
- Fixed some known issues.
2026.03.23
Component Versions
| Component | Version | Update Method |
|---|---|---|
| Firmware | v0.7.0 | Update via Wuji Studio |
| Wuji SDK | v0.8.0 | pip install --upgrade wuji-sdk |
| Wuji Studio | v0.8.0 | Click 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
| Component | Version | Update Method |
|---|---|---|
| Firmware | v0.6.0 | Update via Wuji Studio |
| Wuji SDK | v0.6.0 | pip install --upgrade wuji-sdk |
| Wuji Studio | v0.6.0 | Click 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
EmfPoseerrorfield toconfidence. - Added IMU orientation data and the
ImuDataAPI (palm, thumb, index, middle, ring, pinky). - Added
tf/tf_staticcoordinate transform APIs withwaistas the base frame, supporting user-defined wrist offset. - Added hand tracking data:
tip_poses()(fingertip poses),hand_joint_angles()(21 DoF joint angles), andhand_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 byget()/set()/save_params().
2026.02.09
Component Versions
| Component | Version | Update Method |
|---|---|---|
| Firmware | v0.4.0 | Update via Wuji Studio |
| Wuji SDK | v0.5.0 | pip install wuji-sdk |
| Wuji Studio | v0.5.0 | Click 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.