Skip to content

Get SDK

SDK Overview

The Dexterous Hand SDK (Software Development Kit) is a comprehensive software toolkit designed for dexterous hand device development, providing complete programming interfaces and control functions. The SDK targets developers in robotics, prosthetics, and industrial automation, supporting both Python and C++ programming languages with rich example code to help you get started quickly.

Download & Resources

SDK Repository

GitHub - stark-serialport-example

Example Code

Release Notes

v1.1.5 (2026/02/09)

🐛 Bug Fixes

  • Fixed CANFD boundary check issue
  • SocketCAN scan now iterates all interfaces

🚀 New Features

  • SocketCAN Python bindings (init_socketcan_canfd, close_socketcan, socketcan_scan_devices)
  • Device context query APIs: stark_get_protocol_type, stark_get_port_name, stark_get_baudrate, etc.
  • CAN device initialization: init_device_handler_can() / init_device_handler_can_with_hw_type()
  • StarkProtocolType::Auto = 0 enum value for auto-detecting all protocols

🔧 Example Improvements

  • Runtime CAN backend selection, new communication frequency test utilities

v1.1.3 (2026/02/06)

🚀 New Features

  • Built-in SocketCAN Support (Linux) - No external code required
  • Protobuf Protocol Support - Revo1 serial protocol, baud rate 115200, Slave ID 10-254

v1.1.0 (2025/02/05)

🚀 New Features

  • Built-in ZQWL CAN adapter support (Linux / macOS / Windows, no extra DLL needed)
  • Unified device auto-detection API: auto_detect()init_from_detected()close_device_handler()
  • Stark 1.8 tactile support (RS-485 / CAN protocols)
  • Cross-platform C++ examples (c/demo/)
  • Python GUI debugging tools (motor control, tactile data, waveform monitoring)

⚠️ Breaking Changes

  • Hardware type enum refactored, added Revo1Advanced / Revo1AdvancedTouch
  • API renamed: is_revo1()uses_revo1_motor_api(), is_revo2()uses_revo2_motor_api()
  • Initialization split: init_config()init_logging() + init_device_handler()
  • C structs prefixed with C (e.g., MotorStatusDataCMotorStatusData)
  • linux/ and windows/ example directories deprecated, migrate to c/

📚 Migration Guide

See CHANGELOG.md


v1.0.6 (2025/01/26)

🚀 New Features

  • New Hardware: Revo1Advanced (BCMEL/BCMER), Revo1AdvancedTouch (BCMTL2/BCMTR2)
  • Auto Serial Detection: Hardware type auto-detection by serial number prefix
  • Status Reading Optimization: Multi-threaded collection, passive reading, improved performance
  • SocketCAN Support: New SocketCAN backend for Linux
  • Auto-Detection Enhancement: Multi-port traversal, protocol auto-recognition, Quick/Full scan modes

🐛 Bug Fixes

  • Fixed physical quantity mode 1000x scaling issue
  • Fixed RS-485 firmware upgrade baud rate detection

📚 Examples

  • Added revo2_touch_collector.py motor/tactile status example
  • Added revo2_timing_test_gui.py timing test GUI tool

⚠️ Note

  • Revo1Advanced devices should use examples from revo2 directory

v1.0.1 (2025/12/23)

🚀 New Features

  • Support for EtherCAT multi-slave communication

v1.0.0 (2025/12/08)

🎉 Official Release

  • Detail optimizations and official upgrade to version 1.0

v0.9.9 (2025/11/19)

🚀 New Features

  • Support for Revo1 Advanced version devices
  • Unified control parameter ranges: 0~1000 for position, -1000~+1000 for speed/current/PWM
  • Applicable to all Modbus, CANFD, and CAN2.0 communication protocols

⚠️ Important Notice

  • Revo1 Advanced version requires SDK v0.9.9 or higher

v0.9.8 (2025/11/04)

🚀 New Features

  • CAN/CANFD Protocol: Complete Revo2 CAN2.0/CANFD communication stack
  • ZLG CAN Support: Python interface (Windows/Linux) with driver library
  • CANFD Chunked R/W: Support for large data transfer (>29 registers)
  • EtherCAT Tactile: Tactile sensor data collection (PDO/SDO)
  • Pressure Tactile: EtherCAT/CANFD/RS-485 multi-protocol support
  • Protected Current: ProtectedCurrent R/W for CAN/EtherCAT
  • Action Sequence: run_action_sequence for CAN 2.0
  • Device Type Detection: Serial number based (get_hardware_by_sn)
  • Multi-Device Support: Revo1/Revo2 mixed usage

⚡ High-Frequency Communication Optimization

  • C/C++ Async Calls: set commands now async, non-blocking
  • High-Freq No Retry: get/set_finger_*, tactile reads - prevents command queue buildup
  • Low-Freq Retry Reduced: Device info reads reduced to 2 retries

🐛 Bug Fixes

  • Fixed TurboConfig byte order, Modbus C API async calls, OTA package size handling

v0.9.0 (2025/09/20)

🚀 New Features

  • Added CAN2.0 protocol support for second-generation dexterous hand
  • Added EtherCAT protocol support for second-generation dexterous hand tactile version

🐛 Bug Fixes

  • Fixed known issues and improved stability

v0.8.8 (2025/09/02)

🚀 New Features

  • Added CAN2.0 protocol support for second-generation dexterous hand

v0.8.6 (2025/08/20)

🚀 New Features

  • Added CAN2.0 protocol support for first-generation dexterous hand

🔧 API Improvements

  • Function naming optimization:
    • modbus_stark_ (more universal prefix for CANFD and EtherCAT)
    • create_device_handler() updated naming to avoid ambiguity
    • canfd_init(uint8_t master_id) updated naming to avoid ambiguity
    • init_cfg no longer requires firmware type, automatically obtained via get_device_info interface

📚 Example Code

  • ROS2 examples added CAN/CANFD support
  • New CAN/CANFD C++ examples

v0.7.8 (2025/07/31)

🚀 New Features

  • EtherCAT firmware added DC synchronization functionality

v0.7.3 (2025/07/28)

🐛 Bug Fixes

  • Fixed protocol MasterID configuration in CANFD communication
  • Fixed PDO reading position issue in EtherCAT communication
  • Fixed error in MotorStatusData description field

v0.7.0 (2025/07/18)

🚀 New Features

  • Auto-detection of Modbus slave baud rate and device ID
  • Second-generation dexterous hand tactile version interface support

🐛 Bug Fixes

  • Fixed DFU firmware upgrade issues

v0.6.2 (2025/07/14)

🚀 New Features

  • EtherCAT Protocol Support: Second-generation dexterous hand supports EtherCAT high-speed communication
  • Extended RS485 Baud Rates: Added 1M, 2M, and 5M baud rate options for high-performance applications
  • Linux Serial Port Optimization: LOW_LATENCY mode enabled by default, 400% communication frequency improvement at 460800 baud

🔧 API Improvements

  • Refactored device context naming:
    • ModbusContextDeviceContext (more universal device context)
    • ModbusHandlerDeviceHandler (unified device operation interface)

🛠 Development Tools

  • Integrated python-stub-gen toolchain for automatic type stub file (.pyi) generation, enhancing IDE intellisense and type checking

⚠️ Compatibility Notice

  • Please note API naming changes when migrating from older versions

v0.5.3 (2025/06/12)

🚀 New Features

  • Custom Modbus read/write interfaces
  • Action sequence control
  • LED, buzzer, vibration motor control

🐛 Bug Fixes

  • Fixed real-time position/speed/current return value errors

v0.4.5 (2025/05/14)

🚀 New Features

  • Added get_single_touch_status for single-finger touch detection

🔧 Improvements

  • Simplified modbus_open function, removed redundant parameters

v0.4.4 (2025/05/06)

🚀 New Features

  • Added CANFD protocol support

🐛 Bug Fixes

  • Fixed multiple known issues, improved stability

v0.3.6 (2025/04/16)

🎉 Milestone

  • First support for Gen 2 dexterous hand
  • Established basic communication framework

v0.1.9 (2025/03/17)

📌 Initial Release

  • Modbus communication protocol
  • Python / C code integration
  • SDK architecture