Page 1 of 1

*** Please read this first ***

Posted: Mon Apr 06, 2020 7:18 am
by stevestrong
Original post from @mrburnette: ... f=2&t=3111.

Welcome new members to the forum.

I'm just a common member too, but I have been around a while and would like to share something's 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 AKA LibMaple) for the latest version of Arduino IDE for clone boards: Please address all hardware or core questions in this sub-forum: viewforum.php?f=34

2. The current STM32 core files for STM32 based boards (official STM core, HAL/LL and CMSIS based) Please address all hardware or core questions in this sub-forum: viewforum.php?f=35

3. An alternative F4 core for generic F4 boards edited 26.10.2018: Please address all hardware or core questions in this sub-forum: viewforum.php?f=64

- 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


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

Code: Select all

The above site: search magic also works on the 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
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,


Re: *** Please read this first ***

Posted: Mon Apr 06, 2020 9:09 am
by fpiSTM
Hi Steve,
thanks, I guess this should be copied and update to the proper link.

Re: *** Please read this first ***

Posted: Mon Apr 06, 2020 8:06 pm
by stevestrong
As it was originally Ray's post, I think he should maybe give his consent to that first ;)

But feel free to copy paste here any passages of it, as I think it is important to let people know that they should give more detailed and precise information if they want to get help.

Re: *** Please read this first ***

Posted: Tue Apr 07, 2020 6:33 pm
by mrburnette
I do not know how I missed this post ... I have been in the forum many times since the post, but today I got a **Notification**.

Anyway, absolutely anything/everything I have ever posted can be reposted, edited and posted, or any combination thereof.


Re: *** Please read this first ***

Posted: Tue Apr 07, 2020 7:52 pm
by fpiSTM
Thanks Ray 😉
I've planned ask you about this.

Re: *** Please read this first ***

Posted: Mon May 04, 2020 1:17 pm
by fpiSTM
@mrburnette , @stevestrong
I've update the original post with Ray's post and updated all links.
Let me know if it is fine for you.

Re: *** Please read this first ***

Posted: Mon May 04, 2020 2:08 pm
by stevestrong
Thank you, i welcome it.

Re: *** Please read this first ***

Posted: Fri May 08, 2020 2:13 pm
by ag123
wally06 wrote:
Tue Jun 09, 2020 4:41 pm
I'm new with this board (STM32F103C8T6)
After soldering all the pins, I plugged the USB to Windows 10: power led is on, and the second below is blinking but Windows says it doesn't recognize the material. So I'm looking for the drivers but don't find them :/
a bare stm32f103 device / board has nothing on it, it is a blank piece of paper, for you to put something in it.
start here
and here
and here
and here ... STM32/wiki

welcome to the world of bare metal usb stm32 mcu, there is nothing between you and the metal :lol:
btw that board that you have is most likely a maple mini clone, it has a boot loader in it
but it is rather likely it is the old maple boot loader
more clues can be found in the last link above- read the installation section
and if you use the libmaple core (find out what is that)
you need to try your first blinky sketch, the board to select is likely "Maple mini",
and the boot loader to select is likely 'Original' 108k flash, or 'Bootloader 2.0' 120k flash - this boot loader is popularly known as stm32duino libmaple dfu boot loader.
note that the blinking may be simply a test firmware installed by the vendor, then all these clues won't work
you would need a st-link v2 or a usb-uart dongle
find out more from the links above

more additional (historical interest) reading to be done here, but the above should be enough to get started

Re: *** Please read this first ***

Posted: Fri May 08, 2020 2:19 pm
by ag123
maintained by one of the members here, i think this is a nice resource

Re: *** Please read this first ***

Posted: Tue May 12, 2020 10:33 pm
by mrburnette
fpiSTM wrote:
Mon May 04, 2020 1:17 pm
@mrburnette , @stevestrong
I've update the original post with Ray's post and updated all links.
Let me know if it is fine for you.
Most excellent, thank you.