DIY STM32 Programmer (ST-Link/V2-1)

From Stm32World Wiki
Revision as of 04:19, 13 July 2021 by Lth (talk | contribs)
Jump to navigation Jump to search
Original ST-Link

ST-Link devices are almost essential when developing software for the STM32 MCUs. They are relatively cheap and easily available.

They roughly fall into two different categories. ST themselves make a number of them and they all work quite well.

One thing that annoys me with the original ST-Link devices is that the programming header is unlabelled. This essentially mean that every time I use it I have to Google for the actual pinout.

Also, the ones I've got (the one in the photo to the right) are ST-Link/V2 devices.

Chinese knock off ST-Link/V2

There are also a lot of Chinese clones available and while they have some limitations they also work quite well.

Unfortunately these devices are also ST-Link/V2 devices, and they do not have the SWO pin on the header, so any debug trace is impossible. For flashing and normal debugging they work fine though.

In short, the ST-Link/V2.1 devices offer a few extra features:

  1. Serial Wire Trace (SWO)
  2. Virtual serial port
  3. Mass storage

Original ST-Link V2.1

The schematic of the original ST-Link is readily available

ST-Link V2.1 Original Schematics.png

Schematics

Based on ST's original schematics, creating a version using only parts from JLCPCB's parts library was easy.

DIY ST-Link V2.1.svg

One thing I left out was the serial resistors of the programming header. This might very well come back and bite me in the ass but space is going to be at a premium.

PCB

The final rev. a layout looks like this:

PCB Layout rev. a.png

The KiCAD 3D model:

PCB Layout rev. a - 3D model.png

Miscellaneous Links