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 = 0enum 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.,MotorStatusData→CMotorStatusData) linux/andwindows/example directories deprecated, migrate toc/
📚 Migration Guide
See CHANGELOG.md
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
- Revo1 Basic and Touch versions can use any SDK version
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_sequencefor 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:
setcommands 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)
🐛 Bug Fixes
- Fixed known issues and improved stability
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 ambiguitycanfd_init(uint8_t master_id)updated naming to avoid ambiguityinit_cfgno longer requires firmware type, automatically obtained viaget_device_infointerface
📚 Example Code
- ROS2 examples added CAN/CANFD support
- New CAN/CANFD C++ examples
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:
ModbusContext→DeviceContext(more universal device context)ModbusHandler→DeviceHandler(unified device operation interface)
🛠 Development Tools
- Integrated
python-stub-gentoolchain 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_statusfor single-finger touch detection
🔧 Improvements
- Simplified
modbus_openfunction, removed redundant parameters
v0.4.4 (2025/05/06)
🚀 New Features
- Added CANFD protocol support
� Bug Fiixes
- 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