Using Visual Studio Code for ARM Development – Introduction

It can be quite overwhelming for hobbyist beginners like myself, to get started with ARM microcontrollers. Not only are there many chips, development boards, and programmers to choose from, but also many different development tools, from commercial IDEs to individual editors, compilers, and debuggers. VSCode is a new entrant, but quite a powerful one.

For hardware, I am using on STM32 microcontrollers. I have a Black Magic Probe programmer/Debugger and I am targeting a 1Bitsy development board. I also have an STM32F072B-DISCOVERY board that includes an integrated ST-Link.

I have dabbled with a handful of different tool sets for writing embedded code, but have not really been happy with most of them.

Recently, I have tried Microsoft’s Visual Studio Code, aka VSCode. It is a free, extensible, general-purpose code editor, and I really like it! It doesn’t have any built-in compilers or debuggers, but can integrate with them to act like an IDE.

Using VSCode for embedded software seems a little off the beaten path. I have found bits and pieces of information, and have solved some puzzles on my own. While I don’t have everything figured out yet, I thought I should collect what I’ve done in one place and share it.

First, these are all of the software tools I’m using:

This series will cover the following steps:

  1. Include Paths
  2. Defines
  3. Build Tasks
  4. Debugging with Black Magic Probe
  5. Debugging with ST-Link

Leave a Reply

2 Comment threads
0 Thread replies
Most reacted comment
Hottest comment thread
2 Comment authors
RobertPeter Recent comment authors
newest oldest most voted
Notify of

Here’s hoping you’ll get round to parts 4 and 5 – would be a great pity if you cut this series short just when it was getting interesting.


Would be great to read part 4 and 5. Debugging on STLink is the one thing I do not manage to run and I’m really sick of using the Systemworkbench from AC6