Use the bootloader

Once you have a valid bitstream programming it into the TinyFPGA BX is easy because it has a bootloader. The FPGA itself has a bootloader capable of loading a bitstream over an SPI bus. The BX board has an SPI flash memory and with the TinyProg utility you can program a bitstream into that memory over a standard USB connection after pressing the board’s pushbutton (the LED starts pulsing). When done the FPGA will reprogram itself with the new bitstream and your new application will run.
 
TinyFPGA BX my first program
My first TinyFPGA BX program done in Icestudio.

Excellent product

FPGA development remains a complicated job, but open source and open hardware tools like TinyFPGA and Apio manage to make it more accessible. Although still a long way from Arduino-style microcontroller development, they definitely bring FPGAs closer to the people.

The TinyFPGA BX board is not just a board to learn FPGA programming with, it is a serious board that can be useful in many applications thanks to its 31 dedicated I/O pins plus 10 shared pins. Thanks to its small size it will easily find a place even when space is tight.

Being an open source oriented board doesn’t mean that closed-source tools have been left out, and project templates for Lattice iCEcube2 are available too.

Nothing to criticise?

The only minor point of criticism that I have is the TinyFPGA website. Although very small it is full of links that take you all over the place and I found myself continuously clicking back and forth between pages while writing this review.