A modern library for controlling Hiwonder serial bus servos. Supports position control, continuous rotation, parameter configuration, and status monitoring including temperature and voltage readings.
- [AS OF v0.0.4+] Serial initialization is the user's responsibility.
HiBusServo::begin(long speed)has been removed from the library API.- You must configure the underlying hardware serial port yourself in
setup(). For example:Serial2.begin(115200); HiBusServo myServo(Serial2);
- Existing sketches that relied on
HiBusServo::begin()must be updated to initialize the serial port directly before constructingHiBusServo.
- TBD
- Microcontroller with multiple hardware serial ports (e.g., Arduino Mega, ESP32, or Raspberry Pi Pico)
- Hiwonder BusLinker (also known as Hiwonder TTL / USB Debugging Board)
- Hiwonder Serial Bus Servos (e.g., LX-16A)
- Connect the BusLinker to your microcontroller's hardware serial port (e.g.,
Serial2TX and RX pins). - Connect servos to the BusLinker's servo ports.
- Provide an appropriate power supply to the BusLinker/servos (typically 6V to 8.4V).
- Ensure a common ground between the microcontroller and BusLinker power supply.
- TBD
- See
extras/for official and cleaned-up protocol documentation for Hiwonder/Lewansoul bus servos and the BusLinker / TTL Debug Board.
Created by robonxt
Thanks to (In no particular order):
- Hiwonder (formerly known as Lewansoul, and even older as Lobot) for the original code and documentation.
- madhephaestus for the OG lx16a Arduino library (used as reference).
- ethanlipson and maximkulkin for Python libraries (used as references)
- Windsurf (formerly known as Codeium) for their AI code completion and refactoring tools.
- Google for Google AI Studio, used for cross-checking with official and third-party libraries and documentation.