Banana Pi BPI-F3 (bananapi-bpi-f3)
Appearance
![]() | |
Manufacturer | Banana Pi |
---|---|
Name | BPI-F3 |
Codename | bananapi-bpi-f3 |
Released | 2024 |
Type | single board computer |
Hardware | |
Chipset | SpacemiT K1 |
CPU | 8x SpacemiT X60 @ 1.6 / 2.0 GHz |
GPU | IMG BXE-2-32 |
Storage | SD Card, NVMe, or 8 / 16 / 32 / 128 GB eMMC |
Memory | 2 / 4 / 8 / 16 GB 64bit LPDDR4X |
Architecture | riscv64 |
Software | |
Original software | Bianbu Linux |
postmarketOS | |
Category | testing |
Pre-built images | no |
Flashing |
No data |
---|---|
USB Networking |
No data |
Internal storage |
No data |
SD card |
Works |
Screen |
Works |
Multimedia | |
3D Acceleration |
No data |
Audio |
No data |
Camera |
No data |
Connectivity | |
WiFi |
No data |
Bluetooth |
Broken |
Ethernet |
Works |
Miscellaneous | |
USB-A |
Works |
USB OTG |
No data |
HDMI/DP |
Works |
Sensors | |
Power Sensor |
No data |
This device is based on the SpacemiT Key Stone K1. See the SoC page for common tips, guides and troubleshooting steps |
Contributors
Users owning this device
- Haui2 (Notes: Same issue as the roma pad. Needs specific sd card layout.)
How to enter flash mode
Use the download button or the DIP switch.
Installation
The company who builds the processor (Spacemit) also makes the Linux distribution that comes with it (Bianbu Linux) and holds the key to the proprietary u-boot fork that they make.
So currently you have to burn the bianbu image to an sd card and exchange the content of the rootfs with the one of the postmarketOS build.
We will update this once it has been figured out.
Resources
Documentation
Articles
Software
GPIO
PIN | Function | Function | PIN |
---|---|---|---|
1 | VCC3V3_SYS | VCC5V0_OUT | 2 |
3 | AP_I2C4_SDA_3V3 | VCC5V0_OUT | 4 |
5 | AP_I2C4_SCL_3V3 | GND | 6 |
7 | GPIO_70_3V3 / JTAG TDI | R_UART0_TXD_3V3 | 8 |
9 | GND | R_UART0_RXD_3V3 | 10 |
11 | GPIO_71_3V3 / JTAG TMS | GPIO_74_3V3 | 12 |
13 | GPIO_72_3V3 / JTAG TCK | GND | 14 |
15 | GPIO_73_3V3 / JTAG TDO | GPIO_91_3V3 | 16 |
17 | VCC3V3_SYS | GPIO_92_3V3 | 18 |
19 | SPI3_MOSI_3V3 | GND | 20 |
21 | SPI3_MISO_3V3 | GPIO_49_3V3 | 22 |
23 | SPI3_SCLK_3V3 | SPI3_CS_3V3 | 24 |
25 | GND | GPIO_50_3V3 | 26 |
DIP switches
Front
QSPI_DATA1 | QSPI_DATA0 | Function |
---|---|---|
0 | 0 | TF Card -> EMMC |
1 | 0 | TF Card -> SPI NOR |
0 | 1 | TF Card -> SPI NAND |
1 | 1 | TF Card -> SD |
QSPI_DATA3 | Function |
---|---|
0 | Normal boot |
1 | Download mode |
QSPI_DATA2 | Function |
---|---|
0 | USB |
1 | UART |
Back
There are pads on the back for a DIP switch.
1K resistor to VCC | |
---|---|
JTAG_SEL | Function |
0 | GPIO (off) |
1 | JTAG |
10K resistor to GND | |
---|---|
MMC1_CMD | Route |
0 | X60 |
1 | N308 |
Boot process
Firmware (?) -> U-boot SPL (128K) -> OpenSBI (1M) (?) -> U-boot (2M) -> kernel
Spacemit k1 Firmware
raw | raw | gpt | fsbl | env | opensbi | uboot | bootfs | rootfs |
---|---|---|---|---|---|---|---|---|
bootinfo_emmc.bin | FSBL.bin | fw_dynamic.itb | u-boot.itb | bootfs.img: Image, kernel.dtb, env.txt, bootlogo | rootfs.img | |||
boot0--> | user_data area--> |
bootinfo_sd.bin | fw_dynamic.itb | u-boot.itb | bootfs.img: Image, kernel.dtb, env.txt, bootlogo | rootfs.img | |||
---|---|---|---|---|---|---|---|
gpt | fsbl | env | opensbi | uboot | bootfs | rootfs | |
user_data area --> |
bootinfo_spinor.bin | FSBL.bin | fw_dynamic.itb | u-boot.itb | bootfs.img: Image, kernel.dtb, env.txt, bootlogo | rootfs.img | |||
---|---|---|---|---|---|---|---|---|
bootinfo | fsbl | env | opensbi | uboot | gpt | bootfs | rootfs | |
nor 0x0 | ssd 0x0 |
https://bianbu-linux.spacemit.com/en/device/boot/