Arduino Portenta C33
Overview
The Portenta C33 is a powerful System-on-Module based on the Renesas RA6M5 microcontroller group, which utilizes the high-performance Arm® Cortex®-M33 core. The Portenta C33 shares the same form factor as the Portenta H7 and is backward compatible with it, making it fully compatible with all Portenta family shields and carriers through its High-Density connectors.
Hardware
Renesas RA6M5 ARM Cortex-M33 processor at 200 MHz
24 MHz crystal oscillator
32.768 kHz crystal oscillator for RTC
2 MB flash memory and 512 KiB of RAM
16 MB external QSPI flash
One RGB user LED
One reset button
NXP SE050 secure element
Onboard 10/100 Ethernet PHY
WiFi + Bluetooth via ESP32-C3 running esp-hosted [3] firmware
Battery charger
MKR header connector exposing standard peripherals (UART, SPI, I2C, ADC, PWM)
160 pins high density Portenta connectors exposing SD, CAN, I2S, SWD interfaces
Supported Features
The arduino_portenta_c33
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.
Type |
Location |
Description |
Compatible |
---|---|---|---|
CPU |
on-chip |
ARM Cortex-M33 CPU1 |
|
ADC |
on-chip |
||
Bluetooth |
on-board |
Extension of the Bluetooth H:4 HCI driver for a Renesas DA1453x based controller, allowing control of the GPIO used to reset the DA1453x1 |
|
Clock control |
on-board |
An external clock signal driven by a PWM pin1 |
|
on-chip |
Renesas RA Clock Generation Circuit external clock configuration1 |
||
on-chip |
Generic fixed-rate clock provider3 |
||
on-chip |
Renesas RA Sub-Clock1 |
||
on-chip |
|||
on-chip |
Renesas RA Clock Control node pclk block1 |
||
on-chip |
|||
on-chip |
Renesas RA External Bus Clock1 |
||
Counter |
on-chip |
Renesas RA AGT as Counter6 |
|
DAC |
on-chip |
Renesas RA DAC Controller Global1 |
|
on-chip |
Renesas RA DAC Controller2 |
||
Ethernet |
on-chip |
Renesas RA Ethernet1 |
|
on-board |
Generic MII PHY1 |
||
Flash controller |
on-chip |
Renesas RA family flash high-performance controller1 |
|
GPIO & Headers |
on-chip |
Renesas RA GPIO I/O Port12 |
|
on-board |
GPIO pins exposed on Arduino MKR headers1 |
||
I2C |
on-chip |
||
Interrupt controller |
on-chip |
ARMv8-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
MDIO |
on-chip |
Renesas RA External MDIO controller1 |
|
Miscellaneous |
on-chip |
Renesas RA Event Link Controller1 |
|
on-chip |
|||
on-chip |
Renesas RA AGT6 |
||
on-chip |
|||
MMU / MPU |
on-chip |
ARMv8-M MPU (Memory Protection Unit)1 |
|
MTD |
on-chip |
Flash memory binding for Renesas RA Code flash region1 |
|
on-board |
Fixed partitions of a flash (or other non-volatile storage) memory2 |
||
on-chip |
Flash memory binding for Renesas RA Data flash region1 |
||
PHY |
on-chip |
This binding is to be used by all the usb transceivers which are built-in with USB IP1 |
|
on-chip |
Renesas RA USBHS internal PHY controller1 |
||
Pin control |
on-chip |
Renesas RA Pin Controller1 |
|
PWM |
on-chip |
||
Regulator |
on-board |
Fixed voltage regulators1 |
|
RNG |
on-chip |
Renesas RA SCE9 TRNG1 |
|
Serial controller |
on-chip |
||
SPI |
on-chip |
||
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv8-M System Tick1 |
|
USB |
on-chip |
Renesas RA USB full-speed controller1 |
|
on-chip |
|||
on-chip |
Renesas RA USB high-speed controller1 |
||
Watchdog |
on-chip |
Renesas RA Watchdog (wdt)1 |
|
Wi-Fi |
on-board |
Espressif ESP-Hosted WiFi1 |
Connections and IOs
The Arduino store [1] has detailed information about board connections. Download the Arduino Portenta C33 Schematic [2] for more details.
Serial Port
The Portenta C33 exposes 4 serial ports with hardware flow control.
PWM
The Portenta C33 exposes 10 dedicated independent PWM pins.
USB Device Port
The RA6M5 MCU has an high speed USB device port that can be used to communicate with a host PC. See the USB device support sample applications for more, such as the USB CDC-ACM sample which sets up a virtual serial port that echos characters back to the host PC. A second full speed USB interface is exposed on the high density connectors.
DAC
The RA6M5 MCU has two DACs with 12 bits of resolution. On the Arduino Portenta C33, the DACs are available on pins A5 and A6.
Programming and Debugging
The arduino_portenta_c33
board supports the runners and associated west commands listed below.
The Arduino Portenta C33 ships with a DFU compatible bootloader. The bootloader can be entered by quickly tapping the reset button twice.
Flashing
Build the Zephyr kernel and the Hello World sample application:
west build -b arduino_portenta_c33 samples/hello_world
Connect the Portenta C33 to your host computer using USB
Connect a 3.3 V USB to serial adapter to the board and to the host. See the Serial Port section above for the board’s pin connections.
Run your favorite terminal program to listen for output. Under Linux the terminal should be
/dev/ttyACM0
. For example:$ minicom -D /dev/ttyACM0 -o
The -o option tells minicom not to send the modem initialization string. Connection should be configured as follows:
Speed: 115200
Data: 8 bits
Parity: None
Stop bits: 1
Tap the reset button twice quickly to enter bootloader mode
Flash the image:
west build -b arduino_portenta_c33 samples/hello_world west flash
You should see “Hello World! arduino_portenta_c33” in your terminal.