cancel
Showing results for 
Search instead for 
Did you mean: 

Guidelines for beginners to ML on STM32 Nucleo Development boards

AAziz.3
Associate

Hello everyone! First post here. I'm a grad student in Computer Science and Engineering and I'm looking to learn Machine Learning on MCUs. My professor suggested I use the STM32 Nucleo development boards for this. I was wondering if anyone had a rough guideline and perhaps links to some resources which you found really useful on how to get started with this topic. I would be really grateful for any help. Thank you!

4 REPLIES 4
Julian E.
ST Employee

Hello,

Here you can find the solutions provided by ST for AI and ML:

STMicroelectronics – STM32 AI – STMicroelectronics – Edge AI solutions for STM32 microcontrollers, microprocessors and smart sensors

You mainly have 2 solutions, cubeAI and NanoEdgeAi Studio.

CubeAI : briefly, it allows you to convert AI models (tensorflow, pytorch etc) to be used on microcontrollers. So, you need to create a model (they also provide few models).

Cube is free.

find much more information here: STM32Cube.AI – STMicroelectronics – STM32 AI

NanoEdgeAI Studio: it is a software to help embedded engineer add AI to their solution. You don't need a model nor knowledge in AI. The software only require data, then it will look for the best model and give you C library for an easy deployment.

You can use NanoEdge for free with development boards.

More information: NanoEdge AI Studio – STMicroelectronics – STM32 AI

Best Regards,

Julian


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
AAziz.3
Associate

Hello!

Thank you so much for your reply and suggestion.

Best,

Aziz

Hi Julian! 

I want to ask whether STM32F103C8T6 (Blue Pill) , STM32F411CEU6 (Black Pill) or any variant of Nucleo Boards supports Machine Learning Tasks?

Julian E.
ST Employee

Hello @shahbazahmed ,

 

The AI tools from ST are compatible with all STM32. So, you can use both STM32F103C8T6 and STM32F411CEU6.

The question is more about the available memory and the inference time of your algorithms.

 

We have multiple tools available depending on what you want to do:

  • NanoEdge AI Studio: small algorithms for sensing data. You bring your data; you get a C code library with the model for you to integrate.
  • CubeAI / Stedge ai core: you bring your neural network in python; you get the C code. You can either work using CubeMX and the addon X-Cube-AI or with Stedgeai core directly
  • The ST Developer Cloud: online resource to load, quantize and test the inference time of your neural network on a variety of STM32.
  • ST Model Zoo: a github repository to help you train neural network for multiple use case (image classification, object detection, sound event detection etc).

 

Depending on what you want to do, eitheir NanoEdge or a combination of ST Model Zoo and the dev cloud are good places to start.

 

If you already a have a model (neural network), you can use the dev cloud to benchmark the memory footprint and inference time on multiple board to help you choose the right STM32.

 

ST Model Zoo:GitHub - STMicroelectronics/stm32ai-modelzoo: AI Model Zoo for STM32 devices

NanoEdge Documentation: https://wiki.st.com/stm32mcu/wiki/AI:NanoEdge_AI_Studio 

ST Dev Cloud: https://stedgeai-dc.st.com/session 

CubeAI/ST Edge AI documentation: https://stedgeai-dc.st.com/assets/embedded-docs/index.html 

 

Have a good day,

Julian


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.