iceflashprog

Assembly

Table of contents

The iceflashprog hardware is based on the stm32f0-usbd-devboard with a flat cable connecting it to the FPGA board's UEXT header. The firmware fits the smallest microcontroller supported by the devboard (16 KB flash, 6 KB RAM), so any STM32F042K variant works.

iceflashprog, front view

iceflashprog, front view

iceflashprog, back view

iceflashprog, back view

Parts list

PartQuantityDescription
stm32f0-usbd-devboard1Base controller board
10-wire flat cable1Connects devboard to the FPGA board's UEXT header
M2 self-tapping screws8For the 3D-printed case (4 for devboard mounting, 4 for case assembly)

Wiring

A 10-wire flat cable connects the development board to the UEXT header on the FPGA board. The cable can be soldered directly to the devboard pads, or standard header pins with DuPont cables can be used instead.

Cable wirestm32f0-usbd-devboard pinFPGA / UEXT pin
13.3V3.3V / Floating
2GNDGND
3A9RxD (unused)
4A10TxD (unused)
5B1CDONE
6B0CRST
7A6SDI
8A7SDO
9A5SCK
10A4SS_B

Warning

The solder jumper connected to Pin 1 of the UEXT header, which is open by default, should not be closed. The stm32f0-usbd-devboard is powered by its USB port.

LED behavior

When the device is powered on (or reset by the USB host or the internal watchdog), the LED stays on until the device is successfully enumerated by the USB host. After enumeration, the LED turns on whenever there is SPI data being transferred to the flash memory.

3D-printed case

A simple OpenSCAD case model is included in the project repository. The base and cover STL files are ready to print and the case is compatible with M2 self-tapping screws.

iceflashprog in its 3D-printed case

iceflashprog in its 3D-printed case

Firmware

After assembling the hardware, flash the firmware to the microcontroller. See Firmware for build instructions and flashing methods.