The Pine64 Ox64 is a single-board computer featuring a Bouffalo Lab BL808 dual-core 64-bit RISC-V processor with up to 64 MB of built-in RAM, wireless interfaces for WiFi 4, Bluetooth 5.0, and 802.15.4 (Zigbee), as well as an AI accelerator.
Core |
64-bit 480MHz RV64 C906 (RISC-V)
(based on Bouffalo Lab BL808) Supports official RISC-V Linux |
---|---|
Memory |
|
Interfaces |
|
Network |
|
Expansion Ports |
|
📄 Bouffalo Lab BL808 SoC datasheet (1213 kB)
Ox64: Datasheets
The Pine64 documentation offers several alternatives for connecting the Ox64 to a PC via UART. I chose the solution using a Raspberry Pi Pico. To do this, the following connections must first be made:
First, the Pico must be put into boot mode. This means it must be disconnected from the power supply.
Then, press and hold the BOOTSEL
button while connecting the Pico to the PC via a Micro-USB cable.
The Pico should now appear as a standalone drive in the file system.
From the repository Kris-Sekula/Pine64_Ox64_SBC,
download the file picoprobe.uf2
and drag it onto the Pico's drive. After a short moment, the Pico will reboot
and is now flashed with the new firmware. (The Pico will no longer be visible as a drive)
You should now see two new devices appear in Device Manager (in my case COM12 and COM13). For the following instructions, it is important to know that the lower port represents the Linux port, and the higher port is used for flashing the firmware.
First, two different software packages need to be downloaded: the program
DevCube for flashing the firmware, and the actual firmware itself.
The firmware can be found in the repository https://github.com/openbouffalo/buildroot_bouffalo
under Releases. Download the file bl808-linux-pine64_ox64_full_defconfig.tar.gz
and extract it on your PC.
According to openbouffalo's instructions, DevCube must be version 1.8.3 — newer versions seem to not work. (BouffaloLabDevCube-v1.8.3.zip) Normally, newer versions are downloaded from http://dev.bouffalolab.com/download.
The next step is to put the Ox64 into boot mode by pressing and holding the BOOT
button
while connecting VBUS
to the Pico. (Make sure the connection is unplugged beforehand)
Now start DevCube, select BL808
as the chip, and switch to the MCU
tab.
Apply the following settings:
For the second step, switch to the IOT
tab and apply the following settings:
You can now close DevCube and disconnect the Ox64 from the power supply (VBUS
).
You now need an empty SD card (in this case, 16GB) to load Linux onto it.
For this, you can use the software Etcher.
Warning: All data on the SD card will be overwritten!
Open Etcher and select the image sdcard-pine64_ox64_full_defconfig.img.xz
from the folder
where the firmware was previously downloaded. After selecting the target drive, Linux can be flashed to the SD card.
Warning: Always make sure the correct drive with the SD card is selected!
After clicking Flash!, it may take some time (~10 minutes) for the Linux image to be successfully written to the SD card. Once complete, you can close Etcher and insert the prepared SD card into the Ox64's slot.
First, connect to the lower of the two ports (here: COM12) using a terminal program (e.g., PuTTY) with a baud rate of 2000000:
Now reconnect the Ox64 to VBUS
, and you should immediately see U-Boot booting
in the serial console.
There is an artificial delay of 5 seconds, allowing you to interrupt the boot process if necessary. Then, Linux will start, and the login screen will appear. (Login using root with no password)
You can now try out some commands to test the system:
Unfortunately, to the best of my knowledge, there are currently no drivers available for Wi-Fi, USB, etc., which will hopefully be provided in the future. I also haven't found any libraries or similar tools for accessing the GPIOs yet. Once these are in place, I see great potential in this little board. 😎