Skip to content

re-ws.pl

ReverseEngineering WorkStation

  • Home
  • Tutorials
  • Random
  • About

Unboxing, startup and first impression of Nezha board marketed as first affordable RISCV SBC

Posted on July 6, 2021 by Kamil (aka. v3l0c1r4pt0r)
riscv logo

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:

rvboards nezha box
Nezha inside! Here is the box.

Inside we can find everything nicely fit to save as much space as possible:

rvboards nezha box opened
Inside of a box

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!

rvboards nezha in its packaging
Going deeper

Now back to accessories, here are the ones that I got:

power adapterusb c cablesusb to serialkioxia micro sd cardcopper pillarsIt’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.

nezha and raspberry pi 3
I have seen it somewhere!

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 🙂

fitting nezha into rpi case failed
Almost

As you can see, it failed. Why? Let’s compare the two.

nezha and raspberry pi 3
Now, it’s obvious

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:

nezha topnezha bottom

Posted in UncategorizedTagged English, hardware, Linux, RISCV

Post navigation

Docker image with just cURL
New ccfactory on its way, binutils are already here

1 Comment

  1. 3 says:
    September 30, 2021 at 23:29

    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?

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tags

Android assembly busybox C CAN can-hacking cc-factory cmake compiler docker Dreamspark electronics English gcc hacking hardware JavaCard JCOP kernel KiCAD library Linux PC PCB pinout PKI polski programming Python radio Raspberry Pi Reverse Engineering RTL-SDR SDC SDM SDR smart card software tor tty UART UEFi Windows X.509 Xperia Pro

Recent Posts

  • PHP build for use bundled in Android applications
  • Running graphical apps inside Docker containers
  • Plugin architecture demo for Python projects
  • Authorizing adb connections from Android command line (and making other service calls from cli)
  • How to recover torrent from rtorrent meta files

Recent Comments

  • pomi on Playing with GF-07 GPS device
  • pomi on Playing with GF-07 GPS device
  • Hamdy Abumgata on Playing with GF-07 GPS device
  • Mousum Gogoi on Playing with GF-07 GPS device
  • Eason on Sniffing USB traffic with DSLogic logic analyzer into pcap file

Categories

  • News
  • Random
  • Reversing LKV373A
  • Setting up new v3 Hidden Service with ultimate security
  • Tutorials
  • Uncategorized
  • Understanding JCOP

Links

  • Me @ github
  • LKV373A Wiki
  • DevTomek

Archives

  • December 2024
  • November 2024
  • May 2024
  • July 2023
  • October 2022
  • August 2022
  • July 2021
  • June 2021
  • May 2021
  • December 2020
  • November 2020
  • October 2020
  • August 2020
  • December 2019
  • November 2019
  • October 2019
  • August 2019
  • July 2019
  • February 2019
  • November 2018
  • October 2018
  • June 2018
  • May 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • September 2017

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
Proudly powered by WordPress | Theme: micro, developed by DevriX.