STM32F303 + ice5 Development Board

STM32F303 + ice5 Development Board

What is it?

The STM32F303 + ice5 is a small (2.5" x 1.8") board with an STM32F303CCT6 MCU and a Lattice ice40 Ultra FPGA. USB, Micro SD, PMOD and GPIO interfaces allow development of complex projects in control and signal processing.


Lattice ice40 Ultra parts can be configured either from internal OTP flash or externally. This board allows the STM32 processor to configure the FPGA either from on-chip flash (the configuration bitstream is ~70kB and fits easily in the 256kB on-chip flash) or from the micro SD interface.

Software Development

The STM32 family of parts are supported by a variety of commercial IDEs, all of which are available in low-cost or limited free versions from the ST website.

I prefer to use open-source tools so I've set up a development environment based on the GNU C compiler for ARM, available for free from the Launchpad project. For downloading to the target I use OpenOCD and the ST-Link V2 SWD interface that's available on most all of the inexpensive STM32 Discovery boards. To accelerate development I also use the STM32 Standard Peripheral Library as a starting point for my code and then optimize out the heavyweight functions as required. Links to all of these are here:

Hardware Development

The Lattice ice40 Ultra family is supported by a freely available iCEcube2 toolchain from the manufacturer. Lattice iCEcube2 Download Page

Unfortunately, the Ultra variant is not supported by the Open Source Project Icestorm toolchain at this time. Keep checking their site for future developments. Icestorm Project Page

What can it do?

This board provides plenty of horsepower for DSP. The iceRadio project demonstrates some of the things I've been able to do with it.

Design Documentation


Return to Embedded page.

Last Updated

Valid HTML 4.01 Transitional