// the find
x-tools-author/x-tools
Qt-SerialPort-HID-BLE-UDP-TCP-WebSocket-Modbus-CANBus-MQTT-CoAP-TFTP-mDNS debugging tool, which support custom lua, javascript, chart view and data transmitting...
xTools is a Qt-based desktop debugging toolkit that puts serial port, BLE, CAN bus, Modbus, MQTT, WebSocket, CoAP, and about a dozen other protocols under one roof. It targets embedded and IoT developers who otherwise juggle multiple single-purpose tools. Scripts (Lua and JavaScript) let you transform or generate data without recompiling.
Cross-platform CI is thorough — separate workflows for Windows, macOS, Linux, Android, and even Windows XP/7 legacy targets, with daily builds and AUR packaging. The protocol breadth is genuine: CAN bus with frame filtering, Modbus master/slave simulation, and MQTT client/broker in one binary is unusual and useful. Lua/JS scripting for data processing means you can automate repetitive test sequences without touching C++. The third-party dependency set (hidapi, qmdnsengine, SimpleBLE, open62541 for OPC UA) is well-chosen and all vendored in-tree, so builds don't depend on whatever the host has installed.
The repo bundles binary zips (QXlsx-1.4.7.zip, glog-0.7.1.zip, libiconv-1.18.tar.gz) directly in the tree rather than using CMake FetchContent or a proper package manager, which means updating dependencies is a manual copy-paste job and auditing for CVEs is painful. Documentation is sparse and inconsistent — several protocol pages under docs/ are clearly copy-pasted CoAP skeletons with the wrong content, and the README is mostly badges and screenshots. There's no plugin or extension API beyond the embedded scripting; adding a new protocol means forking and patching C++ source. Android support is listed but gated on an unreleased Qt 6.9.2+ requirement and explicitly marked untested against most Qt versions, so treat it as experimental.