Tuesday, March 14th 2023
STMicroelectronics Provides Full STM32 Support for Microsoft Visual Studio Code
STMicroelectronics, a global semiconductor leader serving customers across the spectrum of electronics applications, has announced tool extensions that bring the advantages of Microsoft Visual Studio Code (VS Code) to STM32 microcontrollers. VS Code is a popular Integrated Development Environment (IDE), acclaimed for its ease of use and flexible features such as IntelliSense that simplifies and accelerates code editing. Access to the STM32 ecosystem, from within VS Code, now makes these features available to even more embedded developers of the wide STM32 community. It also lets developers accustomed to working on high-level and consumer applications easily create embedded solutions that are power-efficient, compact, and economical.
"Connecting VS Code with our STM32 ecosystem makes the power of the industry-leading STM32 family of microcontrollers more accessible than ever," said Daniel Colonna, Marketing Director Microcontrollers, STMicroelectronics. "Communities for whom VS Code is the preferred environment, including high-level software developers, academics, and enthusiasts and makers, can now choose to make their ideas real using STM32 MCUs without leaving their preferred development environment.""Through our deep collaboration with STMicroelectronics we have been able to provide capabilities that allow STM32 projects to be used in Visual Studio Code," said Marc Goodner, Principal Product Manager, Microsoft. "This provides an excellent solution for existing STM32 embedded developers while expanding the reach of the STM32 platform to the millions of developers already using Visual Studio Code."
The new support extends the selection of tools available to all STM32 developers, including hardware integrators and mass-market customers that typically choose from commercial tools or ST's free Eclipse-based STM32CubeIDE environment. VS Code and the STM32 VS Code Extension are available free of charge.
Further technical information
Following integration with the STM32 ecosystem, VS Code now lets developers edit, build, program, run, and debug STM32CubeIDE projects. These include projects generated with STM32CubeMX for STM32CubeIDE, projects delivered within firmware packages, and existing projects compatible with STM32CubeIDE.
All key elements of the STM32Cube ecosystem are available within the VS Code IDE, including STM32 Developer Zone, STM32 GitHub repository, the STM32CubeMX tool for project initialization and analysis, and the ST-MCU-Finder device-selection assistant.
Source:
STMicroelectronics
"Connecting VS Code with our STM32 ecosystem makes the power of the industry-leading STM32 family of microcontrollers more accessible than ever," said Daniel Colonna, Marketing Director Microcontrollers, STMicroelectronics. "Communities for whom VS Code is the preferred environment, including high-level software developers, academics, and enthusiasts and makers, can now choose to make their ideas real using STM32 MCUs without leaving their preferred development environment.""Through our deep collaboration with STMicroelectronics we have been able to provide capabilities that allow STM32 projects to be used in Visual Studio Code," said Marc Goodner, Principal Product Manager, Microsoft. "This provides an excellent solution for existing STM32 embedded developers while expanding the reach of the STM32 platform to the millions of developers already using Visual Studio Code."
The new support extends the selection of tools available to all STM32 developers, including hardware integrators and mass-market customers that typically choose from commercial tools or ST's free Eclipse-based STM32CubeIDE environment. VS Code and the STM32 VS Code Extension are available free of charge.
Further technical information
Following integration with the STM32 ecosystem, VS Code now lets developers edit, build, program, run, and debug STM32CubeIDE projects. These include projects generated with STM32CubeMX for STM32CubeIDE, projects delivered within firmware packages, and existing projects compatible with STM32CubeIDE.
All key elements of the STM32Cube ecosystem are available within the VS Code IDE, including STM32 Developer Zone, STM32 GitHub repository, the STM32CubeMX tool for project initialization and analysis, and the ST-MCU-Finder device-selection assistant.
15 Comments on STMicroelectronics Provides Full STM32 Support for Microsoft Visual Studio Code
I hear that VS Code is also pretty awesome, a Microsoft sponsored Notepad++ sorta speak.
Checkout the AVR16DD14: 10-bit DAC, 12-bit differential ADC, Zero-crossing detector, dual-power supply (PortC operates on a 2nd supply, effectively serving as an integrated level shifter), 79-cents in large volumes. 24MHz even at 1.8V (a huge improvement over old chips), etc. etc.
AVR32DB28 (DB-series) has everything DD has, but also 3x Rail-to-Rail OpAmps onboard. Though more expensive, 3x on-board Op-Amps absolutely make it worthwhile.
-------------
SAM L10, Atmel's new low-power 32-bit Cortex-M23, remains compatible with my Atmel programmer, and is competitive in today's market.
I've mostly been involved with "higher end" stuff, like Cortex-A type Arm based chips, but some 32-bit MCU projects as well.
Microchip isn't competitive in that space and for example, their PCIe switches are crazy expensive, but obviously targetting the server market.
I guess it depends what one need, but Microchip isn't known as the cheap alternative they once were.
The main benefit of Microchip, here in the hobby-scale, is their continued support of PDIPs / Through Hole. Even these latest AVR DD chips have 28-pin PDIPs available.
If you are familiar with Visual Studio then its super easy to adapt.
I use VS Community when programming in Windows. Some of my coworkers use VS Code and I've been impressed with what I've seen, though I'll probably stick with VS Community for any of my personal projects (and Atmel / Microchip Studio, which are VS based).
I've considered trying STM32 because the STM32F4 has embedded OpAmps, an exceptionally useful feature for mixed-signal processing that's common in my hobby-projects. Alas, AVR DB gave 3x rail-to-rail OpAmps to the AVR line of chips, and I'm able to just stick with Atmel (now Microchip) for a while longer. And Microchip has probably seen the writing on the wall, and has a slew of SAM / ARM chips available to anyone who wants ARM Cortex-M0+, or M23, or even M4 or M7 chips.
Not quite as big as the STM32 line going up to A processors, but still more than adequate for any of my personal plans in the reasonable future.
---------
So I guess STM32 is a good choice for people getting started today. But I got enough Atmel equipment in my homelab that it just makes more sense for me to stick with Atmel. Besides, 5V compatibility to work with all my stray 2N7000 MOSFETs laying around :)
5V compatibility is old-school, but useful given what through-hole MOSFETs can do. (seemingly stuck in 90s era, or earlier technology). Modern MOSFETs with SMD are definitely better, but require a new board design. Through hole tech is just easier IMO for home labs, for now anyway. Even if their specs are admittingly worse.
At the core is an instrumentation amplifier MCP6N11, which I'll configure (with resistors) to be ~212x multiplier over a 4.7 Ohm resistor. It feeds into an AVR32DD28 PDIP (12-bit ADC), and possibly an oscilloscope pin (After the 4.7 ohm x 212 multiplier, the voltage is multiplied by 1000x evenly). So a 1mA current will show up as a 1V swing. A 0.5mA current will show up as a 0.5V swing.
Now that 0.5mA (and other small currents) are at a "visible" level of amplification, I can just use the AVR DD's 12-bit ADC to read that voltage accurately. The on-board clock is guaranteed to be +/- 1% (pretty bad, all else considered, but fine for this project). A bit of calibration / a few trimmer pots in the right spots and I should be able to get 4-digits (0.01% accuracy) on this sensor.
The output will be on a standard LED 7-segment display. Each segment requires 20mA to drive (5V over 220 resistor == around the 20mA or less). The worst case power-usage is 8x segments, or 160 mA total. The 160mA cannot be sunk by the AVR32DD28, so I'm using the 2N7000 NMOS to sink that current instead.
Each of the 20mA can be driven from the AVR32DD28, as each pin has +/- 50mA (!!!) drive strength.
-----------
A standard op-amp is a poor fit for what I'm doing, so I had to go out and buy a specific instrumentation amplifier (MCP6N11). But in many situations, a normal OpAmp could be used instead (at which point I'd use the AVR DB chip that comes with a free op-amp).