Skip to content

Hardware Overview

Dimensions

The circuit board dimensions are illustrated in the drawing below; the measurements are in inches.

Board Dimensions

Dimensions (PDF) of the RA6M5 Thing Plus, in inches.

Need more measurements?

For more information about the board's dimensions, users can download the Eagle files for the board. These files can be opened in Eagle and additional measurements can be made with the dimensions tool.

Eagle - Free Download!

Eagle is a CAD program for electronics that is free to use for hobbyists and students. However, it does require an account registration to utilize the software.

Download from
Autodesk primary logo

đź“Ź Dimensions Tool

This video from Autodesk demonstrates how to utilize the dimensions tool in Eagle, to include additional measurements:

QR code to instructional video

USB Connector

The USB-C connector is used to provide power and program the board. For most users, it will also be the primary programming interface for the RA6M5 Thing Plus.

USB-C Connectors

USB-C connector on the RA6M5 Thing Plus.

Power

The RA6M5 Thing Plus only requires 3.3V to power the board. However, the simplest method to power the board is through the USB-C connector. Alternatively, the 3V3, VBAT, and VUSB pins can also be used to supply power to the board.

Power connections

Power connections on the RA6M5 Thing Plus PCB.


flowchart LR
    A[USB-C] === B(("`**VUSB**`")) ===> |VUSB > VBAT| Switch;

    subgraph Battery Charger
        direction LR
        C[MCP73831] -.-> D[LiPo Battery];
    end

    subgraph Switch
        F[LM66200];
    end

    B ==> C;
    D === E(("`**VBAT**`")) == VBAT > VUSB ==> Switch;

    F ===   H[RT9080] ==> I(("`**3V3**`"));
    F === G[RT9080] ==> J(("`**VREF**`"));

    click B "#vusb"
    click C "#charging-circuit"
    click E "#vbat"
    click F "#power-control"
    click J "#vref"
    click I "#3v3"

Below, is a summary of the power circuitry for this board:

  • Primary power for the RA6M5 Thing Plus
    • Powers the RA6M5 module, DA14531MOD, QSPI flash, µSD card slot, Qwiic connector, WS2812 RGB LED, and power LED
  • A regulated 3.3V is provided by an RT9080 LDO from VUSB or VBAT
    • The output voltage from the RT9080 is controlled by the EN pin on the board
    • The RT9080 can source up to 600mA of current, which is only limited by the power source from the LM66200 switch
      • The power source from the LM66200 is automatically switched between VUSB or VBAT, based on which has the greater voltage
  • As an input, it requires a regulated 3.3V to avoid contention with the LDO regulator

The input voltage range for the RT9080 is 1.2-5.5V

  • Usually powered through the USB-C connector (5V)
  • Input voltage range: 3.75 - 5V
    • The maximum voltage is limited by the ideal diode switch at 5.5V (1.6-5.5V)
    • The minimum voltage is limited by the charge controller at 3.75V (3.75-6V)
  • Primary power source for the RT9080 LDOs when VUSB > VBAT; via the LM66200 ideal diode switch
  • Powers the MCP73831 linear charge management controller
    • Provides a 213mA (max) rate of charge to a connected battery
  • The voltage from the JST battery connector; is meant for single-cell LiPo batteries
  • Primary power source for the RT9080 LDOs when VBAT > VUSB; via the LM66200 ideal diode switch
  • A battery's charge can be monitored through the MAX17048 fuel gauge
  • The analog reference voltage for the RA6M5 module's ADC and DAC channels
    • Provided by a RT9080 LDO regulator, separate from one providing the 3V3 power supply

The input voltage range for the RT9080 is 1.2-5.5V

  • The common ground or the 0V reference for the voltage supplies
  • The 4-pin JST connector provides a regulated 3.3V voltage to peripheral Qwiic devices from 3V3
Detailed Diagram


flowchart LR
    D === E(("`**VBAT**`")) == VBAT > VUSB ==> Switch;
    A[USB-C] === B(("`**VUSB**`")) == VUSB > VBAT ==> Switch;
    C --- T[CHG LED];

subgraph Battery Charger
        C[MCP73831] -.-> D[LiPo<br>3.5-4.2V]
    end

    subgraph Switch
        S[LM66200];
        S === I[RT9080] & H[RT9080];
    end

    subgraph Powered_Components
        L[PWR LED];
        M[RA6M5] --- N[DA14531MOD];
        M --- O[QSPI Flash];
        M --- P[SD Card];
        M --- Q[WS2812 LED];
        M --- I2C;
        subgraph I2C
            R[Qwiic Connector];
            F[MAX17048];
        end
    end

    B ==> C;
    B ====> T;
    I --- U(("`**EN**`"));
    I ==> K(("`**3V3**`")) === Powered_Components;
    H ==> J(("`**VREF**`")) --> M;
    H --- W(("`**D37**`")) --- M;
    D ------ F;
    Switch --- V(("`**D38**`")) --- M;

For more details, users can reference the schematic and the datasheets of the individual components in the power circuitry.

Power Status  LED

The red, PWR LED will light up once 3.3V is supplied to the board; however, for most users, it will light up when 5V is supplied through the USB connection or when a LiPo battery is connected to the JST connector.

Power LED

The PWR status LED indicator on the RA6M5 Thing Plus.

Charging Circuit

The charging circuit utilizes the MCP73831 linear charge management controller from Microchip Technologies, which is powered by the USB-C connector or VUSB. The controller provides a 213mA charge rate for a LiPo battery connected to the JST connector. Active charging is indicated by the yellow, CHG LED. If the charge controller is shut down or charging is complete, the CHG LED will turn off. The board also includes a MAX17048 fuel gauge from Analog Devices to monitor the charge left on the battery.


flowchart LR
    A[USB-C] === B(("`**VUSB**`")) ==> C & G;
    D ===> E(("`**VBAT**`"));
    D --- F[MAX17048] === H(("`**3V3**`"));
    G[CHG LED] --- C[MCP73831];

    subgraph Battery Charger
        C -.-> |213mA| D[LiPo<br>3.5-4.2V];
    end

Battery connection and charge indicator

The CHG status LED and JST connector for the battery on the RA6M5 Thing Plus.

For more details, please refer to the MCP73831 and MAX17048 datasheets, schematic, and the Status LEDs and Battery Fuel Gauge sections below.

Power Control

The primary power source for the RT9080 LDO regulators is automatically switched between VUSB and VBAT by the LM66200 ideal diode switch; based on their voltage levels. This will be indicated by the ST pin of the LM66200, which is connected to the P001 GPIO (D38) of the RA6M5. A LOW state will indicate that power is being supplied from VUSB (or the USB-C connector); while a HIGH state will indicate power is being drawn from VBAT (or the battery JST connector).


flowchart LR
    A[USB-C] === B(("`**VUSB**`")) == VUSB > VBAT ==> Switch;
    U(("`**D38**`")) --- Switch;
    D[LiPo] === E(("`**VBAT**`")) == VBAT > VUSB ==> Switch;

    subgraph Switch
        S[LM66200];
    end

    S === H[RT9080] ===> J(("`**3V3**`"));
    H --- T(("`**EN**`"));
    I --- V(("`**D37**`"));
    S === I[RT9080] ===> K(("`**VREF**`"));

The 3.3V regulated output from the primary RT9080 is enabled by default and controlled by the EN pin on the board. Meanwhile, the voltage output from the RT9080 for the analog reference voltage (VREF) of the RA6M5 is controlled by its P500 GPIO (D37). Users can disable the 3.3V power output of either of the RT9080 LDO regulators, by setting the associated control pin LOW.

Power control

The power inputs/outputs and EN pin on the RA6M5 Thing Plus.

For more details, please refer to the LM66200 datasheet, RT9080 datasheet, and schematic.

 RA6M5 Microcontroller

The brains of the board is the RA6M5 microcontroller from Renesas, a low-power Arm® Cortex®-M33 processor with a clock speed up to 200Mhz, 512kB of SRAM, and 2MB of flash memory. This high-performance microcontroller features an extensive list of peripheral capabilities and is perfect for real-time applications.

RA6M5 Microcontroller

The RA6M5 microcontroller on the RA6M5 Thing Plus.

  • Arm® Cortex®-M33 Core
    • Clock Frequency: 200MHz
    • Flash Memory: 2MB (code); 8kB (data)
    • SRAM: 512kB w/ ECC Support
    • Arm Memory Protection Unit (Arm MPU)
    • Secure Crypto Engine
    • Two Watchdog Timers (WDT)
  • Operating Voltage: 3.0V to 3.6V
    • Current Consumption:
      • Maximum: 143mA
      • Normal: 32mA
      • Sleep: 11mA
      • Deep Sleep: 0.9-131µA
  • Operating modes:
    • Single-chip or SCI/USB boot
  • Operating Temperature: -40 to 85 °C
  • 75 GPIO Pins
  • RTC with Calendar
  • CRC Calculator
  • Internal Temperature Sensor

Peripherals

  • 12-bit ADC (x6)
  • 12-bit DAC (x2)
  • 32-bit PWM Channels (x4)
  • 16-bit PWM Channels (x6)
  • UART (x10)
  • I2C Bus (x3)
  • SPI Bus (x2)
  • QSPI (x1)
  • SD/MMC Host Interface
  • OSPI (x1)
  • CAN Interface
  • USB 2.0 (Full/High Speed)
  • Ethernet MAC/DMA Controller
  • Serial Sound Interface Enhanced
  • Consumer Electronics Control
  • Capacitive Touch Sensing

Note

Users should be aware that not all of the features, listed above, will be available in the Arduino IDE.

DFU Mode

If users are having issues uploading code to the board, the RA6M5 can be manually forced into DFU mode. This issue, often occurs when the USB connection is busy and a reset can't be triggered on the RA6M5, to initialize the upload process. To force the RA6M5 Thing Plus into DFU mode:

  1. Double-tap the RST button
    • The STAT LED should be fading in/out very slowly
  2. Users should now, be able to upload a new program
    • It shouldn't be necessary to select a COM port in the Arduino IDE; only the board needs to be selected
  3. Once programming is complete, the MCU should reboot on its own. Otherwise:
    • Press the RST button
    • Power cycle the board

For more technical specifications for the RA6M5 microcontroller, please refer to the RA6M5 datasheet and RA6M5 user manual.

Debugging Pins

Debug pins are available for the RA6M5, as 0.1" test points on the board. However, the debugging feature is only available through the Renesas FSP (not covered in this tutorial).

GND SWCLK 3.3V |
RST SWO SWDIO

GND TCK 3.3V |
RST TDO TMS

Pin Connections

In case users are interested, these are the pin connections of the debugging test points for the RA6M5. For more details, please reference the schematic and Eagle files.

  • TMS/SWDIO: P108
  • TCK/SWCLK: P300
  • TDO/SWO: P109
  • TDI: P110 (POCI/D17) (Not a JTAG test point)

Note

In order to debug the RA6M5, users will need a debug probe. We recommend the J-Link debug probes from Segger. However, users should verify the supported devices before purchasing these products; for example, we had a few issues with the J-Link EDU Mini.

RA6M5 Debug Pins

The debug pins for the RA6M5 microcontroller.

For more details, please refer to the schematic and RA6M5 datasheet.

Pin Functions

While there are 75 GPIO pins that are available on the RA6M5, only 44 GPIO pins are utilized with the RA6M5 Thing Plus. Additionally, of those 44 GPIO, only 21 GPIO pins are broken out into the PTH breakout pins. The breakout pins are in a Feather form-factor layout with a 0.1" pitch spacing to make them compatible with standard headers and Feather shields/wings.

Some of the RA6M5's peripheral capabilities may be inaccessible to users with the available 44 GPIO. However, any of the available GPIO pins can operate as digital I/O; with several of these pins featuring additional peripheral support. The pins utilized by the RA6M5 Thing Plus, along with their capabilities, are summarized in our graphical datasheet and detailed in the sections below.

  Download the Graphical Datasheet
QR code to product page

Graphical datasheet

Graphical datasheet

Board Limitations

Users should be aware that some of the features of the RA6M5 may not be available in the Arduino IDE. This is due to either the lack of support in the Renesas-Arduino core and/or pins that are unavailable on the RA6M5 Thing Plus. For the full capabilities of the RA6M5, the Renesas FSP should be utilized.

  • Only one I2C bus is defined.
  • Only three UART interfaces are defined.
    • Serial - UART (USB)
    • Serial1 - RX/TX GPIO Pins
    • Serial2 - DA14531MOD UART
  • Only one SPI bus is defined.

Note

  • All the GPIO on the RA6M5 Thing Plus are ⚡ 3.3V pins
  • While the datasheet specifies there are fourteen 5V-tolerant I/O pins; most of the exposed pins are not 5V-tolerant! To interface with higher voltage components, a logic-level adapter should be utilized.

Any GPIO pin on the RA6M5 Thing Plus can operate as a digital I/O (input or output). To access this functionality in the Arduino IDE, users must first declare the pin operation in their setup() loop, using the pinMode(pin, mode) function.

Input

If a pin is configured as an INPUT, the microcontroller can monitor if the pin's state is HIGH or LOW. As Input pins are High Impedance, it takes very little current to move the input pin from one state to another.

Arduino

In the Arduino IDE, this is accessed through the digitalRead(pin) function, which returns a HIGH or LOW value.

Output

If a pin is configured as an OUTPUT, the microcontroller can provide a HIGH or LOW voltage output from the pin. As Output pins are Low Impedance, they can provide a certain amount of current for other circuits.

Arduino

In the Arduino IDE, this is accessed through the digitalWrite(pin, value) function and providing a HIGH or LOW value.

Warning

There are electrical limitations to the amount of current that I/O pins can sink or source. For more details, check out the RA6M5 datasheet.

Tip - Creating a PWM Output

A digital output pin can only either be fully on HIGH or fully off LOW. By turning a digital pin's output, on and off very quickly with precise timings, the average voltage can be controlled and emulate an analog output. This method is called PWM.

Please refer to the PWM Outputs tab for more instructions or check out this great tutorial to learn more about pulse width modulation.

The RA6M5 supports up to four 32-bit and six 16-bit PWM (Pulse Width Modulation) channels on most of its GPIO pins. A PWM output will produce a square waveform with a variable duty cycle, a ratio of time a signal is HIGH for a given wave period. In the Arduino IDE, this feature is accessed using the analogWrite(pin, value) function, where the desired duty cycle is specified as an 8-bit value.

\[ \operatorname{Duty-Cycle}=\frac{value_{\operatorname{(8-bit)}}}{255_{(\operatorname{8-bit})}} = \frac{time_{HIGH}}{time_{Total}}=\frac{t_{HIGH}}{t_{LOW} + t_{HIGH}} \]

Annotated image of PWM pins
The GPIO pins that support PWM outputs on the RA6M5 Thing Plus.

Mean Value ≠ Analog

PWM signals are often mistaken for analog signals; however, a PWM output is not a true analog signal. These signals can emulate an analog output, based on the average voltage output of their square waveform for a specific duration of time.

Arduino

By default, in the Arduino IDE, analogWrite() accepts an 8-bit value. To change the resolution of the PWM signal for the analogWrite() function, use the analogWriteResolution(bits) function.

A PWM output is not a true analog signal. For a true analog output, please refer to the Analog Outputs tab.

Tip

To learn more about pulse width modulation (PWM), check out this great tutorial.

The RA6M5 has six 12-bit ADC channels on its GPIO pins to read analog signals. This functionality is accessed in the Arduino IDE using the analogRead(pin) function. The available ADC pins are highlighted in the image below.

Annotated image of ADC pins
Analog input pins on the RA6M5 Thing Plus.

Arduino

In the Arduino IDE, analogRead() returns a 10-bit value by default. To change the resolution of the value returned by the analogRead() function, use the analogReadResolution(bits) function.

Tip

To learn more about analog vs. digital signals, check out this great tutorial.

The RA6M5 has two 12-bit DAC channels on its GPIO pins to output analog signals. This feature is accessed in the Arduino IDE using the AnalogWave library from the Renesas Arduino core. The available DAC pins are highlighted in the image below.

GPIO Pin DAC Channel
A0 DAC
A1 DAC1

Annotated image of DAC pins
Analog (DAC) output pins on the RA6M5 Thing Plus.

Arduino

When implementing the AnalogWave library, users will need to link the library and create an instance of the analogWave class with a DAC pin declared for the output.

#include "analogWave.h" // Include the library for analog waveform generation

analogWave wave(pin);   // Create an instance of the analogWave class, using a DAC pin

For more information, please refer to the Analog I/O example in this guide.

Tip

To learn more about analog vs. digital signals, check out this great tutorial.

The RA6M5 supports up to ten UART ports. However, only the three UART ports are predefined in the Renesas Arduino core. In the Arduino IDE, the serial communication class is used for the USB connection (Serial), the labeled UART I/O pins on the board (Serial1), and UART connection to the DA14531MOD (Serial2).

Annotated image of UART connections
UART connections on the RA6M5 Thing Plus.

Arduino

By default, in the Arduino IDE, the RA6M5 Thing Plus board definition supports:

Arduino Object GPIO Pins Connection
Serial USB
Serial1 RX - P408 (D21)
TX - P409 (D20)
PTH Pins
Serial2 RX - P601 (D32)
TX - P602 (D31)
RTS - P301 (D33)
CTS - P303 (D34)
DA14531MOD
Bluetooth Module

To utilize serial communication on other pins, users will need to create a custom serial port object and declare which pins to access.

Shared UART Port

Users should be aware that the UART port for pins D17/D18, UART9, is also utilized for communication with the DA14531MOD Bluetooth module. Therefore, if UART9 is already being utilized for the DA14531MOD; the UART port will be unavailable on pins D17/D18.

UART Port Arduino Object GPIO Pins Connection
USB Serial USB
UART3 Serial1 RX - P408 (D21)
TX - P409 (D20)
PTH Pins
UART9 Serial2 RX - P601 (D32)
TX - P602 (D31)
RTS - P301 (D33)
CTS - P303 (D34)
DA14531MOD
Bluetooth Module
UART9 RX - P110 (D17)
TX - P109 (D18)
PTH Pins
UART7 RX - P402 (D05)
TX - P401 (D15)
RTS - P403 (D04)
CTS - P404 (D03)
PTH Pins

Tip

To learn more about serial communication, check out this great tutorial.

The RA6M5 supports up to two SPI buses. However, only a single SPI port is defined in the Renesas Arduino core. In the Arduino IDE, the SPI communication class is configured to utilize pins SCK - P111/D19, POCI - P110/D17, PICO - P109/D18, and P112/D0 for its chip select.

New Nomenclature

To comply with the latest OSHW design practices, we have adopted the new SPI signal nomenclature (SDO/SDI and PICO/POCI). The terms Master and Slave are now referred to as Controller and Peripheral. The MOSI signal on a controller has been replaced with SDO or PICO. Please refer to this announcement on the decision to deprecate the MOSI/MISO terminology and transition to the SDO/SDI naming convention.

Annotated image of SPI pins
SPI pins on the RA6M5 Thing Plus.

Arduino

By default, in the Arduino IDE, the RA6M5 Thing Plus board definition supports:

SPI Pin GPIO
POCI P110 (D17)
PICO P109 (D18)
SCK P111 (D19)
CS P112 (D0)

To utilize SPI communication on other pins, users will need to create a custom SPI object and declare which pins to access.

Tip

To learn more about the serial peripheral interface (SPI) protocol, check out this great tutorial.

The RA6M5 supports up to three I2C buses. However, only a single I2C bus is defined in the Renesas Arduino core. In the Arduino IDE, the Wire class is configured to utilize the SDA - P401/D15 and SCL -P400/D16 pins. These pins also share the same I2C bus as the Qwiic connector and MAX17048 fuel gauge.

Annotated image of I2C connections
I2C connections on the RA6M5 Thing Plus.

Arduino

By default, in the Arduino IDE, the RA6M5 Thing Plus board definition supports:

I2C Pin GPIO
SCL P400 (D16)
SDA P401 (D15)

To utilize the I2C ports on other pins, users will need to create a custom Wire object and declare which pins to access.

Tip

To learn more about the inter-integrated circuit (I2C) protocol, check out this great tutorial.

What is Qwiic?

Qwiic Logo - light theme Qwiic Logo - dark theme


The Qwiic connect system is a solderless, polarized connection system that allows users to seamlessly daisy chain I2C boards together. Play the video, to learn more about the Qwiic connect system or click on the banner above to learn more about Qwiic products.

QR code to instructional video

Features of the Qwiic System

no soldering - light theme no soldering - dark theme

Qwiic cables (4-pin JST) plug easily from development boards to sensors, shields, accessory boards and more, making easy work of setting up a new prototype.

polarized connector - light theme polarized connector - dark theme

There's no need to worry about accidentally swapping the SDA and SCL wires on your breadboard. The Qwiic connector is polarized so you know you’ll have it wired correctly every time.

The part numbers for the PCB connector is SM04B-SRSS (Datasheet) and the mating connector on the cables is SHR04V-S-B; or an equivalent 1mm pitch, 4-pin JST connection.

daisy chainable - light theme daisy chainable - dark theme

It’s time to leverage the power of the I2C bus! Most Qwiic boards will have two or more connectors on them, allowing multiple devices to be connected.

The RA6M5 provides IRQ support on several of its pins. In the Arduino IDE, interrupt requests are configured using the attachInterrupt(digitalPinToInterrupt(pin), ISR, mode) function. The available IRQ pins are highlighted in the image below.

Annotated image of IRQ pins
Interrupt request pins on the RA6M5 Thing Plus.

Arduino

In the Arduino IDE, interrupt requests are configured using the attachInterrupt(digitalPinToInterrupt(pin), ISR, mode) function, where:

  • pin - The GPIO pin
  • ISR - The interrupt service routine to call/execute when the interrupt occurs
  • mode - Defines how the interrupt should be triggered:
    • LOW - When the pin is LOW
    • CHANGE - Whenever the pin changes value
    • RISING - When the pin changes from LOW to HIGH
    • FALLING- When the pin changes from HIGH to LOW

Tip

To learn more about interrupts, check out this great tutorial.


For more technical specifications on the I/O pins, please refer to the schematic, RA6M5 datasheet, and RA6M5 user manual.

 DA14531MOD BLE Module

The DA14531MOD, from Renesas, provides the RA6M5 Thing Plus with Bluetooth connectivity. When actively transmitting, the DA14531MOD sips a mere 4mA; low enough to operate on a small coin-cell battery. The module is programmed with a precompiled binary of the CodeLess SDK, featuring Renesas' SmartBond™ - CodeLess™ AT command set. With the implementation of an AT command platform to configure the DA1431MOD's Bluetooth connectivity, source code is no longer required to be written for the module, to operate as a peripheral device.

DA14531MOD BLE Module

The DA14531MOD BLE module on the RA6M5 Thing Plus.

  • Bluetooth 5.1 system-on-chip (SoC)
    • Supports up to three connections
    • 32-bit Arm® Cortex® M0+
      • Clock frequency: 16 MHz
      • Memory:
        • Flash: 128 Kb
        • RAM: 48 Kb
        • ROM: 144 Kb
        • OTP: 32 Kb
  • Operating range (1.8 V - 3.6 V)
    • Receive: 2mA
    • Transmit: 4mA
    • Sleep: 1.8 µA
  • Radio
    • Transmit Power: -19 to +2.2 dBm
    • Receiver Sensitivity: -93 dBm
Debug Pins

The SWD pins for the DA14531MOD are available as 0.1" test points on the board. However, users are unlikely to utilize these pins unless they wish to modify the pre-existing firmware on the DA14531MOD.

GND SWCLK 3.3V |
RST SWDIO

Info

In case users are interested, these are the pin connections of the SWD test points to the DA14531MOD. For more details, please reference the schematic.

  • SWDIO: P0_10
  • SWCLK: P0_2

Note

In order to debug the DA14531MOD, users will need a debug probe. We recommend the J-Link debug probes from Segger. However, users should verify the supported devices before purchasing these products; for example, we had a few issues with the J-Link EDU Mini.

DA14531MOD SWD Pins
The SWD pins for the DA14531MOD on the RA6M5 Thing Plus.

CodeLess Firmware

The CodeLess™ AT command allows users to easily configure the RA6M5 Thing Plus as a central or peripheral Bluetooth device. In addition, users can also potentially implement OTA updates with the CodeLess™ AT commands.

The precompiled binary from the CodeLess SDK utilized as the firmware image, on the DA14531MOD of the RA6M5 Thing Plus, is the codeless_531_datapump.hex (CodeLess for DA1453x datapump).

Serial Port Setting

The default settings of the serial port on the DA14531MOD, for AT commands:

  • BaudRate : 57600
  • DataBits : 8
  • StopBits : 1
  • Parity : None
  • Flow Control : None
  • Transmit Text: Append CR

For more details, please refer to the DA14531 datasheet, and CodeLess user manual.

External Memory

QSPI Flash

The RA6M5 Thing Plus features 16MB of QSPI Flash memory, with the MX25L12833F from Macronix. The MX25L12833F QSPI Flash memory provides users with high-speed non-volatile memory to develop and execute data-driven applications. This feature is perfect for data logging, data processing, or executing memory-intensive algorithms. The QSPI Flash memory can also be used to store a firmware backup or enable software updates.

The Flash memory is connected to the following GPIO:

  • CLK: GPIO P100 (D40)
  • D0: GPIO P102 (D42)
  • D1: GPIO P101 (D43)
  • D2: GPIO P104 (D44)
  • D3: GPIO P103 (D45)
  • SS: GPIO P501 (D41)

QSPI Flash

The MX25L12833F QSPI Flash memory IC on the back of the RA6M5 Thing Plus.

For more details, please refer to the MX25L12833F datasheet, the schematic, RA6M5 datasheet, and RA6M5 user manual.

µSD Card Socket

The µSD card socket is connected to the SD host interface for fast data logging. This feature is useful for data collection over extended periods and for simplifying data retrieval.

The µSD card slot is connected to the following GPIO:

  • CLK: GPIO P214 (D22)
  • D0: GPIO P208 (D24)
  • D1: GPIO P410 (D25)
  • D2: GPIO P206 (D26)
  • D3: GPIO P205 (D27)

micro SD socket

µSD card slot on the back of the RA6M5 Thing Plus.

Data Corruption

To avoid corrupting an SD card, users should disable all activity with the SD card before removing it from the RA6M5 Thing Plus.

The FATFileSystem library built into the Renesas-Arduino core, supports µSD cards with a FAT32 file system (i.e. SD cards up to 32GB in size).

  • While users may be able to use cards with a higher storage capacity, we highly advise against it. As users may experience data loss due to a corrupt file system (i.e. SD cards with a storage capacity greater than 32GB are not meant to be formatted with a FAT32 file system).

Note

The RA6M5 Thing Plus, offers users additional control of the SD card slot with the following pin connections:

Pin Name Connection to RA6M5 Operation Function
SDEN GPIO P708 (D35) Active LOW Controls power to the SD card slot.
- A LOW signal will disable power to the SD card slot
CD GPIO P210 (D28) Active LOW Read the pin latch, to determine if an SD card is inserted
- A LOW signal will indicate an SD card is present
WP GPIO P414 (D29) Active LOW Read if the write protection is engaged on the SD card
- A LOW signal will indicate write protection is enabled on the SD card

For more details, please refer to the schematic, RA6M5 datasheet, and RA6M5 user manual.

I2C Bus

Qwiic Connector

A Qwiic connector is provided for users to seamlessly integrate with SparkFun's Qwiic Ecosystem. Otherwise, users can also access the I2C bus through the PTH pins broken out on the board.

Qwiic connector and I2C pins

Qwiic connector and I2C pins on the RA6M5 Thing Plus.

What is Qwiic?

Qwiic Logo - light theme Qwiic Logo - dark theme


The Qwiic connect system is a solderless, polarized connection system that allows users to seamlessly daisy chain I2C boards together. Play the video, to learn more about the Qwiic connect system or click on the banner above to learn more about Qwiic products.

QR code to instructional video

Features of the Qwiic System

no soldering - light theme no soldering - dark theme

Qwiic cables (4-pin JST) plug easily from development boards to sensors, shields, accessory boards and more, making easy work of setting up a new prototype.

polarized connector - light theme polarized connector - dark theme

There's no need to worry about accidentally swapping the SDA and SCL wires on your breadboard. The Qwiic connector is polarized so you know you’ll have it wired correctly every time.

The part numbers for the PCB connector is SM04B-SRSS (Datasheet) and the mating connector on the cables is SHR04V-S-B; or an equivalent 1mm pitch, 4-pin JST connection.

daisy chainable - light theme daisy chainable - dark theme

It’s time to leverage the power of the I2C bus! Most Qwiic boards will have two or more connectors on them, allowing multiple devices to be connected.

Battery Fuel Gauge

The MAX17048 fuel gauge, from Analog Devices, measures the approximate charge/discharge rate, state of charge (SOC) (based on ModelGauge algorithm), and voltage of a connected battery. The sensor is also powered directly from a connected LiPo battery (VBAT).

I2C Address 0x36 (7-bit)
0x6C (write)/0x6D (read)
Voltage Measurement Range: 2.5 - 5 V
Precision: ±7.5 mV/Cell
Resolution 1.25 mV/Cell
Current Consumption Sleep: .5 - 2 µA
Hibernate: 3 - 5 µA
Active: 23 - 40 µA

Alert Pin

The fuel gauge features an Alert pin, which can be configured to trigger an interrupt (active LOW) on GPIO P000 (D39) of the RA6M5 for:

  • Low Charge
  • 1% Charge (Remaining)
  • IC Reset
  • Overvoltage
  • Undervoltage

MAX17048 Fuel Gauge

The MAX17048 fuel gauge on the RA6M5 Thing Plus.

For more information, please refer to the MAX17048 datasheet and the schematic.

Status LEDs

There are four status LEDs on the RA6M5 Thing Plus:

  • PWR - Power (Red)
    • Illuminates once power is applied to 3V3
  • RGB - WS2812 (RGB)
    • An addressable WS2812 LED
    • Connected to GPIO P105 (D13 or RGB_LED) of the RA6M5
  • STAT - Status (Blue)
    • Connected to the RA6M5 P106 (D14/LED_BUILTIN) GPIO
  • CHG - Battery Charge (Yellow)
    • ON - Actively charging a battery
    • OFF - The charge controller is shut down or battery charging is complete

LEDs

The status indicator LEDs on the RA6M5 Thing Plus.

Buttons

There are two buttons on the RA6M5 Thing Plus: RST and USRBTN

Buttons

Buttons on the RA6M5 Thing Plus.

  • USRBTN - The user button is provided as an available input for the RA6M5; it is connected to GPIO P415 (D31)
  • RST - The reset button allows users to reset the firmware running on the RA6M5 without interrupting the power
DFU Mode

If users are having issues uploading code to the board, the RA6M5 can be manually forced into DFU mode. This issue, often occurs when the USB connection is busy and a reset can't be triggered on the RA6M5, to initialize the upload process. To force the RA6M5 Thing Plus into DFU mode:

  1. Double-tap the RST button
    • The STAT LED should be fading in/out very slowly
  2. Users should now, be able to upload a new program
    • It shouldn't be necessary to select a COM port in the Arduino IDE; only the board needs to be selected
  3. Once programming is complete, the MCU should reboot on its own. Otherwise:
    • Press the RST button
    • Power cycle the board

For more details, please refer to the schematic.

Jumpers

Never modified a jumper before?

Check out our Jumper Pads and PCB Traces tutorial for a quick introduction!

The five jumpers on the back of the board can be used to easily modify the hardware connections on the board.

Jumpers

The jumpers on the back of the RA6M5 Thing Plus PCB.

  • PWR - Cut this jumper to disable the red, PWR LED
  • RST - Cut this jumper to disconnect the reset pin of the DA14531MOD from the RA6M5 P115/D37 GPIO
  • SHLD - Cut this jumper to isolate the USB-C connector shield from GND
  • I2C - Open this dual-jumper to disconnect the pull-up resistors from the SDA and SCL
  • CHG - Cut this jumper to disable the yellow, CHG LED

For more details, please refer to the schematic.