Hello,
After using ATMEL microcontrollers, including AVRs, with the Arduino environment in numerous projects, I tested "blackpills" that I programmed either via DFU with a USB connection or via SWD with an ST-LINK V2 programmer purchased from a Chinese website.
Completely convinced by the STM32, I am now looking for the right tool to program and debug STM32-based boards in the Arduino environment. Both smaller microcontrollers like the STM32G0 and more powerful ones like the STM32H7, but not integrated into Nucleo boards. I've looked at ST tools, but I'm not sure which one to choose. Are there any alternatives to ST? What do you recommend?
Thank you for your answers.
STM32 programming and debugging tools
Re: STM32 programming and debugging tools
get this
https://www.adafruit.com/product/2548
or this
https://www.st.com/en/development-tools/st-link-v2.html
https://octopart.com/search?q=st-link+v ... SD&specs=0
as for boards, weact sports quite a few
https://weactstudio.aliexpress.com/store/910567080
adafruit has a Adafruit Feather STM32F405 Express
https://www.adafruit.com/product/4382
olimex sports quite a few
https://www.olimex.com/Products/ARM/ST/
micropython has quite a few
https://store.micropython.org/
and don't forget ST itself
https://www.st.com/en/evaluation-tools/ ... oards.html
among them discovery boards which includes the 'high end' chips with npu etc
https://www.st.com/en/evaluation-tools/ ... -kits.html
then in 'online flea markets' e.g. aliexpress, you would find many.
but that some of the boards especially stm32f103c8 could be 'clones' or even sometimes outright 'fakes', buyer beware
stm32duino ('official' stm core)
https://github.com/stm32duino/Arduino_Core_STM32
uses quite a bit of resources to run.
so choose mcus with more flash and sram, e.g. the stm32f401/f411 devices or 'higher', e.g. g4xx, h5xx etc
https://github.com/WeActStudio/WeActStu ... iSTM32F4x1
stm core would likely run in boards with small amount of sram and flash.
but that sometimes, one would quickly run up against the limits and needs to do 'mitigations' to work around 'too fat' apps.
https://www.adafruit.com/product/2548
or this
https://www.st.com/en/development-tools/st-link-v2.html
https://octopart.com/search?q=st-link+v ... SD&specs=0
as for boards, weact sports quite a few
https://weactstudio.aliexpress.com/store/910567080
adafruit has a Adafruit Feather STM32F405 Express
https://www.adafruit.com/product/4382
olimex sports quite a few
https://www.olimex.com/Products/ARM/ST/
micropython has quite a few
https://store.micropython.org/
and don't forget ST itself
https://www.st.com/en/evaluation-tools/ ... oards.html
among them discovery boards which includes the 'high end' chips with npu etc
https://www.st.com/en/evaluation-tools/ ... -kits.html
then in 'online flea markets' e.g. aliexpress, you would find many.
but that some of the boards especially stm32f103c8 could be 'clones' or even sometimes outright 'fakes', buyer beware
stm32duino ('official' stm core)
https://github.com/stm32duino/Arduino_Core_STM32
uses quite a bit of resources to run.
so choose mcus with more flash and sram, e.g. the stm32f401/f411 devices or 'higher', e.g. g4xx, h5xx etc
https://github.com/WeActStudio/WeActStu ... iSTM32F4x1
stm core would likely run in boards with small amount of sram and flash.
but that sometimes, one would quickly run up against the limits and needs to do 'mitigations' to work around 'too fat' apps.
Re: STM32 programming and debugging tools
Thanks for the reply.
Indeed, there are many STM32 boards available from reputable manufacturers, offering a wide range of choices.
Regarding programmers/debuggers, which one should I choose to work well with the Arduino IDE:
- STLink V2
- STLink V3MINIE
- Adafruit STLink V2
- WeAct – Mini debugger DAPLink STLink
- Other?
Indeed, there are many STM32 boards available from reputable manufacturers, offering a wide range of choices.
Regarding programmers/debuggers, which one should I choose to work well with the Arduino IDE:
- STLink V2
- STLink V3MINIE
- Adafruit STLink V2
- WeAct – Mini debugger DAPLink STLink
- Other?
Re: STM32 programming and debugging tools
st-link v3 minie is quite interesting, accordingly it has usb 2.0 high speed (that is 480 Mbps)
https://www.st.com/en/development-tools ... minie.html
unfortunately, I do not have that and can't tell you much about it.
if it can bridge spi over usb 2.0 high speed, in addition to being a debug dongle, one may be able to use it to bridge with some of the stm32 mcus that has ADCs that could go up to 20 Msps (and beyond?), that literally give you a usb DSO (digital storage oscilloscope) for it
https://octopart.com/stlink-v3minie-stm ... 02320?r=sp
https://www.digikey.com/en/products/det ... VdO2HklJEd
https://www.mouser.com/ProductDetail/ST ... 2209629478
https://sg.element14.com/stmicroelectro ... dp/3953430
do feed back about it here if you get one and try it out.
'defacto' debug / jtag tool is st-link v2, as like given earlier
I prefer the 'Adafruit' form factor of st-link v2, smaller, simpler, good enough for swd debug.
https://www.adafruit.com/product/2548
But that I think the 'full blown' official st-link v2
https://www.st.com/en/development-tools/st-link-v2.html
likely have functions that won't be there in the small 'Adafruit' st-link v2
I stumbled into a good tech note about them, reviewing the docs for st-link v2
https://www.st.com/resource/en/technica ... ronics.pdf
https://www.st.com/en/development-tools ... minie.html
unfortunately, I do not have that and can't tell you much about it.
if it can bridge spi over usb 2.0 high speed, in addition to being a debug dongle, one may be able to use it to bridge with some of the stm32 mcus that has ADCs that could go up to 20 Msps (and beyond?), that literally give you a usb DSO (digital storage oscilloscope) for it
https://octopart.com/stlink-v3minie-stm ... 02320?r=sp
https://www.digikey.com/en/products/det ... VdO2HklJEd
https://www.mouser.com/ProductDetail/ST ... 2209629478
https://sg.element14.com/stmicroelectro ... dp/3953430
do feed back about it here if you get one and try it out.
'defacto' debug / jtag tool is st-link v2, as like given earlier
I prefer the 'Adafruit' form factor of st-link v2, smaller, simpler, good enough for swd debug.
https://www.adafruit.com/product/2548
But that I think the 'full blown' official st-link v2
https://www.st.com/en/development-tools/st-link-v2.html
likely have functions that won't be there in the small 'Adafruit' st-link v2
I stumbled into a good tech note about them, reviewing the docs for st-link v2
https://www.st.com/resource/en/technica ... ronics.pdf
Re: STM32 programming and debugging tools
Thank you, I'll order and try the STLINK-V3MINIE.
I'll report back on my experience, but probably not soon.
If I'm disappointed with the STLINK-V3MINIE or if I find the time, I'll try the WeActStudio.MiniDebugger.
https://github.com/WeActStudio/WeActStudio.MiniDebugger
Greetings
I'll report back on my experience, but probably not soon.
If I'm disappointed with the STLINK-V3MINIE or if I find the time, I'll try the WeActStudio.MiniDebugger.
https://github.com/WeActStudio/WeActStudio.MiniDebugger
Greetings
Re: STM32 programming and debugging tools
First impression with the STLINK-V3MINIE:
- Quality PCB
- The 1.27mm pitch connector or the 2.00mm end-of-board connector aren't practical for me
- No problem programming an STMF411CEU6 BlackPill from the Arduino IDE
- The Arduino IDE debugger seems to work (STM32F411CEU). Since I'm new to it, I haven't done much with it. If you have links to good tutorials, I'd appreciate them.
- However, I can't recognize an STM32G031F8P6 from the Arduino IDE or STMCubeProgrammer. Is there a specific setting or is this not the right tool?
Thanks for your feedback on this.
- Quality PCB
- The 1.27mm pitch connector or the 2.00mm end-of-board connector aren't practical for me
- No problem programming an STMF411CEU6 BlackPill from the Arduino IDE
- The Arduino IDE debugger seems to work (STM32F411CEU). Since I'm new to it, I haven't done much with it. If you have links to good tutorials, I'd appreciate them.
- However, I can't recognize an STM32G031F8P6 from the Arduino IDE or STMCubeProgrammer. Is there a specific setting or is this not the right tool?
Thanks for your feedback on this.