Joel Williams
joelw.id.au · Personal blog · on HN since 2014
Joel Williams is a hobbyist who maintains a list of cheap FPGA development boards with advice on what to look for.
What HN saysHN commenters repeatedly share his list as a handy starting point for people looking for an inexpensive FPGA board.
16HN people shared it
13linked it in comments
6stories submitted
398story points
3 years agolast shared
2014people per year2026
Most-shared posts
- 1Cheap FPGA Development Boards: What to look for15 people · 398 points · first shared 2014 · 61 comments on HN
- 2CheapFPGADevelopmentBoards1 people · first shared 2020
What HN people wrote when they linked it
maxekman · 2023-11-06
On this awesome list [1] I found the ICEBreaker board [2] which was great to learn on. It’s a fully open source design too [3].
1. https://www.joelw.id.au/FPGA/CheapFPGADevelopmentBoards
2. https://1bitsquared.com/collections/fpga/products/icebreaker
3. https://github.com/icebreaker-fpga/icebreaker
Edit: link formatting.
snvzz · 2022-09-30
>Are there any cool hobbyist uses of these things?
Yes, there is, if you're willing to learn.
>Always game to learn a new tech.
Great. A good starting point is NANDLand[0].
Their board is not at all a bad purchase at <$100, particularly to follow their tutorials, but you can do better[1] if you are adventurous. e.g. iCEBreaker or iCESugar.
I'd still recommend to stick to iCE40 and the open source yosys/nextpnr stack, until you become competent enough to actually know what you want/need.
[0] https://nandland.com/
[1] https://www.joelw.id.au/FPGA/CheapFPGADevelopmentBoards
cozzyd · 2021-10-28
Can I do right now... no but probably could figure it out :).
I don't have any specific recommendations for a dev board, though a selection of some cheap dev boards is here: https://www.joelw.id.au/FPGA/CheapFPGADevelopmentBoards
If you search around on Alibaba you can find some cheap dev boards that appear to have ethernet already (instead of you having to provide an ethernet PHY, which I think takes up something like 18 IOs?). Beware that even though most dev boards have a USB interface for programming it probably doesn't function as a USB for comms (i.e. you'd probably need to provide another USB PHY). Each I2S device probably requires 3 GPIOs. Someone who knows a lot more about this can probably make a much better recommendation.
If you do the beamforming on the FPGA then you probably only need to output a lot less data that might be easily done over a simple UART.
In the end, designing your own board with the right-size FPGA is probably the right solution, but that's only cheap per-unit in quantity and requires someone who more than sort of knows what they're doing. Though for someone who knows what they're doing it'd be a relatively quick project...
joelby37 · 2022-10-18
As an alternative, here's my list of cheap FPGA development boards: https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards . It covers a bunch of other vendors.
rkangel · 2022-07-22
This "directory" might be of help. A year or two out of date now though:
https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards
adolph · 2022-02-15
Thanks for the reply. I found the below page as a relatively updated info source. It is interesting to see your note about FPGAs being more akin to GPU and then see many development boards pair a FPGA with an Arm processor.
https://www.joelw.id.au/FPGA/CheapFPGADevelopmentBoards
rvalles · 2021-09-28
I learned the FPGA ropes by making (from scratch, reinventing many wheels) a fast interface between dbus (TI calculator link port) and a standard serial port in Verilog. It is dramatically faster than every other "link cable" available.[1]
Thanks to IceStorm/yosys/nextpnr, I never had to touch a proprietary tool to do this.
There's now very cheap, OSHW development boards to get started with[2].
[1] https://github.com/rvalles/dbus_ti_link_uart_verilog
[2] https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards
neurotech1 · 2020-12-09
For those who want different cheap FPGA board options, this page is a good option. Some iCE series boards included.
https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards
AlbertoGP · 2020-08-08
When I saw the Parallella (https://parallella.org) listed there I thought that it must be a very old list, but it turns out that it’s still being sold at least by Digikey.
The page is updated though, as can be seen in the edit history with the link at the page footer:
https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards?action=diff
As of this writing, the last update was on 2020-07-20.
I’ve sent an e-mail to the author pointing him to this discussion in case other corrections get posted here.
kristianp · 2018-12-04
This website has a lot of suggestions. The zynq SOC is also used in the Parallella:
https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards
The miniZed board⁽¹⁾ uses a Xilinx chip, but it doesn't seem to come with a license for software except for SDSoC⁽²⁾, which doesn't seem to provide any software for HDL, just C++ and OpenCL.
[1] https://www.xilinx.com/products/boards-and-kits/1-odbhjd.html
[2] https://www.xilinx.com/products/design-tools/software-zone/sdsoc.html
edwintorok · 2018-09-04
There is a large list here (including this one): https://www.joelw.id.au/FPGA/CheapFPGADevelopmentBoards
The ICE40 chips are the ones supported by the open source icestorm toolchain.
magicalhippo · 2020-03-13
I've so far been quite happy with the iCE40UP5k[1] based dev kit I got, though there are a lot of options out there[2].
The iCE40 FPGAs are a bit whimpy compared to Altera and Xilinx offerings from what I understand, but I really liked the idea of an open-source toolchain[3][4] being available.
To get a taste without committing cash you could just use a simulator[5], which I imagine you'd be using a fair bit anyway as it allows you easier access to the internal state.
As to actually programming, I've found the following resources useful. I started with Verilog mainly because code-gen tools like nMigen[6] generate Verilog, but for writing by hand it seems VHDL is preferred.
Anyway, links, first off some exercises to get going[7]. Introduction to Verilog[8], also has a nice general overview of HDL. Details of how non-blocking vs blocking statements in Verilog works[9], quite specific but was very informative for me.
There's also quite a lot of activity over at Reddit[10], and good experiences over at the EEVBlog forums[11].
As I said I just got started so no expert yet :)
[1]: https://www.digikey.com/product-detail/en/lattice-semiconductor-corpor…
[2]: https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards
[3]: https://symbiflow.github.io/
[4]: https://github.com/cliffordwolf/icestorm
[5]: http://iverilog.icarus.com/
[6]: https://nmigen.org
[7]: https://www.fpga4fun.com/
[8]:…
peter_d_sherman · 2018-10-29
"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:
Gigabit Ethernet
HDMI/DVI
PCI/PCI Express
External non-serial memory (DDR/Flash etc.)
Things that are relatively easy to add, and are not so much of a big deal to wire up yourself.
MMC/SD cards
Character (e.g. 16x2) LCDs
Anything I2C/SPI and relatively low speed
VGA (with low colour depth)
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."
Found here: https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards