Hardware Overview
Dimensions
The circuit board dimensions are illustrated in the drawing below; the measurements are 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.
Dimensions Tool
This video from Autodesk demonstrates how to utilize the dimensions tool in Eagle, to include additional measurements:
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.
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.
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
orVBAT
- 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
orVBAT
, based on which has the greater voltage
- The power source from the LM66200 is automatically switched between
- The output voltage from the RT9080 is controlled by the
- 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
- A connected battery will be charged by the MCP73831 charge controller, when sufficient power is provided from
VUSB
- A connected battery will be charged by the MCP73831 charge controller, when sufficient power is provided from
- 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
- Provided by a RT9080 LDO regulator, separate from one providing the
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.
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
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.
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.
- 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
- Current Consumption:
- 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:
- Double-tap the RST button
- The
STAT
LED should be fading in/out very slowly
- The
- 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
- 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
(Not a JTAG test point)TDI
:P110
(POCI/D17
)
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.
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.
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 PinsSerial2
- 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 aHIGH
orLOW
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 aHIGH
orLOW
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
.
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.
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 |
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
).
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 |
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.
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.
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?
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.
Features of the Qwiic System
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.
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.
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.
Arduino
In the Arduino IDE, interrupt requests are configured using the attachInterrupt(digitalPinToInterrupt(pin), ISR, mode)
function, where:
pin
- The GPIO pinISR
- The interrupt service routine to call/execute when the interrupt occursmode
- Defines how the interrupt should be triggered:LOW
- When the pin is LOWCHANGE
- Whenever the pin changes valueRISING
- When the pin changes from LOW to HIGHFALLING
- 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.
- 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.
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
)
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
)
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.
What is Qwiic?
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.
Features of the Qwiic System
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.
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.
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
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
- Illuminates once power is applied to
RGB
- WS2812 (RGB)- An addressable WS2812 LED
- Connected to GPIO
P105
(D13
orRGB_LED
) of the RA6M5
STAT
- Status (Blue)- Connected to the RA6M5
P106
(D14
/LED_BUILTIN
) GPIO
- Connected to the RA6M5
CHG
- Battery Charge (Yellow)- ON - Actively charging a battery
- OFF - The charge controller is shut down or battery charging is complete
Buttons
There are two buttons on the RA6M5 Thing Plus: RST and USRBTN
- 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:
- Double-tap the RST button
- The
STAT
LED should be fading in/out very slowly
- The
- 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
- 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.
PWR
- Cut this jumper to disable the red,PWR
LEDRST
- Cut this jumper to disconnect the reset pin of the DA14531MOD from the RA6M5P115
/D37
GPIOSHLD
- Cut this jumper to isolate the USB-C connector shield from GNDI2C
- Open this dual-jumper to disconnect the pull-up resistors from theSDA
andSCL
CHG
- Cut this jumper to disable the yellow,CHG
LED
For more details, please refer to the schematic.