The support for open-source RISC-V hardware continues to improve across the board as more board manufacturers continue to adopt them and ship high quality boards powered by RISC-V. Today we’ll be looking at the Sipeed LicheeRV.
It’s honestly one of the most exciting single board computer products I’ve seen in a while. It’s basically the RISC-V version of a Pi Compute Module! These are small modules that are meant to be used with different docks / IO boards. They can be swapped between the different docks and will gain different capabilities based on what the dock has just like a dock for your laptop / other devices.
Not only that, this board is now officially supported by Ubuntu! Not only do you have an awesome form factor but you now have a very serious mainstream operating system that is supporting the board and architecture. I’ll also benchmark the device and tell you what to expect performance wise.
Let’s get started!
The LicheeRV Dock runs the RISC-V architecture with a Allwinner D1 1.0 GHz CPU. It uses 2 M.2 connectors side by side as the connection between the dock and the LicheeRV.
The Geekworm copper heatsink set is designed to fit many different single board computers. It uses thermal conductive adhesive which many “cheap” heatsink kits for SBCs don’t have. Eliminates hotspots and reduces throttling. Can be further enhanced by powered cooling over the heatsinks.
- Allwinner D1 chip (Based on T-Head XuanTie C906 core)
- Up to 1GHZ
- 512MB 16bit DDR3
- Up to 792MHz
- Onboard SD card slot
- Reserved SD-NAND pads
- MIPI: 4-lane MIPI DSI
- RGB: RGB888 interface(partially multiplexed with DSI)
- MCU: I80 interface
- SPI: Onboard 8pins SPI screen interface – can be used for 1.14 inch screen
- Analog audio headphone output (HP OUT);
- Analog audio line input (LINE IN);
- Digital Audio (I2S/SPDIF);
- Analog microphone interface (MIC3);
- Digital microphone interface (DMIC);
- All above pin out to connecting finger
- Pin out RMII/RGMII to connecting finger (Multiplexed with some GPIOs)
- Onboard Type-C USB-OTG interface (USB0)
- USB-HOST pins out to connecting finger (USB1)
- FEL key (Enter download mode)
The build quality is fantastic especially for the price. It uses two M.2 connectors for the board to mount to the dock.
First let’s take a look at the module outside of the dock:
As you can see it’s incredibly small. I left the micro SD card in the device so you could get a sense of how small it actually is. It’s smaller than a Pi Zero. Quite a bit smaller actually.
Here’s a look at the dock without the module inserted:
And the bottom of the dock:
Everything is printed clearly and easy to read. The connectors feel like they can handle a lot of abuse. It’s probably a good thing they went with a standard tried-and-true connector like the M.2 standard.
The official operating system is Tina Linux which is a very small distribution meant for low power systems. I definitely recommend using the Ubuntu Server image personally and that is what I’ll be testing with today.
Benchmarking I/O Performance
You can verify the performance of your drive on Pi Benchmarks using the following command:
sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash
Here are the results:
Category Test Result HDParm Disk Read 11.38 MB/s HDParm Cached Disk Read 11.38 MB/s DD Disk Write 9.8 MB/s FIO 4k random read 1521 IOPS (6085 KB/s) FIO 4k random write 614 IOPS (2456 KB/s) IOZone 4k read 4458 KB/s IOZone 4k write 1878 KB/s IOZone 4k random read 4177 KB/s IOZone 4k random write 1991 KB/s Score: 652
This is pretty close to the score the Mango Pi MQ Pro got (another RISC-V board that shares the same D1 processor) . This is exactly where we should be.
Keep in mind that as a single core 1 GHz CPU this board is not meant to handle heavy loads. It is meant for light services and applications essentially.
Connecting to WiFi (persistently) with Ubuntu
First make sure you’ve installed the wireless driver for the Lichee RV with:
sudo apt install licheerv-rtl8723ds-dkms
Note: Building the WiFi driver will take a very long time (over an hour).
Since this is Ubuntu we need to use netplan to set up the WiFi connection. To do this we will edit the file /etc/netplan/50-cloud-init.yaml:
sudo nano /etc/netplan/50-cloud-init.yaml
We are going to modify the file and add the “wifis” section like this:
network: ethernets: zz-all-en: dhcp4: true match: name: en* optional: true zz-all-eth: dhcp4: true match: name: eth* optional: true version: 2 wifis: wlan0: optional: true access-points: "YourSSID": password: "YourPassword" dhcp4: true
Note that the spacing is *extremely* sensitive with YAML. You should paste your code into a YAML validator and make sure you don’t have any spacing errors as they will break the file.
Now let’s apply the netplan configuration with:
sudo netplan --debug generate sudo netplan --debug apply
Now let’s check iwconfig again:
root@ubuntu:/etc/netplan# iwconfig lo no wireless extensions. usb0 no wireless extensions. enx3c18a07c2cb9 no wireless extensions. wlan0 IEEE 802.11bgn ESSID:"jamesachambers.net" Nickname:"<WIFI@REALTEK>" Mode:Managed Frequency:2.437 GHz Access Point: 24:5A:XX:XX:XX:XX Bit Rate:72.2 Mb/s Sensitivity:0/0 Retry:off RTS thr:off Fragment thr:off Encryption key:****-****-****-****-****-****-****-**** Security mode:open Power Management:off Link Quality=0/100 Signal level=-55 dBm Noise level=0 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
You’ve now configured netplan and will persistently connect to the network!
Pros / Cons
- Can connect to a dock or I/O board similar to a Pi Compute Module 3/4
- Runs RISC-V open hardware
- Officially supported by Ubuntu
- Extremely affordable and available worldwide
- D1 chip is single core and should be used for light applications/services and not heavy loads
- Not suitable for desktop use
- 512MB of RAM is the only option available
It has really been a personal breakthrough for me that both the LicheeRV and the Mango Pi MQ Pro can run Ubuntu Server really well! I’m sure that the official Tina Linux distribution is fine but I am honestly too used to having the full apt catalog of a larger distro like Ubuntu / Debian available. Once you start using Ubuntu with the RISC-V architecture and everything you expect to be there is there and working making the jump doesn’t seem like such a big deal. I’m really enjoying using these RISC-V boards with Ubuntu!
The entire kit even with the dock is only slightly wider than a Pi Zero. It’s incredibly small outside the dock (smaller than a Pi Zero or a Compute Module) and even works without it (with a limited amount of hardware available but it’s still cool nonetheless)! It’s very exciting to see a RISC-V take on the Compute Module series of boards that have a connector capable of connecting to different docks / IO boards.
I would highly recommend anyone into single board computers gets one of these boards. Even if you’ve only traditionally worked with ARM boards it’s really easy to get into it and get started with one of these LicheeRV dock kits. It will only cost you around $27-$34 or so to get the entire kit. I ordered mine from AliExpress for what it’s worth because it was cheaper. I had to wait longer but I have another half dozen or so boards in the mail anyway so I didn’t mind waiting to save the money.
I have a Lichee RV 86 panel kit* coming soon as well so I will be doing more Lichee coverage on the site here as soon as it arrives and plan to use these for various projects around the house. That is basically a small wall mounted panel powered by the Lichee RV inside it! I want to start setting up some smart sensor and security systems around my house using open source hardware to start phasing out some of my cloud systems I have around the house.
Another RISC-V board that uses the same D1 chip is the Mango Pi MQ Pro. It’s also the most pink board you’ve ever seen.
Make sure you see my Lichee RV 86 Panel guide if you are interested in a screen for your Lichee RV