STM32 "for the rest of us"

But you may not be keen to bother the developers in the other thread in case that slows down progress.

In support of those wanting to get their feet wet, I have personally verified that all of my examples run on the Arduino 1.6.0 and 1.6.1 and 1.6.2 (nightly build as of 22 March.)

STM 32 Maple Mini examples

Please note, as we are tweaking compiler options, the numbers you see in the heading of these examples will not match what you get - for example:

  Maple Mini port m. ray burnette: Compiled under Arduino 1.6.0rc1
    Sketch uses 13,420 bytes (12%) of program storage space. Maximum is 108,000 bytes.
    Global variables use 2,600 bytes of dynamic memory.

The above will differ on your system.

I am using Windows 8.1 64-bit and Arduino 1.6.1/2. I have my Windows 8.1 in "test mode" so that I can utilize the unsigned drivers. As you are utilizing a Mac, just about everything I know about the Windows environment will be useless.

The tested board is this one: STM32 32-bit Maple Mini clone I have over 10 boards from different vendors all stenciled with "Baite" and what I have found is that the Baite board is a 2 layer design where the original Leaflabs board was a 4 layer board. This will mess with your ADC low order bit(s) due to noise. However, for the average user, 2^10 vs 2^12 should have little issue between AVR and STM. Just anticipate a more noisy ADC. Additionally, the $4 from Chinese dealers seem to be a manual rework of the Baite board... that is, one can see manual reflow efforts on the uC by a soldering iron. My guess is Baite off-loads those boards to other sellers who correct issues in the initial reflow oven process. However, I have both $4 and $6 boards and other than the rosin on the reworked board, they both function the same.

I also have a few Maple Mini clone projects on my project page.

Here is the caveat: The STM32 Maple core is experimental. There is little to no support for issues you may encounter. While I have received boards from eBay and AliExpress, you should realize that you are dealing with off-shore vendors and hosting companies with varied policies. If you choose to play, remember that play is the objective. If you download and install the ZIP for the Maple core, please keep a copy of the ZIP so that if future core work messes up your code, you can revert back to a core that is working until the new core is validated. Let me repeat, the github source is constantly changing ... sometimes multiple times per day which is especially true over a weekend.

Few libraries from AVR will work as-is with the STM32 board. The effort to "fix" these libraries is akin to what Paul does for gaining compatibility with the Teensy3.x boards or what Arduino does with the Due. As libraries are converted and tested, we put them into the ZIP. As an example, we have the Adafruit_GFX and Adafruit_ILI9341 libraries converted and tested---> that is, they run the Adafruit test sketch. Nothing is exhaustively tested!

Because you must often modify libraries, in my STM32 sketch directory, I am building projects that have all of the supporting modified libraries (those not in \documents\Arduino\libraries) in the sketch directory. This approach fully insulates the modified libraries from other sketches for my 8-bit AVR programs. If you take this approach, then you will need to modify your #include statements from #include <library.h> to the format #include ".\library.h" in all locations where the library is specified: that is, the main sketch and any tabs and in many of the .cpp files.
Example:

#include ".\BMP085.h"                                // #include "I2Cdev.h" is pulled in also
#include ".\Adafruit_GPS.h"
#include ".\Adafruit_GFX.h"
#include ".\Adafruit_ILI9341.h"
#include ".\SoftwareSerial.h"                        // faux version only for STM32 Maple
#include ".\Utilities.h"

You may also find lots of rich support in the on-line material from the original developers, Leaflabs.

Good luck and have a fun play. Thanks for helping the STM32 team "shake-down" the core... Exhaustive testing has not been done and the only way to get great feedback is to open the door for others.

Ray