All News | Boards | Chips | Devices | Software | Archive | About | Contact | Subscribe
Follow LinuxGizmos:
Twitter Facebook Pinterest RSS feed
*   get email updates   *

Lattice FPGA SBCs can run Linux on RISC-V softcore

Mar 17, 2020 — by Eric Brown 4,825 views

Two open-spec boards with Lattice ECP5 FPGAs can run Linux via a VexRiscv softcore. GsD’s $99 Orange Crab has a tiny Feather form factor while’s $115 to $155 ULX3S supports beefier ECP5 models and adds an ESP32.

Almost all the FPGA-based development boards we cover use SoCs that also provide Linux-friendly Arm Cortex-A cores, such as the Xilinx Zynq. Yet the flexible nature of field programmable gate arrays means that many Arm-free FPGAs — when equipped with sufficient RAM — can also run Linux with various limitations via so-called softcores. For example, Aries’ MAX 10 FPGA based MX10 module can run NIOS II softcore Linux.

Linux support is available on two new crowd-sourced dev boards with Lattice ECP5 FPGAs. GsD’s $99 Orange Crab surpassed its support goal on GroupGet and is now available to members.’s more feature rich, $115 to $155 ULX3S more than doubled its $15K Crowd Supply goal with 28 days left.

Orange Crab (left) and ULX3S
(click images to enlarge)

On either board, Linux is enabled by running SpinalHDL’s RISC-V based VexRiscv softcore CPU. VexRiscv, which won the 2018 RISC-V Soft-Core CPU Contest, is implemented using the Scala-based SpinalHDL hardware description language (HDL). Using software such as Linux-on-LiteX, the implementation can be used to prototype RISC-V SoC designs.


Running Linux, however, is not the primary software development platform for either board. The Linux support appears to rather experimental at this stage.

Lattice’s low-power, small-footprint Lattice ECP5 FPGAs include SERDES support and a DSP for image filtering and data analytics. Mikroprojekt added one to its i.MX6 Solo based Kondor AX dev board.

Orange Crab

The 50.8 x 22.9mm Orange Crab adopts Adafruit’s Feather form factor, as we saw recently on Groboards’ SAMA5D-based Giant Board. The board is “perfect for experimenting with RISC-V cores,” says GsD.

The Orange Crab is touted for its 128MB of DDR3, its pre-loaded DFU (device firmware upgrade) bootloader for full state restoration, and its compatibility with “all open source toolchains.” The board is further promoted for its micro-USB port with direct connection to the FPGA.

Orange Crab (left) and front and back views
(click images to enlarge)

The SBC’s Lattice ECP5-25F FPGA is a low-end ECP5 model with 24K LUTs and 1008Kb block RAM. In addition to the 128MB RAM, there’s 128Mb QSPI flash loaded with the bootloader, a microSD slot, and a 48MHz oscillator.

The Orange Crab is further equipped with 20x I/Os, JTAG, and an analog system with mux, SAR ADC, digital bypass, and voltage sensing. There’s also an LED and a user button. A case for the Orange Crab costs $19.

GsD recommends using the open source, Migen/MiSoC based LiteX Core/SoC builder software. The LiteX GitHub page says: “Think of Migen as a toolbox to create FPGA designs in Python and LiteX as a SoC builder to create/develop/debug FPGA SoCs in Python.” GsD also recommends the LiteDRAM open source DDR controller.

Example projects include running Linux-on-LiteX. The software is designed for experimenting with running Linux on the VexRiscv softcore. Although Linux-on-LiteX supports a wide variety of FPGAs, the project notes that “on Lattice ECP5 FPGAs, the open source toolchain allows creating full open-source SoC with open-source cores and toolchain!”


Like the Orange Crab, the ULX3S is an open source hardware and software project that is “supported by the latest open-source toolchains” and can run Linux via the VexRiscv softcore. It was developed by in partnership with the Zagreb Makerspace and FER (Faculty of Electrical Engineering and Computing) at the University of Zagreb in Croatia. The PCB design was “authored” by Electronic Mechanic Aerodynamic Research & Development (EMARD).

The board was intended primarily “as a teaching tool for mastering the principles of digital circuit design,” but also has broader applications, says The board is available with a choice of three different FPGA models, which result in three Crowd Supply pricing tiers. Otherwise, the different SKUs appear to be the same. The models are the LFE5U-12F (12K LUT), LFE5U-45F (44K LUT), and top-of-the-line LFE5U-85F (84K LUT).

The ULX3S also incorporates an Espressif ESP32-WROOM-32 module that that can work cooperatively with or independently of the FPGA. The Arduino IDE programmable module integrates an ESP32 MCU SoC with Cadence’s 32-bit Tensilica Xtensa LX6 dual-core MCU clocked at 80MHz to 240MHz.

The ESP32 also incorporates a 2.4GHz WiFi radio with Bluetooth, which supports a standalone JTAG web interface via WiFi. The ULX3S board adds directional antennas.

ULX3S front detail view
(click image to enlarge)

The 94 x 51mm SBC is equipped with 32MB SDRAM, 4-16MB Quad-SPI flash, and a microSD slot. Dual micro-USB ports are available. One is connected to the FPGA and the other to the FTDI FT231XS (500-kbit JTAG and 3Mbit USB-serial).

For video, there’s a GPDI (General-Purpose Differential Interface), and the board also supports an optional 1-inch, SPI-connected color OLED display. A 3.5mm audio jack supports analog and digital audio, including SPDIF, as well as composite video.

ULX3S rear detail view
(click image to enlarge)

The ULX3S is further equipped with 56x GPIO pins, 4x PMOD connectors, 8-channel, 10-bit ADC, an RTC with battery, a 25MHz clock input, and 11x LEDs, including 8x user LEDs. There are 1.1V, 2.5, and 3.3V voltage regulators for power, as well as a low-power sleep mode. You also get dipswitches and multiple direction, fire, and power buttons,’s Goran Mahovlić informed us about the project back in October. At the time, he said they were “currently” using LiteX-on-Linux on the VexRiscv softcore. However, he said the group was talking with J-Core about also potentially running Linux on its J2 open processor softcore, which has a SuperH instruction set.

Lattice ECP5 models (left) and Lawrie Griffiths demo of SaxonSoC Linux running on ULX3S
(click images to enlarge)

This week when notifying us of the Crowd Supply campaign, Mahovlić added that there was a “sample of Linux with HDMI out and PS2 keyboard on 12F version.” He pointed to an announcement from Lawrie Griffiths of a SaxonSoC Linux implementation running on the ULX3S with that configuration.

Further information

The Orange Crab is available to GroupGet members for $99, and a case costs $19. More information may be found on GsD’s Orange Crab GroupGet page.

The ULX3S is available on Crowd Supply for another 28 days at $99 for an early bird package ($115 standard) for its low-end 12F model. The 45F model goes for $135 and the 85F sells for $155. A 10-pack of 12F boards costs $999. Shipments are due Jun. 16.

More information may be found on the ULX3S Crowd Supply page, as well as the website and EMARD GitHub page with open hardware files.


(advertise here)

Print Friendly, PDF & Email

Please comment here...