ULX3S uses powerful Lattice Semiconductor ECP5 series FPGA chip supported by the latest open-source toolchains. This makes the ULX3S one of the most powerful and desirable platforms for FPGA enthusiasts available today. ULX3S comes equipped with onboard WiFi, display, buttons, LEDs and storage. Flash it using the WiFi connection (over-the-air update), or with one of the bitstreams stored on SD card and browsed by onboard OLED display and buttons. Due to its battery-backed RTC, it can power down completely and wake up only on certain events making it useful for low power applications such as battery-powered remote sensor nodes. And if you’re not of the low-power type, onboard peripherals such as SDRAM, USB, Digital video out, onboard FM/ASK antenna, ADC and DAC can make it audio/video powerhouse for signal processing and synthesis, motor control or SDR cases. You can emulate arcade machines or retro computers like Minimig(Amiga) or modern systems like F32C (MIPS/RISCV). It has 56 GPIO pins, all routed as differential pairs and a PMOD compatible pinout, opening it to a wide range of expansion options. If you are just starting with FPGA, you can also use the ULX3S as powerful Arduino and program it using Arduino IDE in seconds.
It has been actively developed since 2016 and is the result of collaboration between Radiona.org / Zagreb Makerspace and FER – Faculty of Electrical Engineering and Computing – University of Zagreb, Croatia.
1 ULX3S is beeing actively used in Digital Logic class at the University of Zagreb Faculty of Electrical Engineering and Computing, CroatiaLatest tweets:
ULX3S | Lattice ECP5™ Evaluation Board | Lattice ECP5™ Versa | TinyFPGA EX | FleaFPGA 'Ohm' | KONDOR AX | |
---|---|---|---|---|---|---|
License | OSHW | Proprietary | Proprietary | OSHW | OSHW | Proprietary |
Price Range | $60–$200 | $100 | $250 | not yet released | $45 | $1500–$2000? |
Schematics Published? | Yes | Yes | Yes | Yes | Yes | Yes |
Design Files Published? | Yes | No | No | Yes | No | No |
Physical Dimensions | 94 × 51 mm | 180 × 100 mm | 165 × 110 mm | 61 × 18 mm | 65 × 30 mm | 180 × 130 mm |
FPGA | ||||||
Model | ECP5 12F ECP5 25F ECP5 45F ECP5 85F |
ECP5 85F | ECP5 45F | ECP5 12F ECP5 45F ECP5 85F |
ECP5 25F | ECP5 85F |
LUT Capacity | 12K–84K | 84K | 44K | 12K–84K | 24K | 84K |
Embeded Memory (Kbits) | 3744 (on 85F) | 3744 | 1944 | 3744 (on 85F) | 1008 | 3744 |
PERIPHERALS | ||||||
USB-Serial JTAG | FT231X | FT2232H | FT2232 | None | FT230X | FT2232 |
Programming over | USB-JTAG, EXT-JTAG, WiFi-ESP32-JTAG, SD-ESP32-JTAG |
USB-JTAG, EXT-JTAG |
USB-JTAG, EXT-JTAG |
USB-bootloader, EXT-JTAG |
USB-JTAG, EXT-JTAG |
USB-JTAG, EXT-JTAG |
Direct USB to FPGA | Yes | No | No | Yes | Yes | No |
User IOs | 56 | 178 | Unknown | 42 | 29 | 365 |
PMOD connector placeholders | 4 | 1 | No | No | No | No |
User Buttons | 7 | 3 | 2 | 1 | No | 2 |
DIP Switches | 4 | 8 | 8 | No | No | 10 |
User LED | 8 | 8 | 8 | 1 | 1 | 8 |
Indicator LED | 3 | 9 | 10 | 1 | No | 6 |
Onboard Clock | 25MHz | 12MHz 50MHz 200MHz |
100MHz | 48MHz 200MHz |
25MHz | 100MHz |
Flash | 32–128 Mbit QSPI | 128 Mbit QSPI | 128 Mbit QSPI | 64 Mbit QSPI | 8 Mbit SPI | 64 Mbit QSPI |
Onboard RAM | 32MB SDRAM | No | 1024MB DDR3 | up to 16MB HyperRAM | 32MB SDRAM | 512MB DDR3 |
Video Out | Digital (GPDI), Analog Composite PAL/NTSC (3.5 mm jack) |
No | No | No | Digital (GPDI) | Digital (HDMI) |
Audio Out | Digital S/PDIF (3.5mm jack), Digital (GPDI), Analog stereo (3.5 mm jack) |
No | No | No | Digital (GPDI) | Digital (HDMI) |
ADC | MAX11125 | No | No | No | Sigma-Delta | No |
Storage | Micro-SD | No | No | Micro-SD | Micro-SD | Micro-SD, 8GB eMMC |
Ethernet | Possible over: ESP32, USB |
No | Yes | No | No | Yes |
Display | Placeholder for 0.96" SPI color OLED SSD1331 | No | 14-segment LED | No | No | No |
Antenna | 27, 88–108, 144, 433 MHz FM/ASK onboard | No | No | No | No | No |
RTC (Real-time Clock) | MCP7940N, Low Power Sleep, Wakeup | No | No | No | No | No |
POWER | ||||||
Power Input | USB 5V | 12V | 12V | USB 5V | USB 5V | 12V |
GPIO bank voltage levels | 3.3V, 2.5V (jumper selectable) |
3.3V | 3.3V | 3.3V | 3.3V | 3.3V |
Power reserve to drive external circuits | 3.3V/1A 2.5V/1.5A |
? | ? | ? | ? | ? |
OTHER FEATURES | ||||||
Differential Pairs | 28 | 9 | Unknown | No | 12 | Header |
Single-ended only | 5 | 178 | Header | 42 | 29 | Header | SERDES | 0 | 9 | 1 | 0, 2 (only EX85-5G variant) | 0 | 4 |
SOFTWARE | ||||||
Open Source Toolchain | Yes | Yes | Yes | Yes | Yes | Yes |
Arduino support (FPGArduino) | Yes | Not yet | Not yet | Not yet | Yes | Yes |
Confirmed working retro games consoles | Yes | No | No | No | Yes | No |
Comparison chart was produced from currently available data. If you find any error in the specifications, or if you would like to see additional boards compared to ULX3S – let us know.
For more information about the board or specifications contact us via e-mail
or join our gitter channel.