I love developing with STM32 — they’re versatile, powerful, and can be tuned perfectly for almost any use case. For a long time, I used my trusty Nucleo‑64 board to program the custom PCBs I designed. But as the number of boards grew, so did the hassle:
- Moving jumper wires from board to board
- Double‑checking connections to avoid mistakes
- Fighting desk clutter
It was time to look more professional. Enter the ST‑Link.
Choosing the ProgrammerI had three options: A cheap ST‑Link V2 clone, The official ST‑Link V2, The new ST‑Link V3
After some research, I came to this simple deal breaker - V2 has no Virtual COM Port (VCP), meaning I’d still need a separate serial adapter. V3 includes VCP, supports higher speeds, and is future‑proof.
Since I code mostly in PlatformIO, serial is an essential debug tool. A separate USB‑UART adapter would defeat the purpose of upgrading. So I went for the ST‑Link V3.
But there was a catch: V3 uses 1.27 mm pitch headers instead of breadboard‑friendly 2.54 mm headers. Many of my friends who use my boards don’t have access to an ST‑Link V3.
The solution? Build an adapter board.
My Requirements- Bi‑directional conversion between 1.27 mm and 2.54 mm headers
- A reset button (you never realize how important this is until you don’t have one)
- 3.3 V power supply with Li‑Po battery support, switchable on/off
- An extra 4‑pin header for USART (honestly FOMO — others use it, so why not) here is one https://github.com/poggiolo/stdc14_jtag_adapter
Why do I need the 3.3V Power supply? When I hand‑solder the first batch of PCBs, I often leave the power supply circuitry for later. Using an external regulated supply lets me isolate problems quickly. If the board doesn’t work, I know it’s not the power section causing trouble.
I said bi-directional, Of-course it will be since I am simply bridging the pins via tracks. But the reason I voicing out explicitly is because, for people who do not have V3 and encounter a board with 1.27m headers, they can use this too.
For battery‑powered boards, I chose the MCP73831 — a tried‑and‑tested, economical Li‑Ion charging IC. Paired with a USB‑C port and a MOSFET, the circuit prevents the battery from discharging back into USB when connected.
This setup is simple, efficient, and reliable. But it also sparked an idea for the next revision: adding a serial converter chip. That way, if I only need to monitor UART output, I can connect this adapter via USB without even attaching the ST‑Link.
Rest is all simple layout. I went for the SMD Version of 1.27mm headers because they came with the plastic cap that protects the delicate pin from bending. If they ever did, plugging in the STDC14 ribbon cable is hell.
Then the question came, do I add mounting holes? I kept the placement of the USB, the 1.27mm headers, and the 2.54mm headers based on how I usually place the electronics on my desk. And usually I prefer not to have a case and I wanted to make it small as possible, and so no mounting holes. If you have comments, do add them, I will consider them in the next revision.
And So Fabricated
So that’s my little adapter board — nothing fancy, but it’s already made my life a lot easier. No more wrestling with jumper wires or worrying if I’ve mis‑plugged something. The ST‑Link V3 finally feels like the upgrade it’s supposed to be.
The extra 3.3 V supply has already saved me during bring‑up of a new board, and the reset button is one of those small things you don’t realize you depend on until it’s gone. I kept it simple and compact this round, but I’m already thinking about adding a serial converter in the next revision so I don’t even need the ST‑Link for quick UART debugging.
At the end of the day, it’s just a tiny tool — but it’s the kind of tiny tool that makes the whole workflow smoother.
Comments