1.. zephyr:board:: nucleo_l433rc_p 2 3Overview 4******** 5 6The Nucleo L433RC board features an ARM Cortex-M4 based STM32L433RC MCU 7with a wide range of connectivity support and configurations. Here are 8some highlights of the Nucleo L433RC board: 9 10- STM32 microcontroller in LQFP64 package 11- Arduino Uno V3 connectivity 12- On-board ST-LINK/V2-1 debugger/programmer with SWD connector 13- Flexible board power supply: 14 15 - USB VBUS or external source(3.3V, 5V, 7 - 12V) 16 - Power management access point 17 18- Three LEDs: USB communication (LD1), power LED (LD3), user LED (LD4) 19- One push-button: RESET 20 21More information about the board can be found at the `Nucleo L433RC-P website`_. 22 23Hardware 24******** 25 26The STM32L433RC SoC provides the following hardware IPs: 27 28- Ultra-low-power with FlexPowerControl (down to 28 nA Standby mode and 84 29 |micro| A/MHz run mode) 30- Core: ARM |reg| 32-bit Cortex |reg| -M4 CPU with FPU, frequency up to 80 MHz, 31 100DMIPS/1.25DMIPS/MHz (Dhrystone 2.1) 32- Clock Sources: 33 34 - 32 kHz crystal oscillator for RTC (LSE) 35 - Internal 16 MHz factory-trimmed RC ( |plusminus| 1%) 36 - Internal low-power 32 kHz RC ( |plusminus| 5%) 37 - Internal multispeed 100 kHz to 48 MHz oscillator, auto-trimmed by 38 LSE (better than |plusminus| 0.25 % accuracy) 39 - 2 PLLs for system clock, USB, audio, ADC 40 41- RTC with HW calendar, alarms and calibration 42- Up to 21 capacitive sensing channels: support touchkey, linear and rotary touch sensors 43- 11x timers: 44 45 - 1x 16-bit advanced motor-control 46 - 1x 32-bit and 2x 16-bit general purpose 47 - 2x 16-bit basic 48 - 2x low-power 16-bit timers (available in Stop mode) 49 - 2x watchdogs 50 - SysTick timer 51 52- Up to 83 fast I/Os, most 5 V-tolerant 53- Memories 54 55 - Up to 256 KB single bank Flash, proprietary code readout protection 56 - 64 KB of SRAM including 16 KB with hardware parity check 57 - Quad SPI memory interface 58 59- Rich analog peripherals (independent supply) 60 61 - 1x 12-bit ADC 5 MSPS, up to 16-bit with hardware oversampling, 200 62 |micro| A/MSPS 63 - 2x 12-bit DAC output channels, low-power sample and hold 64 - 1x operational amplifiers with built-in PGA 65 - 2x ultra-low-power comparators 66 67- 17x communication interfaces 68 69 - USB 2.0 full-speed crystal less solution with LPM and BCD 70 - 1x SAI (serial audio interface) 71 - 3x I2C FM+(1 Mbit/s), SMBus/PMBus 72 - 4x USARTs (ISO 7816, LIN, IrDA, modem) 73 - 1x LPUART (Stop 2 wake-up) 74 - 3x SPIs (and 1x Quad SPI) 75 - CAN (2.0B Active) and SDMMC interface 76 - SWPMI single wire protocol master I/F 77 - IRTIM (Infrared interface) 78 79- 14-channel DMA controller 80- True random number generator 81- CRC calculation unit, 96-bit unique ID 82- Development support: serial wire debug (SWD), JTAG, Embedded Trace Macrocell* 83 84 85More information about STM32L433RC can be found here: 86 87- `STM32L433RC on www.st.com`_ 88- `STM32L432 reference manual`_ 89 90Supported Features 91================== 92 93The Zephyr nucleo_l433rc_p board configuration supports the following hardware features: 94 95+-----------+------------+-------------------------------------+ 96| Interface | Controller | Driver/Component | 97+===========+============+=====================================+ 98| NVIC | on-chip | nested vector interrupt controller | 99+-----------+------------+-------------------------------------+ 100| UART | on-chip | serial port-polling; | 101| | | serial port-interrupt | 102+-----------+------------+-------------------------------------+ 103| PINMUX | on-chip | pinmux | 104+-----------+------------+-------------------------------------+ 105| GPIO | on-chip | gpio | 106+-----------+------------+-------------------------------------+ 107| I2C | on-chip | i2c | 108+-----------+------------+-------------------------------------+ 109| PWM | on-chip | pwm | 110+-----------+------------+-------------------------------------+ 111| CAN | on-chip | can | 112+-----------+------------+-------------------------------------+ 113| SPI | on-chip | spi | 114+-----------+------------+-------------------------------------+ 115 116.. note:: CAN feature requires CAN transceiver 117 118Other hardware features are not yet supported on this Zephyr port. 119 120The default configuration can be found in the defconfig file: 121:zephyr_file:`boards/st/nucleo_l433rc_p/nucleo_l433rc_p_defconfig` 122 123 124Connections and IOs 125=================== 126 127Nucleo L433RC-P Board has 6 GPIO controllers. These controllers are responsible for pin muxing, 128input/output, pull-up, etc. 129 130Available pins: 131--------------- 132.. image:: img/nucleo_l433rc_p_pinout.jpg 133 :align: center 134 :alt: Nucleo L433RC-P 135 136For more details please refer to `ST Nucleo L433RC-P User Manual`_. 137 138Default Zephyr Peripheral Mapping: 139---------------------------------- 140 141- LPUART_1_TX : PA2 142- LPUART_1_RX : PA3 143- UART_1_TX : PA9 144- UART_1_RX : PA10 145- I2C_1_SCL : PB6 146- I2C_1_SDA : PB7 147- PWM_2_CH1 : PA0 148- LD4 : PB13 149- SPI_1: NSS/SCK/MISO/MOSI : PA4/PA5/PA6/PA7 150- SPI_2: NSS/SCK/MISO/MOSI : PA11/PB13/PB14/PB15 (Arduino SPI) 151 152System Clock 153------------ 154 155Nucleo L433RC-P System Clock could be driven by internal or external oscillator, 156as well as main PLL clock. By default System clock is driven by PLL clock at 80MHz, 157driven by 16MHz high speed internal oscillator. 158 159Serial Port 160----------- 161 162Nucleo L433RC-P board has 4 U(S)ARTs and 1 LPUART. The Zephyr console output is assigned 163to LPUART1. Default settings are 115200 8N1. 164 165 166Programming and Debugging 167************************* 168 169Nucleo L433RC-P board includes an ST-LINK/V2-1 embedded debug tool interface. 170 171Applications for the ``nucleo_l433rc_p`` board configuration can be built and 172flashed in the usual way (see :ref:`build_an_application` and 173:ref:`application_run` for more details). 174 175Flashing 176======== 177 178The board is configured to be flashed using west `STM32CubeProgrammer`_ runner, 179so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required. 180 181Alternatively, OpenOCD or JLink can also be used to flash the board using 182the ``--runner`` (or ``-r``) option: 183 184.. code-block:: console 185 186 $ west flash --runner openocd 187 $ west flash --runner jlink 188 189Flashing an application to Nucleo L433RC-P 190------------------------------------------ 191 192Connect the Nucleo L433RC-P to your host computer using the USB port, 193then run a serial host program to connect with your Nucleo board. 194 195.. code-block:: console 196 197 $ picocom /dev/ttyACM0 -b 115200 198 199Now build and flash an application. Here is an example for 200:zephyr:code-sample:`hello_world`. 201 202.. zephyr-app-commands:: 203 :zephyr-app: samples/hello_world 204 :board: nucleo_l433rc_p 205 :goals: build flash 206 207You should see the following message on the console: 208 209.. code-block:: console 210 211 $ Hello World! nucleo_l433rc_p 212 213 214Debugging 215========= 216 217You can debug an application in the usual way. Here is an example for the 218:zephyr:code-sample:`hello_world` application. 219 220.. zephyr-app-commands:: 221 :zephyr-app: samples/hello_world 222 :board: nucleo_l433rc_p 223 :maybe-skip-config: 224 :goals: debug 225 226.. _Nucleo L433RC-P website: 227 https://www.st.com/en/evaluation-tools/nucleo-l433rc-p.html 228 229.. _ST Nucleo L433RC-P User Manual: 230 https://www.st.com/resource/en/user_manual/dm00387966.pdf 231 232.. _STM32L433RC on www.st.com: 233 https://www.st.com/en/microcontrollers-microprocessors/stm32l433rc.html 234 235.. _STM32L432 reference manual: 236 https://www.st.com/resource/en/reference_manual/dm00151940.pdf 237 238.. _STM32CubeProgrammer: 239 https://www.st.com/en/development-tools/stm32cubeprog.html 240