BananaPi BPI-F3 adopts K1 core, SPM8821 PMIC+external DCDC power supply scheme. Storage adopts LPDDR4X and eMMC. There are peripheral devices such as PCIe 2.0 2 lane M.2 KEY M, PCIe 2.0 1 lane MINI PCIe, 4xUSB3.0 TYPE-A, WIFI/BT, TF Card, HDMI TX, MIPI DSI, MIPI CSI, TYPE-C, 2xRJ45, etc. Integrated, integrating a stable and scalable solution.
More Infomation: Banana Pi BPI-F3 Main Page |
Prepare a TTL cable, a 12V PD power supply, USB cable, and a minimum of 8G TF card.
Please download the SD and EMMC images to be burned.
Please note that the image ending with "bianbu-k1-xxx.img.zip" is the SD card image, while the image ending with "bianbu-k1-xxx.zip" is the EMMC image. Please do not make the wrong selection when burning.
Please select the image ending in "bianbu-k1-xxx.img.zip" for Bianbu. Don’t choose the wrong one! |
Balena Etcher is an opensource GUI flash tool by Balena, Flash OS images to SDcard or USB drive.
Click on "Flash from file" to select image.
Click on "Select target" to select USB device.
Click on "Flash!" Start burning.
Remember to connect to the HDMI screen when starting, and then create your own account. |
Please select the image ending in "bianbu-k1-xxx.zip" for Bianbu. Don’t choose the wrong one! |
Install driver software
Double click titantools_for_windows-latest to install. Linux grants executable permissions and can be run by opening titantools_for_Linux-latest without the need for installation.
It is installed on the computer’s C drive by default, and will require a certain amount of space for future use. So please ensure that the remaining available space is greater than 10G (Linux has a Home space greater than 10GB)
Allow this app from unknown publishers to make changes to your device. Then choose to always install this driver software.
If the driver installation is successful, it will prompt that the USB driver installation is successful.
Burn image to EMMC
Click Single Machine Burn (If you need to burn multiple devices simultaneously, click Multiple Machine Burn)
To put the device into flashing mode:
Method 1:
The device is not powered on. Press and hold the DOWNLOAAO (FEL) button, plug in the type-c, and then release the button. (If you are worried about insufficient USB power, you can first plug in the power, then release the button, and then plug in the USB cable)
Method 2:
The device is powered on. Press and hold the DOWNLOAD (FEL) button, then press the Reset button, and then plug in the USB cable.
When connected to a USB HUB, there may be a "Fastboot device initialization failure". |
If the software recognition is successful, a "VID:PID=" display will appear. If there are multiple devices, please select the device you want to burn.
Select the flash file, the software will decompress it, please be patient and wait for a while.
Click to start flashing.
Burn completed, power on again.
The Armbian image currently only supports SD card startup. |
In addition to using titantools, you can also use the dd command to burn the image to emmc. |
Take bianbu-23.10-nas-k1-v1.0rc1-release-20240429192450.img. Unzip the "bianbu-k1-xxx.img.zip" to the USB drive, and then copy the "fsbl.bin" and "bootinfo_emmc.bin" in "bianbu-k1-xxx.zip" to copy it into the USB drive.
Firstly, insert the SD card that has been burned into the image into F3 and power it on to start.
Insert the copied USB drive into F3.
After startup, use the "lsblk" command to view.
pi@k1:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 14.8G 0 disk
└─sda1 8:1 1 14.8G 0 part
mmcblk0 179:8 0 14.8G 0 disk
├─mmcblk0p1 179:9 0 256K 0 part
├─mmcblk0p2 179:10 0 128K 0 part
├─mmcblk0p3 179:11 0 384K 0 part
├─mmcblk0p4 179:12 0 2M 0 part
├─mmcblk0p5 179:13 0 256M 0 part
└─mmcblk0p6 179:14 0 8G 0 part /
mmcblk2 179:8 0 14.6G 0 disk
"sda1" refers to a USB drive, "mmcblk0" refers to an SD card, and "mmcblk2" refers to an EMMC.
Mount the USB drive to mnt first.
sudo mount /dev/sda1 /mnt
cd /mnt
Then use the dd command to burn the image to emmc
sudo dd if=bianbu-23.10-nas-k1-v1.0rc1-release-20240429192450.img of=/dev/mmcblk2 bs=10M
If you enter the lsblk command, you can see BOOT. You can go directly to step 9. |
Next, update the boot0 partition of EMMC. However, some image boot partitions are hidden by default, so you need to modify the cmdline. Mount bootfs:
sudo mount /dev/mmcblk0p5 /boot
sudo nano /boot/env_k1-x.txt
Find Commonargs and add "recovery=1" at the end.
commonargs=setenv bootargs earlycon=${earlycon} earlyprintk console=tty1 console=${console} ${loglevel} clk_ignore_unused rdinit=${init} recovery=1
Save and restart.
sudo reboot
After the restart is completed, you can see the BOOT partition using the lsblk command.
pi@k1:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 14.8G 0 disk
└─sda1 8:1 1 14.8G 0 part
mmcblk0 179:0 0 14.8G 0 disk
├─mmcblk0p1 179:1 0 256K 0 part
├─mmcblk0p2 179:2 0 128K 0 part
├─mmcblk0p3 179:3 0 384K 0 part
├─mmcblk0p4 179:4 0 2M 0 part
├─mmcblk0p5 179:5 0 256M 0 part
└─mmcblk0p6 179:6 0 8G 0 part /
mmcblk2 179:8 0 14.6G 0 disk
├─mmcblk2p1 179:9 0 256K 0 part
├─mmcblk2p2 179:10 0 64K 0 part
├─mmcblk2p3 179:11 0 1M 0 part
├─mmcblk2p4 179:12 0 2M 0 part
├─mmcblk2p5 179:13 0 256M 0 part
└─mmcblk2p6 179:14 0 2G 0 part
mmcblk2boot0 179:16 0 4M 1 disk
mmcblk2boot1 179:24 0 4M 1 disk
Mount a USB drive
sudo mount /dev/sda1 /mnt
cd /mnt
Execute the following command:
echo 0 | sudo tee /sys/block/mmcblk2boot0/force_ro
sudo dd if=bootinfo_emmc.bin of=/dev/mmcblk2boot0
sudo dd if=FSBL.bin of=/dev/mmcblk2boot0 seek=512 bs=1
sync
After waiting for the burning to complete, disconnect the power and remove the SD card and USB drive. Power on again to start from the EMMC.
There are currently issues with the linux-1.0.35_beta version. Please use the Windows version of the tool first. |
Open Titan Tools and click on the mass production tool.
Select the number writing tool. If your software does not have this, please update it.
Select Configure custom fields and change ddr_cs_num from fixed to scan. Click Save and then return.
(If you do not see the ddr_cs_num option, please click Restore Default first)
Select ddr_cs_num. Change 2 to 1.
While holding down the FDL button, connect the type-c cable to the board. After the board is recognized, click Start writing.
After clicking "Start writing number", you may be asked to enter again. Re-enter 1 and press Enter. Wait for the number to be written successfully.
You have two ways to setup WiFi
Use UI interface to setup WiFi
Use commands to setup WiFi
sudo nmcli dev
sudo nmcli r wifi on
sudo nmcli dev wifi
sudo nmcli dev wifi connect "SSID" password "PASSWORD" ifname wlan0
You have two ways to setup BT
Use UI interface to setup BT
Use commands to setup BT
hciconfig
sudo hciconfig hci0 up
hciconfig hci0 noauth
hcitool scan
sudo rfcomm bind /dev/rfcomm0 xx:xx:xx:xx
sudo cat >/dev/rfcomm0
Perform the following three steps to complete the armbian image.
git clone [email protected]:BPI-SINOVOIP/armbian-build.git -b v24.04.30 v24.04.30
cd v24.04.30
./compile.sh build BOARD=bananapif3 BRANCH=legacy BUILD_DESKTOP=yes BUILD_MINIMAL=no DESKTOP_APPGROUPS_SELECTED= DESKTOP_ENVIRONMENT=gnome DESKTOP_ENVIRONMENT_CONFIG_NAME=config_base KERNEL_CONFIGURE=no RELEASE=mantic
echo 0 > /sys/class/pwm/pwmchip1/export
echo 100000 > /sys/class/pwm/pwmchip1/pwm0/period
echo 50000 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle
echo normal > /sys/class/pwm/pwmchip1/pwm0/polarity
echo 1 > /sys/class/pwm/pwmchip1/pwm0/enable