STM32

From RevSpace
Revision as of 14:21, 6 November 2016 by Bertrik Sikken (talk | contribs) (hookup)
Jump to navigation Jump to search
Project STM32
HTB1PemDJpXXXXXHXpXXq6xXFXXXM.jpg
STM32 setup guide
Status Initializing
Contact bertrik
Last Update 2016-11-06

Introduction

This page is about inexpensive microcontroller boards containing an STM32 processor and how to get them to work.

You can find these board on AliExpress for less than E2,- if you search for "stm32f103c8t6". Yet they have nice specifications, see also http://www.st.com/en/microcontrollers/stm32f103c8.html , to name a few:

  • 32-bit ARM Cortex-M3 processor running at up to 72 MHz
  • 128 kB flash memory, 20 kB SRAM
  • USB and CAN controllers
  • 32 kHz crystal for RTC
  • dual 1 us A/D converter, DMA controller
  • the usual stuff like SPI, UART, I2C

They are even Arduino compatible, see:

Setting up the tool chain

This describes the steps I did to get a "blue pill" board to work on Debian Jessie.

Arduino IDE

Steps to set up the IDE:

  • get and install the latest Arduino IDE from here.
  • under menu Tools / Board / Board Manager, search for "zero" and install the Arduino Zero toolchain
  • get the Arduino_STM32 source code, for example, run in the console:
cd ~/code
mkdir stm32
cd stm32
git clone https://github.com/rogerclarkmelbourne/Arduino_STM32
  • create a symlink to the Arduino_STM32 source tree in your ~/Arduino/hardware directory, for example:
cd ~/Arduino/hardware
ln -s ~/code/stm32/Arduino_STM32 .
  • restart the Arduino IDE.

stm32flash

If you're running a 64-bit Linux, it can be convenient to add support for the 32-bit stm32flash utility, run:

sudo apt-get install libc6-i386

The tool chain installation should now be ready.

Hardware

The hardware I'm using, is the "blue pill", I soldered on the headers for easy plugging with dupont-wire. You'll also need a USB-serial converter.

I hooked it up as follows:

  • converter 5V -> board 5V
  • converter GND -> board GND
  • converter RXD -> board A9
  • converter TXD -> board A10