There’s been some exciting news about RISC-V microcontrollers recently with Gigadevice announcing GD32V, one of the first RISC-V general-purpose microcontrollers, which outperforms its Arm Cortex-M3 equivalent in terms of performance and power consumption.
The company also announced some development boards, but they are not quite that easy to purchase being listed on Tmall website in China. The good news is that Sipeed has introduced Longan Nano development board powered by GD32VF103CBT6 microcontroller, and it’s up for sale on Seeed Studio for $4.9.
Longan Nano board specifications:
- MCU – Gigadevice GD32VF103CBT6 32-bit RISC-V (rv32imac) microcontroller @ 108 MHz with 128KB Flash, 32KB SRAM
- Storage – MicroSD card slot
- Display – 0.96″ 160×80 IPS RGB LCD connected via SPI
- USB – 1x USB Type-C port for power and programming
- Expansion – 2x 16 through holes (2.54mm pitch) exposing 3x USART, 2x I2C, 3x SPI, 2x I2S, 2x CAN, 1x USBFS (OTG), 2x ADC (10 channel), 2x DAC
- Timers – 4x general-purpose 16-bit timer, 2x basic 16-bit timer, 1 x advanced 16-bit timer
- Crystals – 8MHz Passive High-Speed Crystal +32.768KHz Low-Speed RTC Crystal
- Debugging – 2x 4-pin JTAG debug interface
- Misc – Watchdog; RTC; Systick; Boot and Reset buttons
- Power Supply – 5V via USB-C port. Specs don’t mention it, but LiPo battery may be supported via VB/GND pins. It would be good, as GD32V only consumes 1/3 of Arm Cortex-M3.
- Dimensions – 46.1 x 20 mm
Longan Nano, which Sipeed also calls “Red Bill” in reference to STM32 Bluepill board, can run RT-Thread & LiteOS operating systems, and software development can be performed with tools such as the PlatformIO IDE, the Arduino IDE (soon), GCC and OpenOCD.
There are three ways to load firmware to the board: USB DFU download, UART ISP download, JTAG download. The first method just requires a USB-C cable, and the others a USB-UART debug board and a JTAG-enabled debugger (e.g. J-Link) respectively.You can find GD32V development platform for PlatformIO on Github, download software & hardware documentation and tools from an HTTP folder, and get support via Telegram. There’s also a documentation website, but at the time of writing, it’s pretty much empty.
Beside the LCD display, Longan Nano also ships with an acrylic case.
https://twitter.com/SipeedIO/status/1164878778876563458
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Wow! USB-C! Does it work at full USB3.x speed though? That would be super-cool! Somebody, please make Arduino bootloader and libs! (the article promises it “soon”, but how soon is that?)
As relationships between US and China are getting more complicated, we (hobbyists) might soon have to replace ARM with RISK-V in our toolbox. Let’s get prepared.
Of course he does not. The GD32VF103s (in the $ 1 range) are microcontrollers. The provided USB2.0 – FS is more than enough to download programs.
Of course a 108 MHz MCU can transfer 625 MB/s, that is 5,8 bytes per cycle.
Note the “FS” in “USB20 -FS”. It stands vor Full Speed. This is not 625 Mbit/s .
Taking Jerry’s defence for once, he mentioned megabytes and the number in his joke was correct in that USB3 superspeed is indeed 5 Gbps. However here it’s clear that we must not expect more than 12 Mbps.
>Of course a 108 MHz MCU can transfer 625 MB/s, that is 5,8 bytes per cycle.
FYI USB is usually implemented with a DMA engine i.e. the CPU doesn’t actually need to be able to write data at the same rate as it gets transmitted.
4 bytes/cycle maybe if the DMA engine is really good on a little 32 bit micro, but 5.8 bytes/cycle? 🙂
Not in a $1 chip like this but something like the Cypress FX chips pairs a crappy core with a USB engine that does most of the work or 4K cameras that have a DMA engine that pulls data from the sensor and stuffs it right into the vendor encoder.
Cool, Bad Apple gets them 5pts in my book.
SDK is here:
https://github.com/riscv-mcu
BTW Redpill was a clone a Bluepill with an stm32 by GigaDevice, so the name is confusing…
Red Pill was STM32F103C8T6, Blue Pill except in red color PCB. Not exists anymore.
This looks like a great little board and a nice place to start with RISC-V.
Too bad seeed studio requires an account to purchase and account creation uses recaptcha.
“Too bad seeed studio requires an account to purchase and account creation uses recaptcha.”
How is that a problem !?
Becuase I don’t allow recaptcha on my system, so I can’t order from them. Most stores offer a guest checkout system, rarely do they require an account. And if they do require an account, they don’t use recaptchas. What do they think they’re protecting themselves from?
What, you don’t like paying for the “privilege” of educating Google’s AI brats?
Their airmail shipping is expensive now too. I’ll wait until these show up on taobao and order a bunch of them then.
Rumors says desoldering an stm32 and replacing with a gd32v would work:
https://hackaday.com/2019/08/27/gigadevice-releasing-risc-v-mcus-and-development-boards/#comment-6175355
Ordering some chips to try it out…
Keep us updated how that works. I’d try it as well. Where are you sourcing the chips?
Regarding the j-link support.. I don’t see an 8-pin (2×4) P2 connector on the silkscreen, but I do see the pads at the side of the board.. does one need to solder an edge connector?
And on the software side, I got a cheapy $20 J-Link clone on ebay .. will it work on the gd32v, I assume GDB server via eclipse/gcc ?
Could they have been clever and used the uSD pins for that?
Presumably you need to use openocd or the official jlink software to act as the gdbserver. I suspect newer versions of the jlink software with riscv support will brick your clone.
May be soldering 2×4 2.54mm pin header sideway will do.
Sipheed likely makes main pins so easy and breadboard friendly,
but not so for secondary pins.
Like in Lichee Pi, one should deal with 1.27mm semi circular hole[?] to access the secondary pins.
It’s doable but difficult.
Hello sir
Found this on a google search:
https://wiki.segger.com/SiPeed_Longan_Nano
So it appears to work with the J-Link.
but why get a clone when seggar offers a jlink Edu mini for 15$ that is actually licensed and supported by them?
https://www.segger.com/products/debug-probes/j-link/models/j-link-edu-mini/
I have mine for a year now and it works perfectly. The clones I had I threw away which were bricked after a while anyways.
What makes man with it?
As it’s Seeedstudio, my “shipping cost” alarm bells went off … so I checked them to EU (Netherlands):
Seeed Carrier
SZ POST (20-30 working days) $14.64
DHL (1-3 working days) $21.50
Fedex (4-8 working days) $30.42
Absurd as usual. I think Seeedstudio advertises with pricing on which they loose money (and they create buzz that way … see this post), and they make their money on their so-called “shipping costs”.
Shipping costs are more reasonable to Asia, but still more than the board’s price:
SZ POST (20-30 working days) $8.40
Fedex (4-8 working days) $15.78
DHL (1-3 working days) $16.62
Trying with 5 boards, shipping goes up but not too much:
SZ POST (20-30 working days) $10.75
Fedex (4-8 working days) $16.30
DHL (1-3 working days) $20.02
So it’s better to purchase several items on Seeed Studio. It’s like on eBay or Aliexpress where shipping is often included or a small amount.
On the expensive shipping from seeed:
The sipeed store on taobao (https://sipeed.taobao.com/?spm=a1z10.5-c.0.0.7489444aeYVaSO) has a section for the Longan Nano that I guess will have this board in it once it’s released. If you order a few of these via superbuy the domestic + international shipping + fees will probably still be less than what seeed want to ship one of these.
Up now: https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-21231188711.11.63a6444aLHmiXF&id=601743142093
$3 without the display.
In the short run we will see GD32VF – Bluepills for 2$ incl postage and packing.
I need to keep an eye on aliexpress for these, it seems.
This is going to be my next board to check out.
The other comments here mention shipping, and yeah, that will hopefully get sorted out. No reason to pay more for shipping than the board.
The thing I really like is this chip has built in USB *and* a display!
This is great, but it comes with only a tiny amount of RAM so we need to be able to add RAM to the development kit. How do I add 1GB of RAM to get a useful development environment?
(Yes, I realise today’s market is microcontrollers, but let’s look ahead – we want the whole Debian app suite on RISC-V, we want to deploy it on the desktop, web servers, …).
You’d need to wait for another RISC-V processor. GD32V will never get 1GB RAM, there’s no external RAM interface, and it’s not powerful enough to run Debian.
MAIXDuino Kendryte K210 ($23/8M/800MHz Dual 64-bit with NPU) has a uCLinux port in progress, with no MMU, so it’s effectively kernel-mode-linux and most apps are not compatible with that, but some are… I seem to recall Apache being ported for KML.
If you want a self-hosting Debian environment, $80 Perf-V board is the cheapest. It’s slower than the $23 MAIXDuino but has 256M DDR3, and MMU so it can a run proper Linux kernel. No GPU so you’ll be working via terminal or with am I2C or GPIO-driven display.
Running on higher-performance FPGA boards is more expensive… https://risc-v-getting-started-guide.readthedocs.io/en/latest/linux-avalanche.html
And running on SiFive’s HiFive Unleashed board will run you anywhere from $1000 for a headless board with GBE https://www.sifive.com/boards/hifive-unleashed … up to about $4000 with enough add-on hardware to surf the internet…https://hackaday.com/2019/02/11/building-a-risc-v-desktop/
None of those boards cost $5, lol
Ordered one Longan Nano, along with 2 MAIXDuino kits, one with Wifi, one without, to defray the ridiculous shipping cost.
Longan Nano has PlatformIO support, but unfortuantely its DFU mode isn’t detected by the kernel as a serial interface 🙁
— dmesg: —
[18677.861622] usb 1-1.4.4.4: new full-speed USB device number 34 using xhci_hcd
[18677.964818] usb 1-1.4.4.4: New USB device found, idVendor=28e9, idProduct=0189
[18677.964825] usb 1-1.4.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[18677.964829] usb 1-1.4.4.4: Product: GD32 0x418 DFU Bootloade
[18677.964832] usb 1-1.4.4.4: Manufacturer: GDMicroelectronics
[18677.964835] usb 1-1.4.4.4: SerialNumber: 䌳䩂
— lsusb: —
Bus 001 Device 034: ID 28e9:0189
Probably just needs a #define in the kernel to enable it, but I don’t have experience with device drivers so I will wait for someone else to post a patch 🙂
Aha… it just needed a udev rule installed:
https://docs.platformio.org/en/latest/faq.html#platformio-udev-rules
Now DFU is working… but it’s a pain to manually trigger DFU every time before uploading, so JTAG will be a much better route.