The iCE40 series of FPGAs gets a fair bit of coverage on these pages, largely due to its accessibility (thanks to huge efforts in reverse engineering and open tool chains) and likely also due to Lattice Semiconductors’ attitude to open source in general. Whilst these devices are small and rather limited, you can’t really beat them for a first foray into the subject. They’re plenty beefy enough for many of the simpler FPGA applications. [TinLethax] over on Hackaday.IO has plenty of experience with the devices, and has added another tool to our collective iCE40 arsenal, namely iCEBlaster, a USB mass storage device (MSC) style bootloader for drag-n-drop bitstream loading. The days of needing dedicated special programmers are starting to be numbered, with many chips now presenting a USB mass storage device to the host in order to upload the firmware image.
FPGAs don’t tend to operate this way, needing a device-specific bitstream loading upon start-up, which (unless they have OTP memory) is usually the job of an external configuration memory. iCEBlaster (a play on the Xilinx ByteBlaster programmer, maybe?) runs on the STM32F4xx series devices at least, but should be easily portable to others. The idea is pretty straightforward — dragging a new bitstream file onto the storage device initiates an FPGA target reset, which in turn allows the STM32 to send the bitstream over to the iCE40 via the SPI interface. Nothing more than that.
If you’ve been looking to get into the iCE40, this guide might be a good starting point, and every learning experience needs a good project to drive it, how about running Doom on a softcore RISC-V?








the collection of instrument controllers. These controllers are generic enough to take RS485 input and control a dedicated driver for either an array of floppy drives (up to 192), an array of hard drives or the handful of scanners. The way the floppy drives are grouped is quite neat. Rather than using each drive to generate a specific tone, the software uses the whole column for each note. By varying the number of drives moving simultaneously over time, the sound volume varies, simulating the note envelope and giving a richer sound. Multiple columns driving in parallel give the system a 16-note polyphony. The floppies cover the low notes, with the four flatbed scanners covering the higher notes. MIDI drum sounds are mapped to the hard disks, operating in a, well, percussive manner, with different case shapes giving unique sounds. Even the firmware can be updated over MIDI! So, checkout the demo video after the break for a sweet rendition of the very familiar “Entry of the gladiators” by