So you have a new board, that you want to get working with Blinka, our CircuitPython library compatibility layer for Single Board Computers, or SBCs. Adding a board to Blinka is a 2-part process with the first step being to add it to
PlatformDetect so that Blinka knows what board it is working with.
The way that Blinka works is it combines multiple techniques to access the parts of the board that it needs. For GPIO, libraries such as
libgpiod are used. For I2C, the PureIO python library is used, and for SPI, we are using the spidev python library.
When it comes to Blinka itself, there are two main components that need to be defined.
- First there is the chip, which is the microprocessor definition.
- Second, there is the board definition.
The chip defines which pins of the microprocessor are used by the GPIO library and the board defines which physical pin on the board maps to the pins defined by the chip file. There can be multiple boards that all use the same chip, but the specific implementation may be slightly different. For example, there are many Raspberry Pi computers, but many share the same Broadcom chips. This is why it is important to detect both the chip and the board.
In this guide, we will be going over what steps are needed to add a board such as the Pine A64 to PlatformDetect.