Some of you may have already heard about new RISCV board that popped up in China recently. It is called Nezha and is the first available SBC having new Allwinner D1 SoC with RISCV core and capable of running Linux. Authors are marketing it as first affordable RISCV Linux SBC and there is a lot of truth in these claims. Maybe this board cannot compete in any way with boards based on ARM Cortex A cores. On the other hand all previous RISCV offerings were in different galaxy in terms of price tag. $999 for Hifive Unleashed during its Crowdsupply campaign vs. $99 for Nezha on Indiegogo. They even claimed to go down as low as to $12, but as they say global supply chain problems made it impossible for now. We have to wait for all this pandemic troubles to end to check, if these claims could be verified by facts.
Unboxing
In the meantime, Nezha appeared for ~$99 plus shipping and today I got one for myself to play with. After getting rid of usual stack of black packaging and bubble wrap, this is what I got:
Inside we can find everything nicely fit to save as much space as possible:
On the left there is another box with Nezha itself. On the right there are all accessories as listed on Indiegogo:
- 5V 2A Power Adapter
- USB2TTL Cable x1
- USB A-to-C Cable x2
- copper pillar x4
- 16GB SD Card with Image
Accessories are nice, but what interests us most is the board. So, let’s open it!
Now back to accessories, here are the ones that I got:
It’s a pity that power adapter is with Chinese plug and no adapter for Europe/US, depending on end user preference. On the other hand, I guess everybody has a whole box of old or unused chargers, so it should not be a problem to find spare one that fits.
Serial cable identified itself as FTDI FT232. Nice. I will skip considerations of its authenticity, because this is not meant to be about that. Let’s assume it is and this means it is really nice, as I rather expected PL2303 that comes in exactly same enclosure.
Overall it is nice that we have everything one would need to get started. Maybe having bare board as an option would not be bad idea, though. I, personally, would consider it, when it could come in a dollar or two lower price tag.
First boot
Enough of this bullshit 🙂 Let’s plug it in and see what it says on its serial line. All in all it is supposed to give us a lot of interesting debug information providing insight look into whatever hardware is under the hood.
For that I decided to use my good old CP2102 USB to serial converter, instead of the one provided by RVBoards, as I am sure about its pinout. Also here small minus for the cable with no RX/TX markings, so I would have to guess if RX is white, or green. The rest is rather obvious. Pinout of Nezha’s debug header is marked on silkscreen, UART configuration is usual 115200 baud, 8N1, so nothing surprising. Getting back to bootup. Here is the full log. By the way, here is what /proc says about the system:
sipeed@sipeed:~$ cat /proc/cpuinfo
processor : 0
hart : 0
isa : rv64imafdcvu
mmu : sv39
sipeed@sipeed:~$ cat /proc/iomem
00000000-00000000 : 3003000.msgbox msgbox@0601f000
00000000-00000000 : 2000000.pinctrl pinctrl@2000000
00000000-00000000 : 2001000.clock clock@2001000
00000000-00000000 : ledc@2008000
00000000-00000000 : 2009400.ths ths@02009400
00000000-00000000 : 2010000.iommu iommu@2010000
00000000-00000000 : sunxi-internal-codec
00000000-00000000 : sunxi-dmic
00000000-00000000 : sunxi-daudio
00000000-00000000 : uart
00000000-00000000 : uart
00000000-00000000 : twi@2502800
00000000-00000000 : 4500000.eth eth@4500000
00000000-00000000 : 3002000.dma-controller dma-controller@3002000
00000000-00000000 : 3003000.msgbox msgbox@0601f000
00000000-00000000 : 3006000.sid sid@3006000
00000000-00000000 : 4020000.sdmmc sdmmc@4020000
00000000-00000000 : 4021000.sdmmc sdmmc@4021000
00000000-00000000 : 4500000.eth eth@4500000
00000000-00000000 : 6011000.watchdog watchdog@6011000
00000000-00000000 : 3003000.msgbox msgbox@0601f000
00000000-00000000 : 7010000.clock clock@7010000
00000000-00000000 : 7090000.rtc rtc@7090000
00000000-00000000 : System RAM
00000000-00000000 : Kernel code
00000000-00000000 : Kernel data
What is intriguing to me is the fact that there such little information in cpuinfo. Exactly like it is just an emulator. But this is my first contact with RISCV, so maybe this is how it was supposed to be – simple.
Review
When looking at the board, I have a strong feeling that I have seen it before. Sitting this thing next to Raspberry Pi 3 explains where this feeling come from.
At first sight we can see only one major difference – Raspberry comes with 4 USB ports (as we know in 3rd edition this is still cheating via integrated USB hub). Here, we get one host port and one OTG port instead. Beside that, we get exactly the same set of peripherals. OK, power is upgraded to USB C, as in RPi 4, but this is detail. This similarity encouraged me to do one fun test – try to fit Nezha into case for Raspberry Pi 3. With Raspberry Pi 4 it is obvious no-go, as there are obvious incompatibilities. It was promising, but here is the result 🙂
As you can see, it failed. Why? Let’s compare the two.
As you can see, the problem is that connectors are moved slightly in comparison to Raspberry Pi 3, which makes the case incompatible, while still boards are really similar.
To sum up, we get quite complete development board to start playing with and learning RISCV architecture. Comparing to previous RISCV boards that were appearing in China from time to time, this one is huge leap, as we have full Linux system here – by default it is modified Debian. On the other hand, I wouldn’t expect much more from it – it is only 1 GHz and 1 GiB RAM, so is way behind other Linux SBC based on ARM architecture. This means it is definitely not the device that you would use for serious projects. For practical implementation, we have to wait next couple of months and few further generations of Chinese SoCs based on RISCV cores. However if they can maintain this speed in developing new CPUs, the day, when we start using their RISCV processor is closer than many think today.
PS. here are some high-res photos for those interested:
Have you got an update for us?
How’s Debian working? What apps have you got running?
Have you tried any other OSs? Ubuntu? HaikuOS? If so, what’s the experience like?