Skip to content

robonxt/HiBusServo

Repository files navigation

HiBusServo Library

A modern library for controlling Hiwonder serial bus servos. Supports position control, continuous rotation, parameter configuration, and status monitoring including temperature and voltage readings.

Breaking Changes / Upgrade Notes

  • [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 constructing HiBusServo.

Features

  • TBD

Requirements

Connections

  • Connect the BusLinker to your microcontroller's hardware serial port (e.g., Serial2 TX 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.

Error handling

  • TBD

Documentation

  • See extras/ for official and cleaned-up protocol documentation for Hiwonder/Lewansoul bus servos and the BusLinker / TTL Debug Board.

Credits

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.

About

Arduino library for controlling Hiwonder serial bus servos

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages