What is VPC

the main window of VPC

VPC (Visual Pin Configurator) is a visual tool, developed in Pascal language for Linux and UNIX systems, that helps you configure the complicated clock system of STM32L152RE microcontroller that is the brain of Nucleo-L152RE development board,

the clock setup window

the “pinout” of Morpho and Arduino connectors (you need to click on the “pins”),

the “pinout” of LQFP64 package of the microcontroller (you need to click on the “pins”),

and various internal and external peripherals that have their own configuration windows (not presented here, to save the space and time):

peripheral configuration

The result

VPC generates the entire folder structure of your project, initial C source code, the Makefile (if you are a console warrior), the required configuration files for the Visual Studio Code IDE and Cortex Debugger (that is, if you want to use an IDE and a Debugger), and all other files required for a successful compilation using the gcc toolchain.

Well, there is CubeMX

Yes, there is CubeMX, a complex application that serve all the development boards and STM32 microcontrollers created by ST.Microelectronics company but you must be aware that ST.M. retains the copyright of the generated code, even if it licenses to you under a free license – if you do not agree with the fact that ST.M. is the owner of parts of your project, you need to erase those parts of the code, which beats the purpose of using CubeMX. In short, for your commercial projects, you need to use something else because the licensor has the right to change the license at any moment in time – I got burned a couple of times…

Your project, your property

At every project generation, VPC allows you to copyright the project under your name and whatever license you want – it is entirely your intellectual property.

Open Source

VPC is not a black box. It is written in Pascal language and is entirely open source. At the date of this article, it serves one microcontroller and one Nucleo board. But you can develop it further and add more boards and microcontrollers. The executable is provided in repository but you can compile the project in order to have your own VPC executable. Details are included in a movie below (for an older version, but still useful):


  • it uses the older SPL library (actually, the VPC is the most complete visual tool for this library);
  • not all the features of the microcontroller are supported (but you can manually add them in your code).

Still, it is an alternative to all that treasure the freedom. Thank you for considering this project!