Drag-n-Drop FPGA Loading with Pico Dirty Blaster

Greg Steiert created an USB Blaster alternative which makes it possible to drag-n-drop an image onto an Altera FPGA:

Drag-n-Drop FPGA Loading

This project has taken many detours, often due to a lack of time for software development (or my preference for circuit-board design).  In any case the latest detour came when I learned about the PICO-DIRTYJTAG project by Patrick Dussud.  This project enables the $4 Raspberry Pi RP2040 Pico board to work with openFPGALoader to program a wide variety of FPGAs.  This would save me quite a bit of time with software development, or so I thought.

Getting PICO-DIRTYJTAG working with openFPGALoader was a breeze.  My first test was to load an image into the MAX10 10M08 Evaluation Kit that does not include an integrated loader.  openFPGALoader “supports” MAX10 through SVF files, which technically works, but is painfully slow.  So slow that I decided to find a better software solution.  I had stalled on my previous efforts to implement an SVF interpreter and decided to look for some other options.  Altera also provides STAPL JAM and JBC files for programming, and these are a little more embedded friendly.  JBC files convert JAM files to byte code and are more space efficient, so I opted to implement a JBC loader.

This new combined UF2 file can be drag-n-dropped onto the Pico board and will immediately program the FPGA through the pico-dirty-blaster adapter. The pico-jbi.uf2 JBC player firmware and the uf2jbc.py generator script are available at the pico-dirty-blaster github repo.

Drag-n-Drop FPGA Loading with Pico Dirty Blaster

A Breadboard Loving RP2040 Dev Board

The BREAD 2040 from Oak Dev Tech is now on sale for only $6.76:

What is it?

BREAD 2040 is a compact and breadboard friendly development board which features the Raspberry Pi RP2040, a NeoPixel compatible SK6812mini, Reset button, and all GPIO and SWD pins broken out in an easily breadboard able design. No weird pins on the ends! This board is also CircuitPython compatible meaning you can develop your projects faster with python.

Why did you make it?

The BREAD2040 was designed in an inspirational burst of energy while watching the CircuitPython Day Adafruit Board Tour.

What makes it special?

The BREAD 2040 takes an old fashion approach to this design, keeping in mind bread board friendliness as well as providing modern USB style plugs with the USB Type-C connector.

Read more on Tindie…

A Breadboard Loving RP2040 Dev Board