CircuitPython Libraries
Adafruit Motor
Adafruit's Logo
The adafruit_motor library's first release dates back to 2017, however, it is worth noting that, there are previous libraries from Adafruit Industries that serve the same purpose as adafruit_motor, but, these libraries are known by other names and, are incompatible with CircuitPython, this library's development is often attributed to Scott Shawcroft as it's main developer, as expected, this library's main purpose is to ease using motors and servomotors with microcontrollers in CircuitPython [1].
This library serves the same purpose in Klevor, it is used by the Raspberry Pi Pico 2WH which then communicates with the ESC to control the motor and servomotor to be able to drive Klevor.
Adafruit BNO08X
The adafruit_bno08x is also developed and maintained by Adafruit Industries, its oldest version was launched in September 22nd, 2020 (version 1.0.0), this library is also being maintained by Adafruit Industries, the person in charge of this library, and, who the work is attributed to, is Bryan Siepert [2].
The main purpose of this library is to receive all the BNO08X sensor's data and to simplify the way the users manage its data, like for example, simplify the calculations of quaternions (similar to a 3D vector), to be able to manage its relative position.
As for Klevor, we used this library along the gyroscope, the main purpose is to, whenever Klevor is turning in the middle of the game field, it can easily determine its yaw angle and, to determine when it has turned exactly 90 degrees and continue with the Obstacle Detection.
References
-
Shawcroft, S. (2025). Adafruit motor Library. https://docs.circuitpython.org/projects/motor/en/latest/
-
Siepert, B. (2025). Adafruit BNO08X Library. https://docs.circuitpython.org/projects/bno08x/en/latest/