Maple Mini

This page is a general resource for information specific to the Maple Mini. The Maple Mini is a smaller version of the Maple that fits on a breadboard.

Technical Specifications

  • MCU: STM32F103RCBT6, a 32-bit ARM Cortex M3 microprocessor
  • Clock Speed: 72 MHz
  • 128 KB Flash and 20 KB SRAM
  • 34 Digital I/O Pins (GPIO)
  • 12 PWM pins at 16 bit resolution (PWM)
  • 9 analog input pins, 12 bit ADC resolution (ADC)
  • 2 SPI peripherals (SPI)
  • 2 I2C peripherals (I2C)
  • 7 Channels of Direct Memory Access (DMA) (dma.h)
  • 3 USART peripherals (USART)
  • 1 advanced and 3 general-purpose timers (Timers)
  • Dedicated USB port for programming and communications (USB)
  • JTAG (JTAG)
  • Nested Vectored Interrupt Controller (NVIC) (including external interrupt on GPIOs)
  • Supplies up to 500 mA at 3.3 V, with separate 250 mA digital and analog regulators for low-noise analog performance
  • Four layer design
  • Support for low power, sleep, and standby modes (<500 μA)
  • Operating Voltage: 3.3 V
  • Input Voltage (recommended): 3 V — 12 V
  • Dimensions: 2.02″ × 0.72″

Powering the Maple Mini

You can power the Maple Mini via the USB plug or by powering Vin directly.

Warning

The silkscreen on the Maple Mini suggests it will accept an input voltage up to 16 V. We recommend applying no greater than 12 V.

See this erratum for more information.

GPIO Information

The Maple Mini features 34 total input/output pins, numbered D0 through D33. These numbers correspond to the numeric values next to each header on the Maple Mini’s silkscreen. However, some of them have special uses by default [1].

Pin D23 is the USB D+ line, and D24 is the USB D- line. To use them as GPIOs, your program will need to disable SerialUSB first. Be aware, however, that disabling SerialUSB means that the bootloader won’t work properly, and you’ll need to use Perpetual Bootloader Mode to make your next upload.

Pin D32 is the Mini’s button pin. It is thus mainly useful as an input. The pin will read HIGH when the button is pressed.

Pin D33 is the Mini’s LED pin. It is thus mainly useful as an output. The LED will glow when HIGH is written to it. (It also supports PWM, for finer-grained brightness control).

Master Pin Map

This table shows a summary the available functionality on every GPIO pin, by peripheral type. The “5 V?” column documents whether or not the pin is 5 volt tolerant.

Pin GPIO ADC Timer I2C UART SPI 5 V?
D0 PB11
2_SDA 3_RX
Yes
D1 PB10
2_SCL 3_TX
Yes
D2 PB2
Yes
D3 PB0 CH8 3_CH3
D4 PA7 CH7 3_CH2
1_MOSI
D5 PA6 CH6 3_CH1
1_MISO
D6 PA5 CH5
1_SCK
D7 PA4 CH4
2_CK 1_NSS
D8 PA3 CH3 2_CH4
2_RX
D9 PA2 CH2 2_CH3
2_TX
D10 PA1 CH1 2_CH2
2_RTS
D11 PA0 CH0 2_CH1_ETR
2_CTS
D12 PC15
D13 PC14
D14 PC13
D15 PB7
4_CH2 1_SDA
Yes
D16 PB6
4_CH1 2_SCL
Yes
D17 PB5
1_SMBA
D18 PB4
Yes
D19 PB3
Yes
D20 PA15
Yes
D21 PA14
Yes
D22 PA13
Yes
D23 PA12
1_ETR
1_RTS
Yes
D24 PA11
1_CH4
1_CTS
Yes
D25 PA10
1_CH3
1_RX
Yes
D26 PA9
1_CH2
1_TX
Yes
D27 PA8
1_CH1
1_CK
Yes
D28 PB15
2_MOSI Yes
D29 PB14
3_RTS 2_MISO Yes
D30 PB13
3_CTS 2_SCK Yes
D31 PB12
1_BKIN 2_SMBA 3_CK 2_NSS Yes
D32 PB8
4_CH3
Yes
D33 PB1 CH9 3_CH4

GPIO Port Pin Map

The following table shows what pins are associated with each GPIO port.

GPIOA GPIOB GPIOC
PA0: D11 PB0: D3 PC0: -
PA1: D10 PB1: D33 PC1: -
PA2: D9 PB2: D2 PC2: -
PA3: D8 PB3: D19 PC3: -
PA4: D7 PB4: D18 PC4: -
PA5: D6 PB5: D17 PC5: -
PA6: D5 PB6: D16 PC6: -
PA7: D4 PB7: D15 PC7: -
PA8: D27 PB8: D32 PC8: -
PA9: D26 PB9: - PC9: -
PA10: D25 PB10: D1 PC10: -
PA11: D24 PB11: D0 PC11: -
PA12: D23 PB12: D31 PC12: -
PA13: D22 PB13: D30 PC13: D14
PA14: D21 PB14: D29 PC14: D13
PA15: D20 PB15: D28 PC15: D12

Timer Pin Map

The following table shows what pins are associated with a particular timer’s capture/compare channels.

Timer Ch. 1 Ch. 2 Ch. 3 Ch. 4
1 D27 D26 D25 D24
2 D11 D10 D9 D8
3 D5 D4 D3 D33
4 D16 D15 D32  

EXTI Line Pin Map

The following table shows which pins connect to which EXTI lines on the Maple.

EXTI Line Pins
EXTI0 3, 11
EXTI1 10, 33
EXTI2 2, 9
EXTI3 8, 19
EXTI4 7, 18
EXTI5 6, 17
EXTI6 5, 16
EXTI7 4, 15
EXTI8 27, 32
EXTI9 26
EXTI10 1, 25
EXTI11 0, 24
EXTI12 23, 31
EXTI13 14, 22, 30
EXTI14 13, 21, 29
EXTI15 12, 20, 28

USART Pin Map

The Maple RET6 Edition has three serial ports whose pins are broken out to headers (also known as USARTs). They communicate using the pins summarized in the following table:

Serial Port TX RX CK CTS RTS
Serial1 26 25 27 24 23
Serial2 9 8 7 11 10
Serial3 1 0 31 30 29

Low-Noise ADC Pins

Maple Mini has an electrically isolated analog power plane with its own regulator, and a geometrically isolated ground plane, connected to the digital plane by an inductor. Its analog input pins, D3 — D11, are laid out to correspond with these analog planes, and our measurements indicate that they generally offer low noise ADC performance. However, analog performance may vary depending upon the activity of the other GPIOs. Consult the Maple Mini hardware design files for more details.

Board-Specific Values

This section lists the Maple Mini’s board-specific values.

  • CYCLES_PER_MICROSECOND: 72
  • BOARD_BUTTON_PIN: 32
  • BOARD_LED_PIN: 33
  • BOARD_NR_GPIO_PINS: 34
  • BOARD_NR_PWM_PINS: 12
  • boardPWMPins: 3, 4, 5, 8, 9, 10, 11, 15, 16, 25, 26, 27
  • BOARD_NR_ADC_PINS: 9
  • boardADCPins: 3, 4, 5, 6, 7, 8, 9, 10, 11
  • BOARD_NR_USED_PINS: 4
  • boardUsedPins: BOARD_LED_PIN, BOARD_BUTTON_PIN, 23, 24 (23 and 24 are used by USB)
  • BOARD_NR_USARTS: 3
  • BOARD_USART1_TX_PIN: 26
  • BOARD_USART1_RX_PIN: 25
  • BOARD_USART2_TX_PIN: 9
  • BOARD_USART2_RX_PIN: 8
  • BOARD_USART3_TX_PIN: 1
  • BOARD_USART3_RX_PIN: 0
  • BOARD_NR_SPI: 2
  • BOARD_SPI1_NSS_PIN: 7
  • BOARD_SPI1_MOSI_PIN: 4
  • BOARD_SPI1_MISO_PIN: 5
  • BOARD_SPI1_SCK_PIN: 6
  • BOARD_SPI2_NSS_PIN: 31
  • BOARD_SPI2_MOSI_PIN: 28
  • BOARD_SPI2_MISO_PIN: 29
  • BOARD_SPI2_SCK_PIN: 30
  • BOARD_JTMS_SWDIO_PIN: 22
  • BOARD_JTCK_SWCLK_PIN: 21
  • BOARD_JTDI_PIN: 20
  • BOARD_JTDO_PIN: 19
  • BOARD_NJTRST_PIN: 18

Hardware Design Files

The hardware schematics and board layout files are available in the Maple Mini GitHub repository.

From the GitHub repository main page, you can download the entire repository by clicking the “Download” button. If you are familiar with Git, you can also clone the repository at the command line with

$ git clone git://github.com/leaflabs/maplemini.git

Failure Modes

The following known failure modes apply to all Maple boards. The failure modes aren’t design errors, but are easy ways to break or damage your board permanently.

  • High voltage on non-tolerant pins: not all header pins are 5 V compatible; so e.g. connecting certain serial devices in the wrong way could over-voltage the pins. The pin-mapping master table details which pins are 5 V-tolerant.

Errata

This section lists known issues and warnings for the Maple Mini Rev 2 (the first Rev sold to the public).

  • Silkscreen Vin voltage mistake: The silkscreen on the Maple Mini falsely indicates that Vin may be supplied with up to 16 V. We recommend an input voltage no greater than 12 V.

    The voltage regulator on the Mini is rated up to 16 V. However, our tests indicate that as its input voltage approaches 16 V, its output begins to rise to levels higher than those recommended by ST for supplying the STM32F103CB. The limit of 12 V keeps the voltage supplied to the processor at safe levels.