*** PLEASE READ THIS FIRST *** Stuff that I hope will help

User avatar
Posts: 3001
Joined: Mon Apr 27, 2015 12:50 pm
Location: Greater Atlanta

*** PLEASE READ THIS FIRST *** Stuff that I hope will help

Post by mrburnette » Thu Jan 18, 2018 6:13 pm

Welcome new members to the stm32duinoforum.com/forum forum.

I'm just a common member too, but I have been around a while and would like to share somethings I think may be useful to you.
Keep coming back here to this post from time to time as it is likely other members will fuss at me and I will likely revise some things!

Available cores

1. The current STM32F1/F4 core files (Leaflabs-based core) for the latest version of ArduinoIDE for clone boards
- The original documentation from Leaflabs ... the Maple commercial project that lasted only a few years
- WiKi resources
https://github.com/rogerclarkmelbourne/ ... STM32/wiki and

2. The current STM32 core files for STM32 based boards (official STM core, HAL based)
- Please address all hardware or core questions for Nucleo boards in this sub-forum: http://stm32duinoforum.com/forum/viewforum.php?f=29

3. An alternative generic core: *OUTDATED not under active development * edited: 23.08.2018

4. An alternative F4 core for generic F4 boards edited 26.10.2018
Supported features: http://stm32duinoforum.com/forum/viewtopic.php?f=39&t=1976#p26166 [edited by stevestrong - 29.10.2018]
Please refer to this post for specifics.

- do not forget that when you install the core per the online instructions, you will get many examples. I expect you to review examples and hopefully even bring them up and play a bit. Understanding example code can go a long way to help you acclimate to the STM32duino way of doing things. We do try and keep ourselves "arduino-centric" but sometimes it is necessary to deviate or invent new ways to use functions within the 32-bit ARM architecture that just does not exist in the 8-bit Arduino introductory world.

Specific boards

*RobotDyn Black Pill: http://stm32duinoforum.com/forum/index.php?ti ... Black_Pill
Blue Pill: http://stm32duinoforum.com/forum/index.php?title=Blue_Pill
Red Pill: http://stm32duinoforum.com/forum/index.php?title=Red_Pill
Black Pill: http://stm32duinoforum.com/forum/index.php?title=Black_Pill
Maple Mini: http://stm32duinoforum.com/forum/index.php?title=Maple_Mini


When posting questions or requesting assistance; please respect the user's time and provide as much information as possible about:

- I am attempting to...
- I based my design off of this/these resources...(please provide links)
- I have referred to this manufacturer document(s)...(please provide links)
- I have attached my full-code-to-date and I am having these specific concerns/issues...
- My computer development environment is: OS, IDE version, used core, upload method, library version, library source, etc. (if possible, provide screenshot of IDE)

You get the idea... the more you provide, the better the quality of the responses.

Some sites (the Leaflabs site) is fully indexed by Google. So specific info can be located easily as shown below for SPI2
SPI2 site:stm32duinoforum.com/forum
The above site: search magic also works on the Leaflabs.com site. Most helpful.

Beyond being able to locate knowledge using Google, you are also going to need some basic electronic skills, such as Ohm's law. For more complex electronic designs, you may find the following Circuit Simulator useful:

For gathering formulas and other physical information about Electronics or Physics, you may find this site useful:

The World Wide Web (Internet) is a great place to find conflicting information. Even within the forum there is conflicting information due mainly to evolution: especially true for SPI, I2C, and hardware serial. If information is contradictory, please try the most recent information first. If possible, prototype with the most current information/instructions before asking for help in the forum. Questions about compile/link errors really need to have the source code attached as well as identify the links to all libraries that are dependencies. (Remember to try the updated (current) versions of all libraries.

Do not lose your working code.
Instead of just autosaving with each test compile, after you implement code and test that the specific code-to-date is working satisfactory, then use File/Save As from the ArduinoIDE and give the sketch a new name: I suggest using 01, 02, 03 ... 99 as suffixes to the file name. When you have a final version that is working perfectly, the ZIP up the "nn" directory that represent the working version and then delete all of the old directories. You will have the current filenameNN directory and a ZIP backup of the code just for safety. I copy all of my ZIP files to an external SD card or USB drive.

Where does that GCC stuff come from?
A note about the ARM compiler. The GCC tools are installed by installing Arduino official support for the Due board. STM32duino uses the GCC version installed. Using the Teensy version or the latest version of GCC is likely to cause you some problems. We have limited bandwidth from a volunteer forum to "fix" problems you create, so if you are advanced enough to do things such as updating underlying tools, PLEASE regress all such updates before assuming the STM32duino core files are defective. In my shop, I keep a separate (old) PC that can be wiped of Arduino and a new installation performed for sanity testing.

PLEASE do not wake-up sleeping threads!
  • If the last post is > 30 days old, only comment if you have something of value to add. A "thank you / I needed that / etc. simply causes the "Active topics" to sort by date-time and come back into "view" with no value added.
  • If the last post > 30 days, post only if the information provided previously is inaccurate in some manner. Not just a missing semi-colon in a snippet but something critical. Example: if you do this ... the uC will be (maybe) physically damaged.
  • It is (almost) always appropriate to start a new post for an inquiry even if that inquiry is somewhat related to an old post (> 30 days.)
Think Before You Post!
Example: If your "issue" is a failure to upload, then a topic title such as "Upload is broken" is highly unlikely. Considering that membership is over 200 and many, many more unregistered users, would you be the only one to discover that the basic function of uploading a sketch is not working? Recently (3/2018) separate posts which consumed much forum resources over several days were ultimately corrected: in one case, bad "dupont" jumper wires and in another case the incorrect board type was selected in the IDE. The core-code and WiKi installation procedures and notes were correct. As a forum, a few issues from time to time do surface where the core-code needs to be modified, but such issues are rarely in day-to-day code usage.

Other IDE's (07.31.2018 added)
Our members are diverse and many are familiar with other development environments. Understand that stm32duino is directed to the Arduino IDE. If you have issues in Eclipse, Sloeber, or other environment, create a test case in the Arduino IDE and determine if the issue is relevant... if so, post the issue in this forum with your Arduino IDE sketch. Please do not post questions regarding the "alternate" IDE... ask your question in their support forum.
This does not mean that you cannot post in the IDE's section of the forum, but this area of the forum is best used for "I had a problem, this is how I solved it" and general personal comments on other IDE's.

Good luck,


[Edited on 01.07.2018 by stevestrong]