cancel
Showing results for 
Search instead for 
Did you mean: 

Which STM MCU and board do I use for my project?

Pranathi_ch
Visitor

HI Team,

I am Pranathi, I am looking for a board and MCU chip for my project, I want to implement a CAN protocol between 2 STM32 boards with FSM (finite state machine) and RTOS included in it. 

Additionally I will be using a sesnor and an actuator on each STM node. Can anyone help me in chosing which MCU and STM32 board I should be using for this aim? And also if possible share a basic source code for implementing a CAN protocol.

Looking forward for your help.

 

Thanks in Advance,

Ch.Pranathi

4 REPLIES 4
Andrew Neil
Super User

Tools to choose your MCU:

https://www.st.com/en/development-tools/st-mcu-finder-pc.html

https://www.st.com/en/development-tools/stm32-finder.html

https://www.st.com/content/st_com/en/stm32-mcu-product-selector.html

https://www.st.com/content/st_com/en/stm32-mcu-developer-zone/mcu-portfolio.html

Also, distributors usually have parametric search tools ...

 

Having identified a suitable MCU, go to its Product Page on the ST website, and look on the 'Tools & Software' tab - that will show you the recommended boards (probably one will be highlighted; for the full list, look under 'Product evaluation tools').

eg, picking one entirely at random

https://www.st.com/en/microcontrollers-microprocessors/stm32f401ve.html#tools-software

I would suggest that a Nucleo board might be more useful to you than a Discovery or DK.

The trouble with the Discovery & DK boards is that they tend to have a lot of extra on-board stuff - which can get in the way of you connecting the other things that you actually want to use!

The Nucleo boards are basically just the STM32 plus an ST-Link - which leaves very nearly all the pins free for you to use however you require.

 

Some basic "getting started" steps to gain familiarity with the product and the tools:

https://community.st.com/t5/stm32-mcus-products/for-better-learning-stm32-programming-and-debugging/m-p/719485/highlight/true#M260696

See also:

https://community.st.com/t5/stm32-mcus-products/for-better-learning-stm32-programming-and-debugging/m-p/719468/highlight/true#M260690

 

PS:

 


@Pranathi_ch wrote:

share a basic source code for implementing a CAN protocol.


Once you have the board, STM32CubeIDE will have a load of examples for that board - should include CAN.

 

#HowToChooseMCU #HowToChooseBoard

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
Andrew Neil
Super User

@Pranathi_ch wrote:

I am looking for a board ... RTOS included in it. 


Note that an RTOS is purely a software component - it doesn't come as part of a board.

https://community.st.com/t5/stm32-mcus-embedded-software/does-the-stm32f429i-eval-board-come-with-freertos-installed/m-p/806598/highlight/true#M63932

 

ST's currently preferred RTOS is FreeRTOS:

https://community.st.com/t5/stm32-mpus-embedded-software-and/is-threadx-azure-rtos-officially-supported-on-the-cortex-m4-core/m-p/808749/highlight/true#M4806

 

You can use any other suitable RTOS of your choice - but the porting and integration is then down to you.

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
Imen.D
ST Employee

if possible share a basic source code for implementing a CAN protocol.

You have the working examples in different STM32 Nucleo boards (available in STM32-hotspot), which will help you in the bxCAN configuration: 

You can also refer to the KB articles related to CAN:

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

and one recently updated on FDCAN:

How to use FDCAN to create a simple communication with a basic filter

 

@Pranathi_ch  You can search the Knowledge Base:

https://community.st.com/t5/forums/searchpage/tab/message?advanced=false&allow_punctuation=false&filter=includeTkbs,location&include_tkbs=true&location=tkb-board:stm32-mcus-knowledge-base&q=CAN

 

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.