VisionFive 2: My Getting Started Story

I bought a StarFive VisionFive 2 development board (produced by Waveshare) from Amazon Germany and this my getting started experience.

The Waveshare VisionFive 2 development board was available from Amazon for ~120 EUROs incl. taxes and shipping (from China), which I thought was a fairly reasonable price to checkout the state of risc-v today, so I bought one. The board came in a small box which was padded and contained a small plastic container that held the development board.

No stand-offs or spacers were included but I managed to salvage some from another board I was playing with. There is also no charger or usb-c cable but those are easy to source from all my other devices.

Here’s the unboxing pics.

There was no documentation hints in the box so I dropped into Google to try to find out how to get started. The first links led me to the official website which has an official getting started guide as a pdf and as HTML.

The flashing instructions state that there are pre-built Debian system images available on their Google Drive and/or Baidu Drive. I looked through both and found I couldn’t trivially download from the Baidu drive anonymously and through the browser so I stayed with the Google drive links.

Flashing instructions say Debian system images available on their Google Drive or Baidu Drive.

There were some different versions of the files available. I downloaded the Debian system image from the newest version (v65) and flashed it with Balena Etcher to a microSD card. I popped the microSD card into the board, connected the board to my monitor (~34 inch ultrawide) via HDMI, my keyboard/mouse via USB, and my home router via a network cable and powered it up with my phone charger (USB-C).

Nothing.

The screen stayed off and according to my router it didn’t get assigned an IP address via DHCP.

I began the archeological dig through forum posts, reddit posts, and blog posts:

I learned that older versions of the board needed a “complex” firmware update process and newer versions of the board can be more trivially updated. I had some luck here and learned my board was the newer version.

It took some time to narrow down the flashing instructions for my board version since there was a sea of varying flashing instructions because of the mixed versions but I eventually narrowed it down. I simply needed to download three files from the VisionFive2 GitHub project and use them to update the the board firmware.

I used Balena Etcher to write the sdcard.img to the microSD card and booted the board up. This showed me a a boot up sequence indicating it was some customised system image built with buildroot. I scp’ed the two firmware files via network to the running system and then used the flashcp commands to update the firmware.

At first this didn’t work seem to work as when I next tried to boot the Debian system image again it still didn’t respond but I found it was because I had used an older version of the firmware update files. (The result of me following a direct link from another blog post to download the firmware files which linked to an older release. After navigating directly to the project’s GitHub releases page and ensuring I used the latest files, I was able to flash the latest version of the files which then enabled the Debian system image to boot.

Later I found this blog post that matches what I had to work through. It was a pity I didn’t catch that post earlier.

Now I have a booting board. One thing to note though is that although it seems to work with my 34” monitor, the colours are coming out wrong with some kind of pink/purple tint. My next plans are to try booting up a Fedora system image on the board to check out the state of Fedora on risc-v.

P.S. A good quality review that I found on the board’s performance.

https://www.cnx-software.com/2023/02/12/starfive-visionfive-2-sbc-review-debian-12