Full duplex SPI emulation for STM32F4 microcontrollers, software expansion for STM32Cube (AN4678)

The X-CUBE-SPI-EMUL embedded software provides an emulated simplex or full-duplex SPI in the master and slave modes.

The SPI emulator is needed in applications that require more SPIs.

The X-CUBE-SPI-EMUL embedded software also offers two examples of communication between a hardware and a software SPI.

For more details refer to the application note AN4678.

Key Features

  • Simplex/full-duplex, synchronous, serial communication
  • Master and slave operations
  • SPI clock up to 6 MHz in full-duplex mode with CPU operating at 168 MHz
  • Programmable data word length: 8 and 16 bits
  • Programmable clock polarity and phase
  • Programmable data order with MSB-first or LSB-first shifting
  • Flexible GPIO usage: all GPIOs can be configured as SPI MOSI/MISO
  • Status flags/interrupt


Technical Documentation

Product Specifications
Description Version Size
DB2659 DB2659: Full-duplex SPI emulation software expansion for STM32Cube 1.0 119.68 KB
Application Notes
Description Version Size
AN4678 AN4678: Full duplex SPI emulation for STM32F4 microcontrollers 1.0 1.63 MB
User Manuals
Description Version Size
UM2312 UM2312: Development checklist for STM32Cube Expansion Packages 1.0 283.23 KB
UM2285 UM2285: Development guidelines for STM32Cube Expansion Packages 1.0 485.46 KB

Presentations & Training Material

Description Version Size
STM32 and STM8 embedded software solutions 7.0 3.12 MB

Publications and Collaterals

Description Version Size
STM32 Open Development Environment Brochure 17.09 1.21 MB
Sensor & motion algorithm software pack for STM32Cube 1.0 544.58 KB


License Agreement
Description Version Size
SLA0048 SLA0048: Mix Ultimate Liberty+OSS+3rd-party V1 - SOFTWARE LICENSE AGREEMENT 5.2 87.58 KB

Get Software

Part Number General Description Software Version Supplier Marketing Status GitHub link Download
X-CUBE-SPI-EMUL Full duplex SPI emulation for STM32F4 microcontrollers, software expansion for STM32Cube (AN4678) 1.0.0 ST Active -


Support & Community