Arduino UNO R4 Minima/WiFi

Overview

The Arduino UNO R4 Minima/WiFi is a development board featuring the Renesas RA4M1 SoC in the Arduino form factor and is compatible with traditional Arduino.

Hardware

  • Renesas RA4MA1 Processor (ARM Cortex-M4 at 48 MHz)

  • 256 KiB flash memory and 32 KiB of RAM

  • One user LEDs

  • One reset button

  • One WiFi Transceiver (Arduino UNO R4 WiFi only)

  • One 12x8 LED Matrix (Arduino UNO R4 WiFi only)

  • Built-in CMSIS-DAP debug adapter (Arduino UNO R4 WiFi only)

Supported Features

The arduino_uno_r4 board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.

arduino_uno_r4/r7fa4m1ab3cfm@minima target

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M4 CPU1

arm,cortex-m4

ADC

on-chip

Renesas RA ADC node1

renesas,ra-adc

Clock control

on-chip

Renesas RA Clock Generation Circuit external clock configuration1

renesas,ra-cgc-external-clock

on-chip

Generic fixed-rate clock provider3

fixed-clock

on-chip

Renesas RA Sub-Clock1

renesas,ra-cgc-subclk

on-chip

Renesas RA Clock Generation Circuit PLL Clock1

renesas,ra-cgc-pll

on-chip

Renesas RA Clock Control node pclk block1

renesas,ra-cgc-pclk-block

on-chip

Renesas RA Clock Control Peripheral Clock6 2

renesas,ra-cgc-pclk

Counter

on-chip

Renesas RA AGT as Counter2

renesas,ra-agt-counter

DAC

on-chip

Renesas RA DAC Controller Global1

renesas,ra-dac-global

on-chip

Renesas RA DAC Controller1

renesas,ra-dac

GPIO & Headers

on-chip

Renesas RA GPIO I/O Port1 5

renesas,ra-gpio-ioport

on-board

GPIO pins exposed on Arduino Uno (R3) headers1

arduino-header-r3

I2C

on-chip

Renesas RA I2C Master controller1 1

renesas,ra-iic

Interrupt controller

on-chip

ARMv7-M NVIC (Nested Vectored Interrupt Controller)1

arm,v7m-nvic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

on-board

Group of PWM-controlled LEDs1

pwm-leds

Miscellaneous

on-chip

Renesas RA SCI controller1 3

renesas,ra-sci

on-chip

Renesas RA AGT2

renesas,ra-agt

on-chip

Renesas RA External Interrupt2 13

renesas,ra-external-interrupt

MMU / MPU

on-chip

ARMv7-M Memory Protection Unit (MPU)1

arm,armv7m-mpu

MTD

on-chip

Flash node1

soc-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

PHY

on-chip

This binding is to be used by all the usb transceivers which are built-in with USB IP1

usb-nop-xceiv

Pin control

on-chip

The Renesas RA pin controller is a node responsible for controlling pin function selection and pin properties, such as routing a SCI0 RXD to P6101

renesas,ra-pinctrl-pfs

PWM

on-chip

Renesas RA Pulse Width Modulation1 7

renesas,ra-pwm

RNG

on-chip

Renesas RA SCE5 TRNG1

renesas,ra-sce5-rng

Serial controller

on-chip

Renesas RA SCI UART controller1 3

renesas,ra-sci-uart

SPI

on-chip

Renesas RA SPI controller1 1

renesas,ra-spi

SRAM

on-chip

Generic on-chip SRAM description1

mmio-sram

Timer

on-chip

ARMv7-M System Tick1

arm,armv7m-systick

USB

on-chip

Renesas RA USB full-speed controller1

renesas,ra-usbfs

on-chip

Renesas RA USB device controller1

renesas,ra-udc

Watchdog

on-chip

Renesas RA Watchdog (wdt)1

renesas,ra-wdt

arduino_uno_r4/r7fa4m1ab3cfm@wifi target

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M4 CPU1

arm,cortex-m4

ADC

on-chip

Renesas RA ADC node1

renesas,ra-adc

Clock control

on-chip

Renesas RA Clock Generation Circuit external clock configuration1

renesas,ra-cgc-external-clock

on-chip

Generic fixed-rate clock provider3

fixed-clock

on-chip

Renesas RA Sub-Clock1

renesas,ra-cgc-subclk

on-chip

Renesas RA Clock Generation Circuit PLL Clock1

renesas,ra-cgc-pll

on-chip

Renesas RA Clock Control node pclk block1

renesas,ra-cgc-pclk-block

on-chip

Renesas RA Clock Control Peripheral Clock6 2

renesas,ra-cgc-pclk

Counter

on-chip

Renesas RA AGT as Counter2

renesas,ra-agt-counter

DAC

on-chip

Renesas RA DAC Controller Global1

renesas,ra-dac-global

on-chip

Renesas RA DAC Controller1

renesas,ra-dac

GPIO & Headers

on-chip

Renesas RA GPIO I/O Port1 5

renesas,ra-gpio-ioport

on-board

GPIO pins exposed on Arduino Uno (R3) headers1

arduino-header-r3

I2C

on-chip

Renesas RA I2C Master controller2

renesas,ra-iic

Interrupt controller

on-chip

ARMv7-M NVIC (Nested Vectored Interrupt Controller)1

arm,v7m-nvic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

on-board

Group of PWM-controlled LEDs1

pwm-leds

Miscellaneous

on-chip

Renesas RA SCI controller1 3

renesas,ra-sci

on-chip

Renesas RA AGT2

renesas,ra-agt

on-chip

Renesas RA External Interrupt2 13

renesas,ra-external-interrupt

MMU / MPU

on-chip

ARMv7-M Memory Protection Unit (MPU)1

arm,armv7m-mpu

MTD

on-chip

Flash node1

soc-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

PHY

on-chip

This binding is to be used by all the usb transceivers which are built-in with USB IP1

usb-nop-xceiv

Pin control

on-chip

The Renesas RA pin controller is a node responsible for controlling pin function selection and pin properties, such as routing a SCI0 RXD to P6101

renesas,ra-pinctrl-pfs

PWM

on-chip

Renesas RA Pulse Width Modulation1 7

renesas,ra-pwm

RNG

on-chip

Renesas RA SCE5 TRNG1

renesas,ra-sce5-rng

Serial controller

on-chip

Renesas RA SCI UART controller1 3

renesas,ra-sci-uart

SPI

on-chip

Renesas RA SPI controller1 1

renesas,ra-spi

SRAM

on-chip

Generic on-chip SRAM description1

mmio-sram

Timer

on-chip

ARMv7-M System Tick1

arm,armv7m-systick

USB

on-chip

Renesas RA USB full-speed controller1

renesas,ra-usbfs

on-chip

Renesas RA USB device controller1

renesas,ra-udc

Watchdog

on-chip

Renesas RA Watchdog (wdt)1

renesas,ra-wdt

Programming and debugging

Debug adapter

A debug adapter is required to flash and debug programs. Arduino UNO R4 WiFi has a built-in debug adapter that you can use for flashing and debugging.

In the Arduino UNO R4 Minima case, You need to prepare debug adapter separately. A 5V-compatible CMSIS-DAP adapter adapts to this board.

Building & Flashing

You can build and flash with west flash command (See Building an Application and Run an Application for more details).

Here is an example for building and flashing the Blinky application.

# From the root of the zephyr repository
west build -b arduino_uno_r4@minima samples/basic/blinky
west flash
# From the root of the zephyr repository
west build -b arduino_uno_r4@wifi samples/basic/blinky
west flash

Debugging

Debugging can be done with west debug command. The following command is debugging the Blinky application. Also, see the instructions specific to the debug server that you use.

# From the root of the zephyr repository
west build -b arduino_uno_r4@minima samples/basic/blinky
west debug
# From the root of the zephyr repository
west build -b arduino_uno_r4@wifi samples/basic/blinky
west debug

Using pyOCD

Various debug adapters, including cmsis-dap probes, can debug the Arduino UNO R4 with pyOCD. The default configuration uses the pyOCD for debugging. You must install CMSIS-Pack when flashing or debugging Arduino UNO R4 Minima with pyOCD. If not installed yet, execute the following command to install CMSIS-Pack for Arduino UNO R4.

pyocd pack install r7fa4m1ab

Restoring Arduino Bootloader

If you corrupt the Arduino bootloader, you can restore it with the following command.

wget https://raw.githubusercontent.com/arduino/ArduinoCore-renesas/main/bootloaders/UNO_R4/dfu_minima.hex
pyocd flash -e sector -a 0x0 -t r7fa4m1ab dfu_minima.hex
wget https://raw.githubusercontent.com/arduino/ArduinoCore-renesas/main/bootloaders/UNO_R4/dfu_wifi.hex
pyocd flash -e sector -a 0x0 -t r7fa4m1ab dfu_wifi.hex