// the find
emericg/SmartServoFramework
A multi-platform C++ framework used to drive Dynamixel and HerkuleX smart actuators, and its control GUI.
A C++ library for talking to Dynamixel and HerkuleX smart servos over serial, covering everything from the low-level packet protocol up to a background-thread controller that syncs register state automatically. Comes with a Qt GUI for scanning, inspecting, and tweaking servo registers directly. Aimed at robotics developers who want something between raw serial and the official Robotis SDK.
Covers both Dynamixel protocol v1 and v2 in one library, which matters if you have a mixed fleet of old AX servos and newer X-series. The two-tier API design is honest — Simple API for quick moves, Managed API for a controller loop — rather than pretending one size fits all. Cross-platform serial port abstraction is done properly with per-OS implementations rather than a wrapper that breaks on edge cases. The included Qt GUI is genuinely useful for bench work: scanning all IDs across all baud rates, live register tables, and specs bundled in.
Abandoned since June 2021 — Dynamixel's X-series firmware has moved on, and PRO/P-series support is still marked experimental with no real hardware testing. The Managed API is explicitly called 'not entirely stable' in the README, which is a problem if you're building anything that needs reliable position control in a loop. Build system is a mess: CMake for the library, SCons for the examples, qmake for the GUI — three separate tools with no unified build. Travis CI and AppVeyor badges are both broken/archived, so you have no idea if the current code even compiles on modern toolchains without trying it yourself.