I bought Avnet's $49 Spartan 3A development board but it was discontinued not long afterward - right about the time when I decided I needed a few dozen more. I've since done some extensive research (thanks, Google!) to find a comparable thrifty thrill.
When choosing a development board, consider what you get with it and what you want to use it for. FPGAs are ideal for use with high speed peripherals, and in general it is much easier to buy a board that contains the part you want, rather than trying to add one on later (and inevitably giving up and upgrading to a more capable board). Examples of things you might want, and are quite difficult to add yourself:
Things that are relatively easy to add, and are not so much of a big deal to wire up yourself.
I like having a board with many (at least 8) SPST switches and LEDs, and momentary buttons. Unlike a microcontroller where it's relatively easy to spit debug information out of a serial port or to an LCD with a single C function call, debugging FPGA designs is a bit harder. LEDs provide a zero fuss way to break out internal signals for visualisation - if you're tracking the progress of a complex state machine, you can light up an LED when it gets to a certain point without adding any extra logic. While these are easy enough to add yourself, I find that it's better to get a board that has them so that you don't waste valuable user IOs or waste time investigating failures caused by your terrible soldering skills.
Some manufacturers promote a standard form factor for add-ons, notably Digilent with their very wide range of Pmods and Arduino shields.
If you would like to connect high speed devices (above 10-20 MHz) to your FPGA, make sure your board has an interface connector that supports the speeds you'll be using. Look for ground wires interspersed regularly between signal wires, high speed connectors (not just 0.1" headers), PCB trace length equalisation, and impedance control. Few of the cheap boards bother with any of these.
FPGAs can be a bit daunting, so check that the manufacturer provides:
Reference designs can either be HDL or microcontroller-based, but in recent boards, most manufacturers seem to be moving to the latter. Bear this in mind if you don't have a license for the microcontroller and environment (e.g. Xilinx EDK/SDK is not free), as the code will be difficult to port to HDL.
If you're a beginner, you may benefit from buying a board that has a companion textbook which has been written specifically for the board in mind, and describes each of the peripherals and how to interface with them. Popular boards with larger user communities may also be worth considering above cheaper options. The most popular Xilinx boards are those made by Xilinx (none of them cheap enough to be listed here), Digilent and Avnet. Terasic seem to make the most popular Altera boards.
A long-standing complaint with vendor FPGA design tools is that they are generally enormous, complicated, slow, buggy, closed source, and are either expensive or have annoying license requirements. The open source community has made great progress in recent years to reimplement parts or all of the FPGA design toolchain and to address all of these concerns.
FPGA devices which are currently either partially or fully supported by open source tools include:
Some tools to check out include:
Tim 'mithro' Ansell has an open offer to send FPGA hardware to anyone who has time to contribute to open source FPGA projects but doesn't have any hardware.
Xilinx's Zynq parts are supported by their Vivado high level synthesis design suite and include a dual-core ARM Cortex-A9, USB 2.0, and Gigabit Ethernet.
Name | Price | Device | Notes |
---|---|---|---|
Zynq 7000 ZYNQ7010 development board | $42 | Zynq 7010 | A no-name board, apparently pulled from some equipment, which provides 256MB DDR, 128M NAND flash, SD card, optocoupled inputs, 1 button, 2 LEDs, and 42 I/Os. Some more information is available in this EEVBlog thread. |
QMTECH Zynq7000 Starter Kit | $56 | Zynq 7010 | 512MB DDR3, micro SD slot, 100 Mbit Ethernet, two LEDs, 62 length-matched and paired FPGA I/Os and 15 processor I/Os. Some documentation is available at QMTech's site and there are some observations in this EEVBlog thread, where there are some complaints about a lack of decoupling. |
DIPFORTy1 "Soft Propeller" | EUR 59 | Zynq 7010 | A DIP-40 sized board that is designed to be pin-compatible with the Parallax Propeller chip. It has 16MB of flash, 46 I/Os, one RGB LED, one user LED, micro SD socket, and a proximity/light sensor. |
Sipeed Tang Hex | $70-90 | Zynq 7020 | 1 GB LPDDR3, 2Gb Flash NAND, 100Mbit Ethernet, four USB 2.0 ports, a TF slot, and 15 GPIOs. |
MiniZed | $89 | Zynq 7Z007S | Includes a single ARM A9, 512MB DDR3L, 128Mb flash and 8GB eMMC, USB host, USB-JTAG, and USB-UART, 802.11b/g/n Wi-Fi, Bluetooth 4.1, and BLE, Arduino shield connector and two PMODs (38 total I/Os), accelerometer, temperature, and MEMS microphone sensors, one button, one switch, and two bi-color LEDs |
Cora Z7 | $99/$129 | Zynq 7007S/7010 | 512MB DDR3, gigabit Ethernet, microSD, two buttons, two RGB LEDs, USB-UART/JTAG/OTG, 10 analog inputs (four differential), and about 77 digital I/Os, some of which are routed to two PMODs (with high speed, impedance match differential pairs) and an Arduino shield connector. |
snickerdoodle | $115/$245 | Zynq 7010/7020 | A Zynq board with 155-180 I/Os, 512MB-1GB DDR, 16MB flash, micro SD, 802.11n WiFi, and Bluetooth 4.0. A range of base-boards and add-on boards are also available, providing gigabit Ethernet, HDMI in/out, USB, JTAG, 0.1" I/Os, and more. |
PYNQ Z2 | $119 | Zynq 7020 | 512MB DDR3, 128 Mb flash, microSD, gigabit Ethernet, HDMI source and sink, USB for JTAG, UART and OTG host, I2S audio I/O, 4 SPST buttons, 2 SPDT switches, 4 LEDs and 2 RGB LEDs, two PMODs, and Arduino and Raspberry Pi connectors (around 60 I/Os, plus 6 analog inputs) |
Parallella-16 Micro-Server | $126 | Zynq 7010 | Includes a dual ARM A9. Also available on the board are the Epiphany 16-core CPU Accelerator, 1GB RAM, 126 Mb flash, micro SD, and gigabit Ethernet. |
MYIR Z-turn Lite | $139/$149 | Zynq 7007/7010 | 512MB DDR, 16MB QSPI and 4 MB eMMC flash, TF socket, gigabit Ethernet, USB2.0 OTG, USB-UART, expansion connector, and 1 button, and 1 LED. The Z-turn Lite IO Cape is sold separately ($29) and breaks out an extra button, HDMI, and GPIOs on PMOD and 2.54mm connectors. |
Parallella-16 Desktop | $158 | Zynq 7010 | Expands on the Micro-Server and adds high speed expansion ports with 24 GPIOs (and other Epiphany signals), HDMI, and USB 2.0 host. |
MYIR Z-turn Board | $159/$179 | Zynq 7010/ 7020 | 1GB DDR, 16MB flash, TF socket, gigabit Ethernet, CAN, USB2.0 OTG, USB-UART, HDMI output, 90 or 106 user I/Os (with 39 LVDS pairs), accelerometer and temperature sensor, JTAG, two buttons, 4 switches, four LEDs, and a buzzer. An "IO Cape" breakout board ($35) provides three Pmod connectors, camera and LCD connectors, and 0.1" header I/O pins. |
Digilent ZYBO Z7 | $199/299 | Zynq 7010/7020 | 1GB DDR3 RAM, HDMI source/sink with CEC, VGA, gigabit Ethernet, USB JTAG, UART and 2.0 host/OTG, MIPI CSI-2, audio I/O, 6 buttons, 4 switches, 6 or 7 LEDs, and 40 I/Os (5 PMODs), including analogue inputs, and microSD |
MicroZed | $199 | Zynq 7010 | 1GB, 128 Mb flash, SD card, gigabit Ethernet, USB 2.0, 100 I/Os (48 LVDS pairs) and 2 PMODs, 1 LED and 1 switch |
EDGE ZYNQ | $214 | Zynq 7010 | 512MB, 128 Mb flash, micro SD, gigabit Ethernet, 802.11/b/g/n WiFi and Bluetooth 4.2/LE, USB for JTAG, UART, and OTG, HDMI Tx/Rx, VGA, stereo audio output, light and temperature sensors, 4*7 Seg LEDs, 5 LEDs, 4 slide switches, 31 PL I/Os and 4 PS I/Os. A 2x16 LCD module is included, and camera and TFT LCD modules are available. |
While they are not particularly cheap, the cheapest Kintex boards I can find are listed here for completeness.
Name | Price | Device | Notes |
---|---|---|---|
Numato Skoll | $432 | Kintex 70T | 256MB DDR3, 16MB SPI flash, USB 2.0 via a FT2232H, JTAG header, 150 GPIOs and 8 I/Os from the FTDI chip. |
Artix parts are becoming increasingly common in inexpensive development boards, taking the position previously occupied by the Spartan-6 in Xilinx's lineup, though they are only supplied in BGA packages.
Name | Price | Device | Notes |
---|---|---|---|
QMTECH Artix 7 DDR3 Core Board | $50/80 | Artix 35T/100T | 256MB DDR3, 16MB SPI flash, 2 switches, 3 LEDs, JTAG header, and 108 length-matched I/Os. It's also compatible with a daughterboard which provides PMODs, USB-UART, camera interface, VGA, gigabit Ethernet, and more. There are reports that decoupling is insufficient, so beware. |
Digilent Cmod A7 | $75/89 | Artix 15T/45T | A breadboardable module with 512KB SRAM, 4MB SPI flash, USB-JTAG and USB-Serial, 3 LEDs, 2 buttons, 52 digital I/Os, and 2 analog inputs. |
Perf-V | $79 | Artix 35T | 4 switches, 5 buttons, 7 LEDs, JTAG 256MB DDR3, 16MB flash, Arduino shield connector, one PMOD, and some sort of high speed connector which supports expansion boards with HDMI and VGA. Larger FPGA sizes will apparently be available too. |
LiteFury | $99 | Artix 100T | A PCIe x4 gen 2 development board with an NVMe (2280 Key M) connector. It has 256MB DDR3, 128 Mb flash, 4 LEDs, and 12 I/Os (including four LVDS pairs). |
Alchitry Au | $99.99 | Artix 35T | 256MB DDR3, 102 digital I/Os, 9 differential analog inputs (8 shared with digital I/O), 8 LEDs, 1 button, USB-UART, and USB-C for power and programming. It has high density I/O connectors, but companion prototype/breaking ($10) and I/O with switches, LEDs, 7-Segs ($25) boards. |
QMTECH Artix-7 Wukong Board | $100 | Artix 100T | 16MB flash, 256MB DDR3, 3 switches, 4 LEDs, gigabit Ethernet, HDMI output, USB-UART, GTP transceiver interface, 2 PMODs, and 40 I/IOs. There are reports that decoupling is insufficient, so beware. |
Arty A7 | $129/249 | Artix 35T/100T | An inexpensive way to get into the Artix parts. It provides 256 MB DDR, 16MB flash, 10/100 Ethernet, USB-UART/JTAG, four PMODs, an Arduino shield connector (a total of 62 I/Os?), 4 switches, 4 buttons, 8 LEDs (4 of them RGB), and a one year licence for Vivado Design Edition. |
NiteFury | $149 | Artix 200T | A PCIe x4 gen 2 development board with an NVMe (2280 Key M) connector. It has 1GB DDR3, 256 Mb flash, 1 LED, and 12 I/Os (including four LVDS pairs). This is the same form factor as the LiteFury, with larger FPGA and memory. |
Numato Mimas A7 | $149 | Artix 50T | 128 Mb flash, 2Gb DDR, USB and JTAG programming interfaces, gigabit Ethernet, HDMI input and output, GTP interface, micro SD, 3x7 segement segment displays, 6 buttons, 8 DIP switches, and 80 I/Os (40 length-matched differential pairs). |
Digilent Basys 3 | $149 | Artix 35T | USB-UART, 12-bit VGA output, USB HID host, 16 switches, 16 LEDs, 5 buttons, a 4-digit 7-segment display, 4 PMODs with XADC inputs on one of them. A device-locked Vivado Design Edition is available for $10. |
Nexys-4 DDR | $320, $159 academic | Artix 100T | Pushing the limits of 'cheap' unless you qualify for academic pricing, but attractive if you need the larger FPGA. Includes 5 PMOD connectors (40 low speed I/Os), 128MB DDR RAM, 16MB flash, 10/100 Ethernet, USB HID host, SD card, VGA, accelerometer, microphone, audio out, 16 switches, 16 LEDs, 8 7-segment displays, 5 buttons. The Artix's internal ADC is available on one of the ports. |
EDGE Artix 7 FPGA Development board | $165 | Artix 35T | A full-featured development board with 32MB SDRAM, SPI flash, USB-JTAG and USB-UART, 802.11 b/g/n via an ESP-12F module, BLE, 12-bit VGA, HDMI out, 4 ADC channels, temperature and light sensors, 12-bit DAC, 2x16 LCD, 4x7 segment display, Micro SD, 16 SPDT switches, 5 buttons, 16 LEDs, a buzzer, and 31 I/Os. Compatible SPI TFT display and CMOS camera modules are also available. |
ZTEX USB-FPGA Module 2.1a | 129 EUR | Artix 35T | USB 2.0 interface via a Cypress FX2LP, 100 I/Os, 256 MB DDR3 SDRAM (16-bit), and 128 Mb flash. An inexpensive prototyping board (17 EUR) gives you 30 LEDs, 4 switches, and a soldering area. |
PicoEVB | $199 | Artix 50T | 4 analog/digital/LVDS I/Os, one high speed MGT and clock reference input with U.FL connectors, MGT loopback, 3 LEDs, 1x PCIe lane, and onboard JTAG programmer in a NGFF/M.2 form factor which can be installed inside a laptop computer for PCIe development |
Numato Neso | $300 | Artix 100T | 256MB DDR3, 128 Mb SPI flash, USB 2.0 interface for flash programming and 8 digital I/Os, JTAG, and 140 FPGA I/Os. |
Name | Price | Device | Notes |
---|---|---|---|
QMTECH Spartan-7 Core Board | $30 | XC7S15 | 16MB flash, 3 switches, 4 LEDs, JTAG connector, and 88 length-matched I/Os on 2.54" headers. There are reports that decoupling is insufficient, so beware. |
Spartan Edge Accelerator | $39.50 | XC7S15 | An Arduino form-factor board with six-axis accelerometer, mini HDMI output, CSI camera interface, micro-SD, five buttons, two LEDs, five DIP switches, USB, and an ESP32 for WiFi and Bluetooth. |
Cmod S7 | $69 | XC7S25 | A breadboardable module with 4 MB flash, 2 buttons, 5 LEDs (one RGB), 40 digital I/Os (32 on DIP connected and 8 on one PMOD), USB-UART and USB-JTAG |
Boolean Board | $69 | XC7S50 | An educational platform with an associated digital logic course. It features HDMI output, ADC, four servo controllers, 8-digit 7-segment display, 4 SPST buttons, 16 switches, 16 LEDs and 2 RGB LEDs, 4 PMODs, PWM audio output, USB programming/UART, and BLE ($10 extra) |
Arty S7 | $99/$119 | XC7S25/50 | 256 MB DDR, 16MB flash, USB-UART/JTAG, four PMODs, an Arduino shield connector (a total of 62 I/Os?), 4 switches, 4 buttons, 6 LEDs (2 of them RGB). |
EDGE Spartan 7 | $137 | XC7S15 | A development board with an array of onboard peripherals. It features 802.11 b/g/n WiFi and Bluetooth 4/BLE, VGA output, 8-channel ADC, DAC, temperature and light sensors, USB-UART and USB-JTAG, 2x16 LCD, 4 7-segment displays, 16 slide switches, 5 SPST buttons, a buzzer, 16 LEDs, and 26 I/Os. |
Name | Price | Device | Notes |
---|---|---|---|
Linsn RV901T | $15 (approx) | LX16 | Not a development board, but an 'LED driver card' which is available all over Chinese sites and has been reverse engineered. It has 64 Mb SDRAM, 32 Mb flash, two gigabit Ethernet ports, 1 LED, 1 button, and around 80 5-volt I/Os. |
QMTECH Spartan-6 Core Board | $16 | LX16 | 1MB flash, 32 MB SDRAM, 3 switches, 4 LEDs, JTAG connector, and 104 length-matched I/Os. There are reports that decoupling is insufficient, so beware. User manual and examples are provided. Also available is a daughterboard (approx $15) which provides 24-bit VGA, USB-UART, USB 2.0 peripheral controller, and CMOS/CCD camera connector. |
Anonymous Spartan-6 Core Board | $26/30 | LX16/LX25 | A no-name board with a JTAG port, 50 MHz oscillator, SPI flash (I think), and I/Os. |
XC6SLX9 Starter Board | $34 delivered | LX9 | A 'no name' board apparently available only on eBay. It has a Spartan-6 LX9, 4-digit 7 segment display, RS232 interface, 12-bit VGA, PS2, 8 LEDs, 3 buttons, 8-bit DIP switch, two PMOD interfaces, 26 digital I/Os, JTAG and SPI flash. |
Pano Logic Zero Client G2 | $40 (approx) | LX100/LX150 | A thin-client computing appliance that has been reverse engineered. Available from eBay. It features gigabit Ethernet, DVI and micro HDMI, USB2.0 host, button, RGB LED, audio DAC, 128 MB DDR2, and JTAG. Various resources are available online: Reverse Engineering, Description, Linux with LiteX/VexRiscv, Another Linux reference, Linux on SPARC LEON. |
Numato Mimas | $50 | LX9 | 16 Mb flash, 100 MHz oscillator, USB programming interface, 8 LEDs, four switches, and 70 I/Os. |
Digilent Cmod S6 | $69 | LX4 | A breadboardable module with 16MB SPI flash, USB programming and comms (compatible with Digilent Adept), 4 LEDs, 2 buttons, and 46 digital I/Os. |
miniSpartan6+ | $75/105 | LX9/LX25 | Two HDMI ports that can each act as either input or output, USB 2.0 programming and communications, 8-channel 8-bit 1 MSPS ADC, 32 MB SDRAM, 64 Mbit SPI flash, microSD slot, stereo audio out, 64 digital I/Os, 8 LEDs and 4 DIP switches. |
Numato Saturn | $80-$140 | LX9-LX45 | A range of boards with 16 Mb flash, 100 MHz oscillator, 512 Mb LPDDR RAM, USB programming interface and GPIOs (via the FT2232H), and 118-150 I/Os. |
Mesa Electronics | $89-258 | LX9/LX16 | A slightly baffling array of FPGA boards. Two that caught my eye were the 5I25, which is a PCI card with a Spartan-6 LX9 for $89 and the 6I25 (PCI Express) for $109. |
ZTEX | 74-119 EUR | LX16 | A range of modules with 96-100 I/Os, some with USB programming, and the top of the range one with 64MB DDR RAM. A very generous discount/rebate program is provided for open source projects that use their modules. |
Pepino | $100-155 | LX9-LX25 | A board designed to run the Oberon RISC system but also suitable for general development. Provides 1-2 MB SRAM, USB serial/JTAG, 8-bit VGA OUTPUT, two PS/2 connectors for keyboard and mouse, stereo audio output, micro-SD, 8 DIP switches, 1 push button, 9 LEDs, 22 I/Os, and SPI flash. |
XuLA2-LX25 | $119 | LX25 | A small breadboardable PCB with built-in USB programmer, 32 MB RAM, 8 Mb flash, 33 I/Os, and SD card socket. The design is completely open source. |
EDGE Spartan 6 | ₹ 8,500 ($132) | LX9 | A development board with 8MB SPI flash, USB JTAG programmer, USB UART, WiFi, Bluetooth, VGA, 8-channel 12-bit ADC, 12-bit DAC, temperature sensor, LDR, 2x16 LCD, 4*7 segment display, buzzer, 16 SPST switches, 16 LEDs, 5 buttons, and external CMOS camera and TFT display modules. |
Digilent Nexys 3 | $270, $189 academic | LX16 | Has a bunch of I/Os, a high-speed VHDCI connector (with matched pairs, but unfortunately it doesn't look like all traces are length matched), 10/100 Ethernet, USB host and USB-RS232, VGA, cellular RAM that sounds suspiciously like it won't work with the MIG, and 16MB of phase-change non-volatile memory. |
Numato Galatea | $300 | LX45T | A PCI Express card with an x1 PCIe interface. Also provided are 256MB DDR3, 2x GTP interfaces (SATA connector), micro SD, 112 I/Os with differential pairs and high speed connectors, and two SMA connectors for clock or digital inputs. 100baseT Ethernet is available with an expansion board. |
Name | Price | Device | Notes |
---|---|---|---|
Pano Logic Zero Client G1 | $20 (approx) | 1600E | A thin-client computing appliance that has been reverse engineered. Available from eBay. It features 10/100 Ethernet, VGA, USB2.0 host, audio DAC, button, RGB LED, 32 MB LPDDR, and JTAG. |
Waveshare | $22-30 | 250E/500E | Two modules that include a large number of digital I/Os (80 - 116), config memory, and four LEDs. An external JTAG programmer is required. |
miniSpartan3 | $25/35 | 50A/200A | A module with an HDMI port, 41 digital I/Os, a 4-channel, 8-bit 200 KSPS ADC, SPI flash, 32 MHz oscillator, three LEDs, two DIP switches, USB-serial and on-board USB JTAG. |
Demand Peripherals Baseboard4 | $30.00 | 100E | A controller board with 8 LEDs, three SPST buttons, 35 I/Os, and USB programmer. It forms the foundation of a robotics and automation ecosystem, supporting up to nine simultaneous peripherals sold by the same manufacturer, complete with an FPGA code generation tool and Linux API. |
Elbert V2 | $30 | 50A | A board with a 16Mbit of SPI flash, 8 LEDs, 6 SPST switches, 8 DIP switches, 3 7-segment displays, VGA and stereo audio output, 39 I/Os (including four PMOD connectors), and USB JTAG. |
Open Workbench Logic Sniffer | $50 | 250E | Borrows its design from the Papilio One and provides sixteen 5V tolerant buffered inputs, and compatibility with the Papilio One's 'wing' expansion boards. |
Gameduino | $53 | 200A | An Arduino shield that is intended to be an audio and video coprocessor for Arduino applications, but could be repurposed as a general-purpose FPGA interface board with the Arduino form factor. VGA and audio outputs, with SPI flash. |
XuLA-200 | $55 | 200A | A very small PCB with USB, a PIC18F, 8 MB of SDRAM, 2 Mb of flash, and user IO headers. It could be used as a plug-in module, or since the design is open source (with Eagle files), as the basis for a custom board (as long as it is also open source, as per the license). |
MicroNova Mercury | $99 | 200A | A breadboard-friendly 64-pin DIP module form factor. It provides 30 5V-tolerant I/Os, 9 other I/Os, an 8 channel, 200 Ksps ADC, 4 LEDs, a switch, 4 Mb SRAM, and programming over USB (with a Windows programming application). JTAG interface pins are also broken out. |
Digilent Basys 2 | $89, $69 academic | 100E | Four PMOD connectors, PS/2, VGA, 8 switches, 4 buttons, 8 LEDs, four 7 segment displays and on-board USB programmer. |
Aessent aes220 | 120 EUR | 200AN/400AN | A small stackable module that features a Cypress FX2LP USB controller, 128Mb SDRAM, 16 KB EEPROM, 72 GPIOs, 5 LEDs, 2 switches, and power via USB or external supply. |
Others:
Name | Price | Device | Notes |
---|---|---|---|
TinyFPGA A1/A2 | $12/$18 | XO2-256/1200 | 21 I/Os and programming over JTAG (a USB-JTAG programmer is available for $9). Breadboardable, and an open source design. |
UPDuino v3.0 | $24 | ICE40UP5K | A revised version of the original UPDuino with non-EOL parts, a stronger connector, and improved signal integrity. It also provides 32 I/Os, 4MB SPI flash with support for qSPI, RGB LED, USB programmer, an open source design, and compatibility with the tinyFPGA bootloader. |
MachXO2 Breakout Board | $26 | MachXO2-7000ZE | Eight LEDs, 108 I/Os, prototype area, JTAG connector, and on-board USB programmer. |
Silicon Frog FPGA-384 | $26.50 | iCE40 LP384 | A small board which can be configured to connect to either a Raspberry Pi, breadboard, or 3.3V Arduino. It has 27 I/Os, three LEDs, and flash, and is compatible with ICEstorm. |
iolinker | €25 | MachXO3-4300E | 49 I/Os. Intended to be used as an I/O extender/IO matrix/PWM generator for Arduinos, but also usable as a standalone FPGA board |
LXO2000 | €28 | LCMXO2-4000 | Compatible with the Arduino MKR standard, this board provides a total of 30 I/Os including one PMOD, JTAG and serial over USB, two buttons, and 8 LEDs. |
Devantech IceWerx | $30 | iCE40-HX8K | A small module with 63 I/Os, 4 10-bit A/D inputs (via a PIC microcontroller), 8Mb SPI flash, 2 LEDs, and USB programmer. Also available in a kit ($34) which breaks the module out to 2.54mm headers. |
Colorlight i5 | $35 (approx) | ECP5 LFE5U-25F | A repurposed LED video panel driver board available on AliExpress and similar places, which has attracted some community interest. It comes in a SODIMM form factor, which is shared by other larger 'Colorlight' boards. It features 8MB SDRAM, 2*1Gb Ethernet transcievers, 16 MBit flash, one user LED, and JTAG. At least two different 'base boards' are available - one breaks GPIOs out into PMOD-compatible connectors and the other provides dual Ethernet connectors and output buffers. |
Devantech iceFUN | $37 | iCE40-HX8K | A module with 45 I/Os, 4 10-bit A/D inputs (via a PIC microcontroller), 32 red LEDs in a 4x8 matrix, 4 push SPST buttons, piezo sounder, and USB programming. |
TinyFPGA BX | $38 | ICE40LP8K | 41 I/Os, with an in-built USB programmer. Breadboardable, and an open source design. |
WebFPGA | $38 | iCE40UP5k | Two LEDs (one RGB), SPST button, an STM32F04 microcontroller (user programmable, with USB interface), and 32 I/Os. Some companion boards are also available for LEDs, switch/joystick, and audio DAC. A Web-based IDE allows you to create Verilog designs and program devices without any software installation. |
iCEblink40-HX1K Evaluation Kit | $39 | iCEblink40-HX1K | USB programmer, four LEDs, four capacitive touch buttons, configuration PROM, 68 digital I/Os through 0.1" headers, and supposedly some PMOD and Arduino shield compatibility. |
LatticeXP2 Brevia | $43 | LFXP2-5E | 2 Mbit flash, 1 Mbit SRAM, USB programmer, 2x20 and 2x5 expansion headers, push buttons, 4-bit DIP switch, and eight LEDs. |
Fomu | $45 | ICE40UP5K | A board that fits inside a USB port and still includes 1 MB flash, RGB LED, and four buttons. The design is open source and a comprehensive training workshop has been developed. |
|Olimex iCE40HX8K-EVB | 39.95 EUR | ICE40 HX8K | 2 LEDs, 2 buttons, 2MB flash, 512KB SRAM, and about 160 I/Os, including an expansion bus which supports Olimex modules such as 100 MHz ADCs and DACs. |
iCE40-HX8K Breakout Board | $49 | ICE40 HX8K | A breakout board with 8 LEDs, 56 I/Os, SPI flash, and USB-UART and programmer. |
Bugblat PIF_2 | $49 | MachXO2-7000 | A Raspberry Pi add-on board that provides 17 external I/Os (in addition to those used to communicate with the Raspberry Pi), two LEDs, and programming circuitry. |
myStorm BlackIce II | $55.00 | ICE40 HX4K | A board compatible with Arduino shields, RPi hats, and PMODs with SD card connector, 4 LEDs, 2 buttons, 4 DIP switches, 4Mb SRAM, STM32L433 processor, 6 analog inputs, approximately 70 I/Os, USB programmer and USB-UART. |
Kolibri | $49.95 | ICE40HX4K | A USB dongle with an RP2040 MCU that allows the FPGA SRAM and onboard flash to be programmed over USB, and a USB-UART bridge to the FPGA. It includes 1MB SPI NOR Flash, 32MB OPI PSRAM, 1 PMOD port, 1 white LED, and an RP2040 MCU (Dual 32-bit ARM Cortex M0+) with 1MB flash and 8 GPIOs routed to the FPGA. |
Alchitry Cu | $49.99 | ICE4-HX8K | 79 digital I/Os, 8 LEDs, 1 button, and USB-UART over USB-C. It has high density I/O connectors, but companion prototype/breaking ($10) and I/O with switches, LEDs, 7-Segs ($25) boards. |
| Alhambra | $59.90 | ICE40 HX1K | An open hardware Arduino form factor board with 8 LEDs, 2 buttons, 4 analog inputs, 20 5v I/Os, 8 3.3V I/Os, and USB-UART and programmer |
Nandland Go Board | $60 | ICE40 HX1K | 4 LEDs, 2 SPST buttons, two 7-segment LED displays, micro USB for programming and USB-UART, VGA, and a PMOD I/O connector. It is designed to be used in conjunction with the tutorials available at nandland. |
FleaFPGA | $65 | MachXO2-7000HE | 256Mbit SDRAM, 512Kbit SRAM, USB 2 host, USB serial, VGA/composite video output, stereo audio, SD slot, PS/2 keyboard or mouse port, 18 GPIOs, 2 buttons, 4 LEDs, and built-in USB JTAG. |
iCEBreaker | $65 | iCE40UP5k | 128 MBit flash, two LEDs, USB-serial, one button, and three PMOD connectors. The WTFpga FPGA workshop/crash course targets this board. |
icoBOARD | 90 EUR | iCE40 | Currently taking pre-orders. It provides an FPGA supported by the open source Lattice synthesis toolchain and 200 I/Os (via PMOD and flat flex connectors). It is designed to be connected to a Raspberry Pi 2B / B+. |
ULX3S | $115/$155 | ECP5 12F/45F/85F | An open hardware design with many code examples and projects. It has 56 I/Os (28 differential pairs), 32 MB SDRAM, SPI flash, micro SD, 8 user LEDs, 7 buttons, audio, composite and digital video output, ESP32 for WiFI and Bluetooth, FM/ASK receiver (and transmitter?), 8-channel 12-bit ADC, RTC, USB-serial, and USB-to-FPGA. |
OrangeCrab | $119/178 | ECP5 25F/85F | Small, breadboard-compatible, Feather form factor. Interfaces: USB-C (also does DFU), SD-Card, I2C, SA-ADC, 128MB DDR3, RGB-Led. Fully open design, including schematic and PCB layout (KiCad) |
Butterstick | $219 | ECP5UMG-85F | Largest ECP5, with 4x Serdes (2x DCU) up to 5Gb/s. Includes 128GB DDR3, 1Gb/s Ethernet (RJ-45), 7x RGB LED, SD-Card, 3x Syzygy high-speed connectors (one of which is a Syzygy XCVR connector for the Serdes). Fully open design, including schematic and PCB layout (KiCad). Versions with 1GB memory or ECP5UMG-25F also exist. |
LatticeECP3 Versa | $262 | LFE3-35EA | Very occasionally reduced to $99 on special, but still one of the cheaper PCI-Express (x1) development boards with 64-Mbit flash, 1 Gbit DDR3, four SMA connectors (one full-duplex SERDES channel), dual gigabit Ethernet, expansion connectors, 14-segment alpha-numeric display, switches and LEDs, and USB programmer. It appears that the FPGA device requires a licensed version of the design software, but this is also available for $99 for the first year. Pricing options beyond the first year are not very clear. |
Name | Price | Device | Notes |
---|---|---|---|
Microsemi SmartFusion2 SoC FPGA KickStart Development Kit | $59 | M2S010S | Contains an integrated 166 MHz ARM Cortex-M3. This board provides a BLE 4.1 module, light, motion and temperature sensors, 4 LEDs, three PMODs, Arduino shield support, four RGB LEDs, two buttons, and serial/programming via USB. |
SMF2000 | $61 | M2S010 | A small FPGA module with integrated 166 MHz ARM Cortex-M3, 8 MB SDRAM, 8 MB QSPI Flash, JTAG and UART over USB, 3 pin header for Live Probe, 9 LEDs, 1 button, one PMOD, and a total of 31 I/Os. |
SmartFusion System-On-Module | $62 | A2F200 | 16 MB PSRAM, 16 MB flash, and Ethernet. A Starter Kit is also available. |
SmartFusion2 System-On-Module | $71-$123 | M2S005-M2S090 | A module with an integrated 166 MHz 32-bit ARM Cortex-M3. On board are 64 MB RAM, 16 MB flash, and 10/100 Ethernet. Also available is a $179 Starter Kit, which includes an FPGA module as well as USB/Ethernet connectors and a prototyping area. |
Actel IGLOO nano Starter Kit | $99 | AGLN250 | Switches and LEDs onboard, USB-serial, a USB programming adaptor, and what looks like plenty of low speed I/O. |
Microsemi SmartFusion Evaluation Kit | $99 | A2F200M3F | Integrated 100 MHz ARM Cortex-M3, 10/100 Ethernet PHY and on-chip MAC, USB-serial, on-board USB programming interface, OLED display, 8 LEDs, two user switches, and an indeterminate number of analog and digital outputs. It looks like a very interesting and inexpensive board for developing mixed FPGA/microcontroller applications. |
Future Avalanche | $180 | MPF300T | Wi-Fi, Gigabit Ethernet, 512 MB DDR3, SFP+ connector with one transceiver lane, Arduino headers including ADC, PMOD connector, mikroBus connector, USB-UART and JTAG, 8MB flash, 2 SPST switches, and 2 LEDs. |
Name | Price | Device | Notes |
---|---|---|---|
CYC1000 | 30 EUR | 10CL025 | An Arduino MKR form factor board with 8MB SDRAM, 2 MB flash, 3-axis sensor, 8 LEDs, 2 buttons, 21 I/Os, and USB |
https://fraserinnovations.com/product/altera-fpga-study-board/ | $59 | 10CL006 | A board intended for study purposes. It includes USB-serial and USB programming, 8 DIP switches, 6 7-segment displays, 8 LEDs, thermistor, potentiometer, photoresistor, 4 buttons, VGA, AD/DA, gigabit Ethernet, and two PMOD connectors. |
Arduino MKR VIDOR 4000 | $60 | 10CL016 | 8MB SRAM, micro HDMI, MIPI camera |
connector, WiFi, BLE, Mini-PCIe expansion connector (though no PCIe lanes), SAMD21 ARM Cortex M0+processor, LiPo battery support, USB, and 22 I/Os.||
Name | Price | Device | Notes |
---|---|---|---|
DE0-Nano-SoC | $99, $90 academic | 5CSEMA4U | Integrated dual core ARM Cortex-A9 with 88 digital I/Os, Arduino shield compatibility, ADC, 3 buttons, 4 switches, 9 LEDs, accelerometer, and USB programmer. The ARM processor is connected to 1GB DDR3, micro SD, USB OTG, USB-UART, gigabit Ethernet, |
Chamelon96 | $129 | 5CSEBA6U | A SoC with dual ARM Cortox-A9, 512 MB DDR3L, micro SD, 802.11 b/g/n, BT 4.1, USB 2.0 OTG, two USB 2.0 host, HDMI out (1080p @ 60fps), MIPI CSI connector, a low speed connector with UART, SPI, I2S, I2C and 12*GPIO and a high speed expansion connector, and 4 user LEDs. |
DE10-Nano | $130, $99 academic | 5CSEBA6U | Integrated dual core ARM Cortex-A9, HDMI output, Arduino shield compatibility, ADC, 88 digital I/Os, 5 buttons, 4 switches, 9 LEDs, accelerometer, and USB programmer. The ARM processor is connected to 1GB DDR3, micro SD, USB OTG, USB-UART, and gigabit Ethernet. |
Cyclone V GX Starter Kit | $179 | 5CGTFD9E | Packs 4 Gb DDR RAM, 4 Mb SRAM, high speed mezzanine connector with four 3.125 Gbps transceivers, 40 GPIOs, Arduino-compatible header with analog inputs, configuration flash, USB programmer, HDMI output, audio, 18 LEDs, 10 slide switches, 4 debounced buttons, CPU reset button, 4 seven segment displays, micro SD socket, and USB UART. |
DE1-SoC | $199, $150 academic | 5CSEMA5F | Contains an integrated dual core ARM Cortex-A9. The board has 64 MB SDRAM, 1GB DDR3, micro SD, dual USB 2.0 host, gigabit Ethernet, PS/2, IR emitter and receiver, around 80 digital I/Os, 8 * 12-bit 1MSPS ADC inputs, VGA, audio codec, analog TV video input, four buttons, 10 switches, 11 LEDs, 6 * 7-seg displays, accelerometer, USB-serial, and USB programmer. |
Name | Price | Device | Notes |
---|---|---|---|
DE0-Nano | $59 academic | EP4CE22F | 16 Mbit flash, USB programmer, 3-axis accelerometer, 8-channel 12-bit ADC, 106 pins over three expansion headers, 32 MB SDRAM, 2 Kb EEPROM, 8 LEDs, 4 DIP switches, and two push button switches in a very small package. |
devboards DB_START_4CE10 | 115 EUR | EP4CE10 | 16Mb SDRAM, 19 I/Os, 5 input pins, 6 LEDs, 2 buttons, and built-in USB programmer. |
Ordb2a-ep4ce22 | 149 EUR | EP4CE22F | A development board that was designed for the OpenRISC processor and comes with a Linux port. It contains 32 MB SDRAM, 1 MB SPI flash, SDIO connector, Fast Ethernet, USB OTG, USB serial/JTAG, and expansion connectors with 62 GPIOs. Also available is an SO-DIMM board with an ARM processor and Ethernet switch. |
devboards DB4CGX15 | 153 EUR | EP4CGX15BF | A reasonably priced PCIe development board with 32Mb SDRAM, 20 I/Os, 4 input pins, 2 LEDs, high speed transceiver I/O via MMCX connectors, and a built-in USB programmer. |
Name | Price | Device | Notes |
---|---|---|---|
Terasic Altera DE0 | $119, 81 academic | 3C16 | 8Mbyte SDRAM, 4 Mbyte flash, SD card socket, USB programmer, 3 buttons, 10 switches, 10 LEDs, 4 seven-segment displays, 16x2 LCD interface, VGA output, RS232 and PS/2 interfaces, and 72 I/Os. |
Name | Price | Device | Notes |
---|---|---|---|
MAX1000 | €22/32 | 10M08/10M16 | A small board with 9 analog inputs (some pins shared), 15 I/Os, 2 buttons, 8 LEDs, 8MB SDRAM, 8MB flash, 3-axis accelerometer, and on-board USB programmer. It has been reviewed by JV::Store. |
BEMICROMAX10 | $32 | 10M08 | An inexpensive but full-featured board with 8MB SDRAM, 3-axis accelerometer, 12-bit DAC, light and temperature sensors, 8 LEDs, 2 buttons, USB programmer, two PMODs, a total of around 135 digital I/Os (including 12 LVDS receive and transmit pairs), and 4 analog inputs. |
Rysino | $37 (approx) | 10M04 | An open hardware (BSD licensed) Arduino form factor board with 16 I/Os and 6 ADC inputs, USB-UART, 8 LEDs, and 4 DIP switches. |
Wayengineer | $28-77 | Cyclone II | A range of cheap boards from Shenzhen, most with RAM and a variety of I/O including LCDs, 7-segment LEDs, VGA, switches, etc. Again they're great value if you already have some experience with FPGAs, are comfortable reading schematics and don't require any vendor support. |
SNO | $49 | 10M16 | A tiny board that is designed to be compatible with the Arduino IDE. It has 32 I/Os, of which 6 are shared analog and digital. |
MAXimator | EUR49 | 10M08 | Another MAX 10 board with an Arduino form factor. It has 5V I/O, ADCs, HDMI and VGA output, four LEDs, and micro SD. There's also an expansion shield with extra 7-segment LEDs, RGB LEDs, and buttons. Comprehensively reviewed by Andy Brown |
EP2C20 core board | $62 | EP2C20 | Another Chinese board of unknown origin with little online documentation, but it looks like good value with one of the larger Cyclone II parts (18752 LEs), 256 Mb SDRAM, 2 Mb SRAM, a USB programming cable, four switches, and 30+ I/Os. |
Alorium XLR8 | $75 | 10M08 | A MAX 10 board that is a drop-in replacement for an Arduino Uno, and comes with FPGA-accelerated hardware components that can be used from Arduino sketches. It features 5V I/Os, Arduino-compatible ADCs, and USB-serial. |
FTDI Morph-IC-II | $110 | Cyclone II | Contains an FT2232H USB interface chip to provide high speed data transfer. It has a total of 80 to 96 I/Os (split between the FPGA and FT2232H, and depending on who you ask) with a 0.1" spacing. |
Fully supported by open source development tools.
Name | Price | Device | Notes |
---|---|---|---|
QuickFeather Development Kit | $49 | EOS-S3 | An open hardware and open source Feather form factor board with integrated ARM Cortex-M4F, accelerometer, pressure sensor, digital microphone, 16 Mbit flash, battery charger, USB, SWD debugging connector, RGB LED, SPST button, and 33 GPIOs. RTOS and AI/ML applications are well supported. |
Some interesting and less well known FPGA vendors. Take the time to listen to the very interesting interview with Efinix CEO Sammy Cheung on The Amp Hour.
Name | Price | Device | Notes |
---|---|---|---|
Sipeed Tang Nano | $5.90 | GOWIN GW1N-1-LV | A very low cost board with 1152 LUT4s. It has a RGB LCD driver (supporting 800x480) and FPC connector, 8MB PSRAM, 34 I/O, RGB LED, and USB-C for power supply and programming. |
Sipeed Tang Nano 4K | $14 | GOWIN GW1NSR-LV4C | 4608 LUTs, ARM Cortex-M3 hard core, 8 MB PSRAM, and 4MB NOR flash. For I/O there are two SPST buttons, one LED, JTAG-USB, HDMI, and DVP camera connectors, and 38 GPIOs. |
Sipeed TANG | $17.90 | Anlogic EG4S20 | 1 MB flash, 64 Mbit SRAM, RGB LED, TF card socket, FPC sockets for LCD or VGA adaptors and camera or ADC, resistive touch screen controller, USB-JTAG, and 72 I/Os. |
Gowin RUNBER | $29.90 | GOWIN GW1N-1-UV4L | An FPGA with 4608 LUT4s, USB-JTAG, 4-digit 7-segment display, 8 LEDs and 4 RGB LEDs, 8 SPST buttons, and 36 I/Os. |
FireAnt | $35 | Efinix T8F81C2 | A breadboard compatibile board with 35 GPIOs, 4 LEDs, and USB programming interface. |
Efinix Xyloni | $35 | Efinix T8F81C2 | A PMOD connector plus 32 other I/Os, Micro-SD slot, and USB-UART. |
Efinix Trion T8 | $100 | Efinix T8F8C1 | 5 LEDs, two buttons, 50 I/Os. |
Others:
Not strictly FPGAs, but a range of interesting reconfigurable mixed-signal devices.
Name | Price | Device | Notes |
---|---|---|---|
CY8CKIT-059 | $10 | PSoC 5LP | Integrated ARM Cortex-M3 on a breadboard-compatible board with a snap-away programmer/debugger. |
CY8CKIT-043 | $10 | PSoC 4200M | Contains an ARM Cortex-M0. A breadboard-compatible board with a footprint for a Bluetooth Low Energy module, and a snap-away programmer/debugger. |
PSoC 4 Pioneer | $30 | PSoC 4200 | Cypress' own cheap dev board offering. Integrates a Cortex-M0 and support for both Arduino shields and Digilent PMods, a CapSense slider, RGB LED, and one button. |
If you manufacture or know of any other cheap FPGA development boards, please let me know so that I can include them on this list. Review units will be cheerfully accepted! :)
There is a long and comprehensive list of boards at FPGA-FAQ that includes a couple of other cheap options - there are a number of Spartan-3 generation boards that I haven't listed.