# Leaflabs Maple

{% hint style="danger" %}
The LeafLabs Maple has reached end of life and is no longer sold or supported.
{% endhint %}

![](https://phabricator.purduesigbots.com/file/data/au545ntykxeyir2styvt/PHID-FILE-7yzxrysy7jougj4f5fbo/processor_maple.jpg)

The leaflabs Maple is programmed in C using a provided library, libmaple [(ref)](https://github.com/leaflabs/libmaple), to make programming similar to the [Arduino](/electronics/general/external-boards/arduino.md) environment. Some of the [GPIO](/electronics/general/gpio.md) pins on the Maple are aligned with the Arduino form factor.

### Features

* Fast, powerful 32-bit ARM processor with lots of memory [(ref)](http://leaflabs.com/devices/maple)
* Fits the Arduino form factor, so many Arduino shields are usable
* Low [Power Consumption](/electronics/general/power-consumption.md) for performance, same processor as [VEX Cortex](/vex-electronics/legacy/vex-cortex.md)
* Programmed in native C code with excellent low-level library
* Extensive peripheral set ([I2C](/electronics/general/i2c.md), [UART](/electronics/general/uart.md), [SPI](/electronics/general/spi.md)) and large number of GPIOs [(ref)](http://leaflabs.com/docs/hardware/maple-ret6.html)
* Unmatched [Analog-Digital Converter](/electronics/general/analog-digital-converter.md) complement and resolution
* Flexible power supply options and built-in regulators

### Shortcomings

* A little more expensive than other options (e.g. the [Arduino](/electronics/general/external-boards/arduino.md) or [Netduino](/electronics/general/external-boards/netduino.md))
* Not all pins are [5 Volt Tolerant](/electronics/general/5-volt-tolerant.md)
* [Slew Rate](/electronics/general/slew-rate.md) and [Output Drive](/electronics/general/output-drive.md) leave some to be desired (but are substantially better than [PandaBoard](/electronics/general/external-boards/pandaboard.md)-like alternatives)

### Versions

The Maple comes in two versions - the Maple rev5 based on the STM32F103RBT6 processor and the discontinued RET6 beta using the STM32F103RET6 processor. The RET6 offers additional peripherals and a much bigger program memory space at the expense of gotchas due to re-use of the rev5 board design; the future Maple II processor may feature this chip.

## Current development

The Maple was used by SIGBOTS for VEX Toss Up on both robots as an I/O expander. Due to the limited [ADCs](/electronics/general/analog-digital-converter.md) and [GPIOs](/electronics/general/gpio.md) available on the [VEX Cortex](/vex-electronics/legacy/vex-cortex.md), there are insufficient ports for extra peripherals such as a serial LCD screen.

The Maple supersedes the somewhat unreliable and slow [Netduino](/electronics/general/external-boards/netduino.md). Although the Maple lacks a floating-point unit, it has enough horsepower to process a Kalman filter for the next generation of digital [gyros](/vex-electronics/vex-sensors/3-pin-adi-sensors/gyroscope.md).

#### Teams Contributed to this Article:

* [BLRS](https://purduesigbots.com/) (Purdue SIGBots)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.purduesigbots.com/electronics/general/external-boards/leaflabs-maple.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
