Python Library Status Updates for VisionFive Series SBC

VisionFive.gpio, developed and maintained by the StarFive software team, is a Python library that provides a convenient interface for accessing and controlling the General Purpose Input/Output (GPIO) pins on a VisionFive or VisionFive 2 SBC. GPIO pins allow you to connect and interact with various electronic components, such as sensors, LEDs, buttons, and more, enabling you to create interactive projects and prototypes by using VisionFive or VisionFive 2 SBC.

Project Address: VisionFive.gpio · PyPI

The VisionFive.gpio library offers a straightforward way for users to manipulate the GPIO pins using Python code. It abstracts the low-level details of interacting with the hardware, allowing you to focus on your project’s functionality.
The key features of VisionFive.gpio include:

Pin control:

You can set the mode of a pin as input or output, read the input value, and control the output value by setting it high (3.3V) or low (0V).

Events and callbacks:

You can register event handlers and callbacks to trigger specific actions based on changes in the input pin state, such as detecting button presses or sensor readings.

PWM (Pulse Width Modulation):

VisionFive.gpio supports software-based PWM, which allows you to control the intensity of LEDs, control servos, and generate signals of different frequencies.


VisionFive.gpio supports I2C function, which allows you to control HAT.
To start using VisionFive.gpio, install the library on your VisionFive or VisionFive 2. The Python project address is:

The project also provides a series of sample codes for reference, and detailed documentation is released at

VisionFive: Application Notes

VisionFive 2: Application Center

More documents are coming soon. Stay tuned!