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 or Ultra PlusFPGA. USB, Micro SD, PMOD and GPIO interfaces allow development of complex projects in control and signal processing.


Lattice ice40 Ultra and Ultra Plus 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 Ultra configuration bitstream is ~70kB and Ultra Plus is ~105kB, either of which fits easily into 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

Ultra Plus FPGAs are now supported by the Icestorm toolchain. Ultra FPGAs are not yet supported but are similar enough to Ultra Plus that they may well be supported in the future. Keep checking at the project website as more device support is added frequently.

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