The TinyFPGA boards are a new series of low-cost, open-source FPGA boards in a tiny form factor. Solder on pins for use in a breadboard or PCB socket; or solder connectors, wires, and components directly onto the board.
|TinyFPGA A1||TinyFPGA AX2||TinyFPGA BX|
|Distributed RAM||2 KBits||10 KBit|
|Block RAM||64 KBit||128 KBit|
|User Flash||64 KBit||6000 KBit|
|Phase Lock Loops||1||1|
|User IO Pins||21||21||41|
TinyFPGA in the News
- CNXSoft - Embedded Systems News
Buy with Shipping from USA
Buy with Shipping from Europe
The A- and B-Series boards use different FPGA families and their toolchains are different. See the below guides to learn how to get started.
I am developing a regular series of tutorials, articles, and hands-on labs utilizing the TinyFPGA boards. They can be found on hackaday.io: The Hobbyist’s Guide to FPGAs. If you are new to FPGAs and want to give them a try, this guide is for you. If you haven’t already, sign up for hackaday.io and follow the project to be notified when there are updates.
TinyFPGA Discourse Community
A brand new Discourse server has been setup for TinyFPGA. If you are interested in the TinyFPGA boards, join the TinyFPGA Discourse and ask away. Luke is there often to help troubleshoot problems, answer questions, and post news. Over time this will grow into the best place to meet other hobbyists, makers, and professionals interested in FPGAs and the TinyFPGA project.
Digital Design Tools
The A-series boards use the Lattice Diamond design software for synthesizing digital designs into FPGA bitstreams. It can be downloaded for free from Lattice Semiconductor’s website. Follow their instructions carefully to get a free license file.
The B-series boards use the open source Project IceStorm tools or Lattice iCEcube2 design software for synthesizing digital designs into FPGA bitstreams. Just like Lattice Diamond, iCEcube2 requires a free license file to be downloaded so be sure to follow their directions carefully. The open source IceStore toolchain needs no special license.
To jumpstart development simple iCEcube2 project template and IceStorm project template projects are provided with top-level verilog files that represent the pins on the B-series boards. These projects contain a timing constraint for the 16MHz clock and pin constraints for each of the pins. You can download the template as part of the TinyFPGA B-Series Repository ZIP.
The A-series boards are programmed via JTAG. There is a dedicated TinyFPGA Programmer available to purchase. It is the most cost-effective and convenient programmer for the A-series boards. It can be used with the TinyFPGA Programmer Application.
The B-series boards have a built-in USB bootloader. To program a bitstream use the TinyFPGA B-Series Programmer and select the serial port of the device and bitstream file. If you are using Linux or OSX you can run the programmer application as a Python script. It is available in the TinyFPGA B-Series GitHub Repo. You can download the programmer python scripts as part of the TinyFPGA B-Series Repository ZIP.
email: firstname.lastname@example.org Luke Valenty TinyFPGA 1750 Prairie City Rd Suite 130 #751 Folsom, CA 95630