|Making my miniSTM32F103ZE-EK board work|
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.
- Forum post about this board on stm32duino forum.
- similar looking CZ_miniSTM32F103V_-EK board on the stm32duino wiki.
- official STM32F103ZE page on the ST website
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 processor present on this board 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
Here's the datasheet of this board: File:Ministm32f103zet6 core board schematic.pdf. Although dated 2013, the LEDs and buttons match up exactly with the actual hardware. The board is not actually the same as advertised: instead of mounting holes next to the JTAG connector, it has an 8-pin header for an NRF24L01 and room for another 8-pin header (ESP8266?). The 8-pin nRF24L01 connector is not on the schematic, so I think the board I received is an updated, slightly newer, version.
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 over USB using the 'dfu' method, using the USB port next to the microsd slot (marked "USB").
The software archive contains a platformio configuration. Once you have platformio installed, you should be able to compile, upload and run code from the command line as follows.
Preparation: follow the instructions here to configure non-root access to your board.
pio run -t upload
pio device monitor