From RevSpace
Jump to navigation Jump to search
Project MiniSTM32F103ZE
Making my miniSTM32F103ZE-EK board work
Status Initializing
Contact bertrik
Last Update 2018-05-27


This page is about a development board named "CZ miniSTM32F103ZE-EK" found on Aliexpress and making it work.

For about E12,- I ordered this STM32 board from AliExpress, it has 64 kB of RAM, micro SD card slot and a real-time clock on board. I'm looking if I can help to add support for this board to stm32duino and platformio.

This board is a nice candidate for a minimal bat call recorder: just add an analog preamplifier for the ultrasonic signal (+ a lot of software!). This thing already has all the other things: a fast 1 us ADC converter with DMA support, 64 kB of RAM for buffering ultrasonic audio, an SD card slot, a real-time clock to save files by date/time and a USB port for data transfer.


The STM32F103ZE appears to be quite similar to the STM32F103VE, with the following differences:

  • 144 pin package instead of 100 pin package
  • more ADC channels
  • more GPIOs


Software can be found on github. It consists of a simple command interpreter, type 'help' to see a list of commands.

Flashing the bootloader

To make it easy to upload software over USB, I recommend you install the stm32duino bootloader.

You need the stm32flash utility and a bootloader file for use with PE2. Get them from the stm32duino page.

Steps to flash the bootloader:

  • wire a USB-serial converter to the board:
 serial GND -> board GND
 serial +5V -> board 5V
 serial RXD -> board A9
 serial TXD -> board A10
  • put jumper BOOT0 in position 1 (to 3.3V)
  • put jumper BOOT1 in position 0 (to GND)
  • reset or power-cycle the board
  • flash the bootloader using stm32flash:
 ./stm32flash -w ../../../../STM32duino-bootloader/binaries/generic_boot20_pe2.bin -v -g 0x0 /dev/ttyUSB0
  • power down the board, put BOOT0 jumper back in position 0 (to GND)

If you now reset the board (e.g. press the reset button), you should be able to see the green LED flash.

You can now upload programs using the 'dfu' method, using the right USB port (marked "USB").


The archive contains a platformio configuration.

To compile:

 pio run

To upload:

 pio run -t upload

To run:

 pio device monitor