Maple Mini

From STM32duino wiki
Jump to: navigation, search

The Maple Mini is the second of the two original STM32F103 boards made by LeafLabs. It was released in 2011. It is reliable, cheap and breadboard friendly. It is the most used and best-supported STM32duino board.

Maple Mini
Baite Maple Mini Top No Logo.png
Level of Support Highest
Preloaded Bootloader Maple Bootloader
Recommended Bootloader STM32duino Bootloader
Microcontroller STM32F103CBT6
Flash 128 KB
RAM 20 KB
Clock Speed 72 MHz
USB Mini
User LEDs PB1
User Buttons PB8
Real Time Clock No Crystal
Digital I/O 34
PWM 12 (16 Bit)
Analog Inputs 9 (12 Bit)
Analog Outputs 0
Dimensions 51.3 mm x 18.3 mm
Price 4 USD

Getting Started

The Maple Mini is pretty much plug-and-play, like any Arduino board:

  1. Buy a Maple Mini clone
  2. Install the STM32duino core
  3. Plug in the board
    • On Windows 10 the bootloader driver will install automatically
    • With no sketch loaded, the bootloader will cause the LED to blink rapidly
    • Note that there are no power or serial LEDs, only a user LED
  4. Select "Maple Mini" under 'Tools → Board' in the Arduino IDE, and select the correct COM port
  5. Under 'File → Examples → A_STM32_Examples → Digital' select "Blink"
  6. Hit upload
    • The LED should now blink more slowly

No external programmers or hardware modifications are needed. For the blink sketch you won't even need pin headers.

Schematic and Design

The original Maple Mini is open source hardware.

The full design files can be found on GitHub.

The schematic is available in pdf.

Clones

The original 4-layer board can no longer be purchased. There is a Chinese clone of the maple mini, made by Baite. It's made with a 2-layer PCB. Official Baite branded boards, (with an intact logo), are usually good quality and just work. Other than the Baite re-design, there is one other PCB version currently being sold on AliExpress.

Clones bought direct from Baite (on Aliexpress) are good quality. They are also available on eBay. Faster shipping is available throuh Amazon, at an extortionate price.

There appears to be a grey market in Baite reject boards, which are reworked to fix soldering issues, in backstreet workshops, and are sold on eBay and AliExpress. These boards often have the Baite logo fully, or partially, removed and can still have dry joins in the soldering, but typically do work.

There is another Maple mini clone design, which appears to have subtle differences from the Baite Maple mini.

Bootloader

The board comes pre-flashed with the original Maple Bootloader, which means that the board works out of the box. Like the Arduino Leonardo, the bootloader uses the MCU's built-in USB, so there is no USB to Serial chip on the PCB. A driver installation may be required for your computer to recognise the bootloader, though Windows should install this automatically. The pre-installed bootloader can easily be updated to Roger's improved STM32duino bootloader using the updater sketch. This increases the amount of RAM available to the sketch from 17 KB to the full 20 KB, and also increases the available sketch space by 8 KB (7%).


Pinout

Maple Mini Pinout.svg

Software installation

Follow the normal installation guide.

Comparison with Other Boards

Unlike older Arduino boards, the Maple Mini runs at 3.3 V logic. This is generally an advantage, as it means it can interface with more hardware without a logic-level converter. However some of its pins are not 5 V tolerant, so connecting 5 V devices to those pins could cause damage (see pinout above).

The Maple Mini is many times faster than an Arduino Uno. It uses a 32-bit ARM Cortex-M3 CPU running at 72 MHz. See this video.

Official Arduino boards receive better software support. Some third-party libraries written for Arduino do not yet work with STM32duino.

Maple Mini (middle-left) next to a Black Pill (far-left), Arduino Nano (middle-right) and Teensy 3.0 (far right)

Additional notes

The board uses Arduino style pin numbers, rather than the real STM32 port/pin name. See this table which maps the pin numbers to STM32 format Maple Mini pin mapping.

The board has 2 push buttons. One is the reset and the other is a user button; for use in your sketch. The board also has user LED. It doesn't have a power indication LED or serial LEDs.

The "user" button can be used to boot the board into perpetual bootloader mode, which can be useful when installing drivers, or when the sketch has completely crashed the core.

Known Issues

On most clones, the chip's analog circuitry is supplied by the same power track as the digital circuitry, meaning that sampling the ADC in close succession with e.g. SPI communication is known to cause interference. This is not a problem for most use cases, and can usually be solved by careful timing in software. It is worth noting that most Arduino boards (e.g. Uno, Nano) have the same "problem".