This is my open-source development board for Lattice iCE40 (iCE5LP) FPGA.
It features embedded STM32-based USB configuration loader, onboard M25Pxx series SPI-Flash, some LEDs\swithces\buttons, PLS\PLB headers and Saleae Logic compatible connector. It even have super feature - Hackaday logo!))
Software for STM32 created using STM32HAL and Labview from PC side. In current version it capable to make all Flash related read\write operations, load config to FPGA, execute custom SPI commands. This protocol based on USB-CDC with simple commands in format:
System:Command:Argument;\r (for example FLSH:DEPO; stands for execute Flash enter to deep power down mode command.
On optimized code it takes approximately 4s to load 70kB config file.