Machines › Computers › Sipeed › Longan Nano
Longan Nano
2019
Sipeed's Longan Nano (2019) is a low-cost RISC-V development board built on the GigaDevice GD32VF103, a 108MHz RV32IMAC core with 128KB of flash and 32KB of SRAM. The board carries a 160x80 ST7735 colour LCD, an RGB LED and a USB/UART serial console. Here it runs real compiled firmware on a from-scratch RISC-V core, driving the LCD over SPI. On-board only, and the bare board has no audio, so it is silent.
Longan Nano Online Emulator
Play Longan Nano using JavaScript directly in your browser.
Controls
Runs real compiled Sipeed Longan Nano firmware on an in-browser Nuclei "Bumblebee" RISC-V RV32IMAC core (the GigaDevice GD32VF103: RV32I + M + A + C, 108 MHz, 128 KB flash, 32 KB SRAM). The default is "LCD Colour Bars": a bare-metal C program that brings up SPI0 and the on-board 160x80 ST7735S colour LCD and draws a title plus eight colour bars, then animates the RGB LED. "LCD Image" streams a computed per-pixel gradient bitmap to the LCD and overlays text (the BOOT button toggles the LED). "RGB LED" cycles the on-board RGB LED (PC13/PA1/PA2, active-low) through the colour wheel and names each colour on the LCD. "UART Hello" brings up USART0 (TX on PA9) and prints a greeting and a counter to the serial console while blinking the LED. All four are original CC0 programs compiled with clang for rv32imac and drive the real GD32VF103 registers. Open the debugger, or add ?debug, to single-STEP real RISC-V instructions from flash at 0x08000000, set PC breakpoints and write watchpoints, read the RV32IMAC registers (x0-x31 with ABI names + pc + the machine CSRs) and the real GD32VF103 memory map live (FLASH 0x08000000, SRAM 0x20000000, peripherals 0x40000000). Press the BOOT button in the Controller panel. A Longan Nano has no on-board speaker, so it is honestly silent.
Runs real compiled Sipeed Longan Nano firmware on an in-browser Nuclei "Bumblebee" RISC-V RV32IMAC core (the GigaDevice GD32VF103: RV32I + M + A + C, 108 MHz, 128 KB flash, 32 KB SRAM). The default is "LCD Colour Bars": a bare-metal C program that brings up SPI0 and the on-board 160x80 ST7735S colour LCD and draws a title plus eight colour bars, then animates the RGB LED. "LCD Image" streams a computed per-pixel gradient bitmap to the LCD and overlays text (the BOOT button toggles the LED). "RGB LED" cycles the on-board RGB LED (PC13/PA1/PA2, active-low) through the colour wheel and names each colour on the LCD. "UART Hello" brings up USART0 (TX on PA9) and prints a greeting and a counter to the serial console while blinking the LED. All four are original CC0 programs compiled with clang for rv32imac and drive the real GD32VF103 registers. Open the debugger, or add ?debug, to single-STEP real RISC-V instructions from flash at 0x08000000, set PC breakpoints and write watchpoints, read the RV32IMAC registers (x0-x31 with ABI names + pc + the machine CSRs) and the real GD32VF103 memory map live (FLASH 0x08000000, SRAM 0x20000000, peripherals 0x40000000). Press the BOOT button in the Controller panel. A Longan Nano has no on-board speaker, so it is honestly silent.
Runs real compiled Sipeed Longan Nano firmware on an in-browser Nuclei "Bumblebee" RISC-V RV32IMAC core (the GigaDevice GD32VF103: RV32I + M + A + C, 108 MHz, 128 KB flash, 32 KB SRAM). The default is "LCD Colour Bars": a bare-metal C program that brings up SPI0 and the on-board 160x80 ST7735S colour LCD and draws a title plus eight colour bars, then animates the RGB LED. "LCD Image" streams a computed per-pixel gradient bitmap to the LCD and overlays text (the BOOT button toggles the LED). "RGB LED" cycles the on-board RGB LED (PC13/PA1/PA2, active-low) through the colour wheel and names each colour on the LCD. "UART Hello" brings up USART0 (TX on PA9) and prints a greeting and a counter to the serial console while blinking the LED. All four are original CC0 programs compiled with clang for rv32imac and drive the real GD32VF103 registers. Open the debugger, or add ?debug, to single-STEP real RISC-V instructions from flash at 0x08000000, set PC breakpoints and write watchpoints, read the RV32IMAC registers (x0-x31 with ABI names + pc + the machine CSRs) and the real GD32VF103 memory map live (FLASH 0x08000000, SRAM 0x20000000, peripherals 0x40000000). Press the BOOT button in the Controller panel. A Longan Nano has no on-board speaker, so it is honestly silent.
Runs real compiled Sipeed Longan Nano firmware on an in-browser Nuclei "Bumblebee" RISC-V RV32IMAC core (the GigaDevice GD32VF103: RV32I + M + A + C, 108 MHz, 128 KB flash, 32 KB SRAM). The default is "LCD Colour Bars": a bare-metal C program that brings up SPI0 and the on-board 160x80 ST7735S colour LCD and draws a title plus eight colour bars, then animates the RGB LED. "LCD Image" streams a computed per-pixel gradient bitmap to the LCD and overlays text (the BOOT button toggles the LED). "RGB LED" cycles the on-board RGB LED (PC13/PA1/PA2, active-low) through the colour wheel and names each colour on the LCD. "UART Hello" brings up USART0 (TX on PA9) and prints a greeting and a counter to the serial console while blinking the LED. All four are original CC0 programs compiled with clang for rv32imac and drive the real GD32VF103 registers. Open the debugger, or add ?debug, to single-STEP real RISC-V instructions from flash at 0x08000000, set PC breakpoints and write watchpoints, read the RV32IMAC registers (x0-x31 with ABI names + pc + the machine CSRs) and the real GD32VF103 memory map live (FLASH 0x08000000, SRAM 0x20000000, peripherals 0x40000000). Press the BOOT button in the Controller panel. A Longan Nano has no on-board speaker, so it is honestly silent.
Configurations
| Configuration | Emulator | Machine | OS | Legal | |
|---|---|---|---|---|---|
| LCD Colour Bars | Longan Nano | Longan Nano | open | Open ⛶ | |
| LCD Image (gradient) | Longan Nano | Longan Nano | open | Open ⛶ | |
| RGB LED | Longan Nano | Longan Nano | open | Open ⛶ | |
| UART Hello | Longan Nano | Longan Nano | open | Open ⛶ |
Downloads — ROMs & software
| Title | Type | Size (bytes) | Legal | |
|---|---|---|---|---|
| LCD Colour Bars | demo | 0 | open | Download ↓ |
| LCD Image (gradient) | demo | 0 | open | Download ↓ |
| RGB LED | demo | 0 | open | Download ↓ |
| UART Hello | demo | 0 | open | Download ↓ |
Downloads — ROMs & software
| Title | Type | Size (bytes) | Legal | |
|---|---|---|---|---|
| LCD Colour Bars | demo | 0 | open | Download ↓ |
| LCD Image (gradient) | demo | 0 | open | Download ↓ |
| RGB LED | demo | 0 | open | Download ↓ |
| UART Hello | demo | 0 | open | Download ↓ |
Downloads — ROMs & software
| Title | Type | Size (bytes) | Legal | |
|---|---|---|---|---|
| LCD Colour Bars | demo | 0 | open | Download ↓ |
| LCD Image (gradient) | demo | 0 | open | Download ↓ |
| RGB LED | demo | 0 | open | Download ↓ |
| UART Hello | demo | 0 | open | Download ↓ |
Chips
Emulators
| Emulator | Type | License | Site |
|---|---|---|---|
| Longan Nano | online | CC0 | Website ↗ |