Sunspot Home

Experiments with the Arduno IDE connected to a generic ARM board
- containing an STM32F103C8T6

1) General notes - this page

2) Using the generic board with the yellow jumpers

3) Testing the Shenzhen generic board

4) Using Arduino_STM32 in Windows in a VMware image

Arduino have an ARM chip in the Due but it is too large a board to embed into portable projects.

I often use the tiny AVR based Pro Mini (less than £2 on eBay)
. . . . promini

But for about £3 you can buy a generic STM32 board if similar size with lots more memory and speed - NB this is not a Maple Mini clone.

. . . generic


I have a Maple Mini clone (shown here) on order

I aim to also test two other generic boards - these seem to bring out all the STM32 pins to headers


gena - - - genb


Chip ATmega328 (Uno etc) STM32F103C8T6 (Arm as above)
Speed 16MHz 72MHz
Flash 32 KB 128 KB
RAM 2 KB 20 KB
Power 5V (some have 3V option) 3V


Blink uses -

Sketch uses 1,030 bytes (3%) of program storage space. Maximum is 32,256 bytes

Ray Burnette's GLCD110_BMP085 uses -

Sketch uses 21,432 bytes (19%) of program storage space. Maximum is 108,000 bytes.

Search for "STM32F103C8T6" and "maple mini STM32" on eBay - the best deals are under £3.50 delivered
some genuine Maple Minis can be found for about £14 - they are no longer in production
- - - - (more later)

Developers on the Arduino Forum have managed to embed boards like this within the Arduno IDE

But if you are a novice like me do not bother the code gods - instead please enter a discussion here
See in particular the comments by Ray (mrburnette) on the first page.

I intend to follow Ray's Projects and his tested code examples

Roger Clark has published notes here

A Wiki has been built to summarise the contents of the forum posts

Data on the Maple Mini

Using iMac running Macintosh Mavericks 10.9.5 with Arduino 1.6.1

In order to insert the ARM software into the Arduino IDE you need to add files from the zip located here

Unfortunately the instructions on where to place the files for Mac OSX did not work for me.

I found it necessary open up the Arduino app (right click on the app to view the contents)

The files I needed for the Generic board are as shown below.

Top - the contents of the Arduino App as set up for serial bootloading.
- the contents of the Arduino App as freshly downloaded.


The examples are placed in the Arduino/Contents/Resources/Java/examples/ folder


My sketch folder is "Mavericks/Users/graham/Dropbox/Arduino/" (as bove) which contains the Arduino App and the libraries folder
- as Ray suggests the modified .h files etc will go in

NB! you do not need drivers since you program via the USART, not via the usb socket (use that for 5V power)
Using a USB to serial adapter connect PA10 to TXD and PA9 to RXD (labeled A10 and A9 on the board)

For the generic board (with to 2 yellow connectors on the boot pins) select board type "STM32 to Flash - no bootloader"
(that means you do not have to load a special bootloader for the USB connector
- we use the one built into the chip ROM linked to ports A9 and A10 )

I managed to download and run this Blink program


Blinks the built-in LED - modified by Sunspot to avoid confusion with the blink as delivered,

Original ported to Maple from the Arduino example 27 May 2011
By Marti Bolivar

void setup() {
// Set up the built-in LED pin as an output:
pinMode(PC13, OUTPUT);

void loop() {
digitalWrite(PC13, HIGH); // set the LED off
digitalWrite(PC13, LOW); // set the LED on- my board LED must go to 3V


- and this, with "Hello World", proves that it can talk via the program pins -

void setup()
// Set up the blue LED on the board as output:
pinMode(PC13, OUTPUT);


void loop()
Serial.print("Hello World");



The USB to serial adapter has a swich to set the logic output to 3 volts - IMPORTANT

The blue switch replaces the BOOT 0 jumper and is shorting red and blue - this is in the program setting.
Press the RESET button then download from the Arduino IDE.
The blue LED will start to flash. Switch the switch to short blue and black to set normal play mode.

- - - - - - - - - Now to try and learn how much you can do with the board!

This is a first draft of the pages I hope to create for ARM Arduino users like me
who mainly code by -

Google- - - copy - - - paste - - - pray

Please email me if you want swap notes