cancel
Showing results for 
Search instead for 
Did you mean: 

Where do I start learning STM32?

pakorn
Associate
Posted on July 06, 2015 at 08:32

Hi guys,

I have been programming with Arduino, however, it seems that I need something more powerful. So I started doing some research and I am particularly interested in STM32.

The problem is, the learning curve is extremely steep, as I do not have any experience in embedded programming.

I have found a book called ''Discovering the STM32 Microcontroller'' which is based on STM32F100. How different is a F100 to a F103? Will I be able to code the F103 if I follow this book?

Lastly, where is a good place to start for a beginner with no experience in embedded programming?

Thank you in advance.
4 REPLIES 4
nesrine
Senior
Posted on July 06, 2015 at 10:59

Hello,

1) How different is a F100 to a F103? 

• 100 or 103 is the Device subfamily: for more information about Part numbering, you can check, the section ordering information scheme in STM32 datasheets

• The reference manual to be used for STM32F100 devices is RM041, while the one to get as reference for STM32F103 is RM0008.

2) Where do I start learning STM32?

This link is about STM32F1 products where you can find documentation: reference manuals, datasheets, and errata sheets:

http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1031

3) Also I would suggest you to download free software example from cube package STM32cubeF1 available via this link:

http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1743/LN1897/PF260820?s_searchtype=keyword

as beginning to develop your own solution using the STM32F1 product.

I hope this answered your questions.

Syrine

pakorn
Associate
Posted on July 06, 2015 at 14:27

Thank you for your answer.

I had a look at all these documents. However, they do not really make sense to me. It's extremely confusing. Also there are numerous documents and I don't know which one to even start with.

Is there a more beginner friendly way to start programming STM32?

Posted on July 06, 2015 at 15:35

I've found the ability to read technical documentation is a key skill. Being strongly proficient in C on a non-embedded platform will also help. At the very least scan the available documentation so you know where the information is located and you can cross-reference it quickly if needed.

The F100 book should be fine for the F103, the F100 was on the VL-Discovery board and has a subset of the function of the F103 parts. Joseph Yiu's Cortex-Mx books are also a good source of information, though not STM32 specific. The peripherals around the ARM core are vendor specific, but typically very similar funcitonality.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
jpeacock
Associate II
Posted on July 06, 2015 at 21:57

Don't expect too much help from the IC vendors.  They sell to professional engineers working on commercial projects.  This is a fairly advanced environment that assumes one has several years experience in embedded design, both programming and electronics.  IC vendors don't have the resources to teach introductory programming and electronics; that's what schools are for.

Your best approach may be to find an active hobby community for a board (like the Arduino) and start learning with the products the community offers. You might try looking at the ''Netduino'' project.  I haven't used it but it seems to be an upgrade path from Arduino to STM32F4 and Cortex M controllers.   You might also look at the Spark-Fun website (disclaimer, haven't seen it for some time but it used to have a lot of starter projects).

  Jack Peacock