1.. zephyr:board:: nucleo_l053r8
2
3Overview
4********
5The STM32 Nucleo-64 development board with STM32L053R8 MCU, supports Arduino and ST morpho connectivity.
6
7The STM32 Nucleo board provides an affordable, and flexible way for users to try out new concepts,
8and build prototypes with the STM32 microcontroller, choosing from the various
9combinations of performance, power consumption, and features.
10
11The Arduino* Uno V3 connectivity support and the ST morpho headers allow easy functionality
12expansion of the STM32 Nucleo open development platform with a wide choice of
13specialized shields.
14
15The STM32 Nucleo board integrates the ST-LINK/V2-1 debugger and programmer.
16
17The STM32 Nucleo board comes with the STM32 comprehensive software HAL library together
18with various packaged software examples.
19
20More information about the board can be found at the `Nucleo L053R8 website`_.
21
22Hardware
23********
24Nucleo L053R8 provides the following hardware components:
25
26- STM32 microcontroller in QFP64 package
27- Two types of extension resources:
28
29  - Arduino* Uno V3 connectivity
30  - ST morpho extension pin headers for full access to all STM32 I/Os
31
32- ARM* mbed*
33- On-board ST-LINK/V2-1 debugger/programmer with SWD connector:
34
35  - Selection-mode switch to use the kit as a standalone ST-LINK/V2-1
36
37- Flexible board power supply:
38
39  - USB VBUS or external source (3.3V, 5V, 7 - 12V)
40  - Power management access point
41
42- Three LEDs:
43
44  - USB communication (LD1), user LED (LD2), power LED (LD3)
45
46- Two push-buttons: USER and RESET
47- USB re-enumeration capability. Three different interfaces supported on USB:
48
49  - Virtual COM port
50  - Mass storage
51  - Debug port
52
53- Support of wide choice of Integrated Development Environments (IDEs) including:
54
55  - IAR
56  - ARM Keil
57  - GCC-based IDEs
58
59More information about STM32L053R8 can be found in the
60`STM32L0x3 reference manual`_
61
62
63Supported Features
64==================
65
66The Zephyr nucleo_l053r8 board configuration supports the following hardware features:
67
68+-----------+------------+-------------------------------------+
69| Interface | Controller | Driver/Component                    |
70+===========+============+=====================================+
71| NVIC      | on-chip    | nested vector interrupt controller  |
72+-----------+------------+-------------------------------------+
73| UART      | on-chip    | serial port-polling;                |
74|           |            | serial port-interrupt               |
75+-----------+------------+-------------------------------------+
76| PINMUX    | on-chip    | pinmux                              |
77+-----------+------------+-------------------------------------+
78| GPIO      | on-chip    | gpio                                |
79+-----------+------------+-------------------------------------+
80| CLOCK     | on-chip    | reset and clock control             |
81+-----------+------------+-------------------------------------+
82| I2C       | on-chip    | i2c controller                      |
83+-----------+------------+-------------------------------------+
84| SPI       | on-chip    | spi controller                      |
85+-----------+------------+-------------------------------------+
86| EEPROM    | on-chip    | eeprom                              |
87+-----------+------------+-------------------------------------+
88
89Other hardware features are not yet supported in this Zephyr port.
90
91The default configuration can be found in the defconfig file:
92:zephyr_file:`boards/st/nucleo_l053r8/nucleo_l053r8_defconfig`
93
94Connections and IOs
95===================
96
97Each of the GPIO pins can be configured by software as output (push-pull or open-drain), as
98input (with or without pull-up or pull-down), or as peripheral alternate function. Most of the
99GPIO pins are shared with digital or analog alternate functions. All GPIOs are high current
100capable except for analog inputs.
101
102Board connectors:
103-----------------
104.. image:: img/nucleo_l053r8_connectors.jpg
105   :align: center
106   :alt: Nucleo L053R8 connectors
107
108Default Zephyr Peripheral Mapping:
109----------------------------------
110
111- UART_1 TX/RX : PB6/PB7
112- UART_2 TX/RX : PA2/PA3 (ST-Link Virtual Port Com)
113- I2C1 SCL/SDA : PB8/PB9 (Arduino I2C)
114- SPI1 SCK/MISO/MOSI : PA5/PA6/PA7 (Arduino SPI)
115- USER_PB   : PC13
116- LD2       : PA5
117
118For more details please refer to `STM32 Nucleo-64 board User Manual`_.
119
120Programming and Debugging
121*************************
122
123Nucleo L053R8 board includes an ST-LINK/V2-1 embedded debug tool interface.
124
125Applications for the ``nucleo_l053r8`` board configuration can be built and
126flashed in the usual way (see :ref:`build_an_application` and
127:ref:`application_run` for more details).
128
129Flashing
130========
131
132The board is configured to be flashed using west `STM32CubeProgrammer`_ runner,
133so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required.
134
135Alternatively, OpenOCD or JLink can also be used to flash the board using
136the ``--runner`` (or ``-r``) option:
137
138.. code-block:: console
139
140   $ west flash --runner openocd
141   $ west flash --runner jlink
142
143Flashing an application to Nucleo L053R8
144----------------------------------------
145
146Here is an example for the :zephyr:code-sample:`blinky` application.
147
148.. zephyr-app-commands::
149   :zephyr-app: samples/basic/blinky
150   :board: nucleo_l053r8
151   :goals: build flash
152
153You will see the LED blinking every second.
154
155Debugging
156=========
157
158You can debug an application in the usual way.  Here is an example for the
159:zephyr:code-sample:`hello_world` application.
160
161.. zephyr-app-commands::
162   :zephyr-app: samples/hello_world
163   :board: nucleo_l053r8
164   :maybe-skip-config:
165   :goals: debug
166
167References
168**********
169
170.. target-notes::
171
172.. _Nucleo L053R8 website:
173   https://www.st.com/en/evaluation-tools/nucleo-l053r8.html
174
175.. _STM32L0x3 reference manual:
176   https://www.st.com/resource/en/reference_manual/dm00095744.pdf
177
178.. _STM32 Nucleo-64 board User Manual:
179   https://www.st.com/resource/en/user_manual/dm00105823.pdf
180
181.. _STM32CubeProgrammer:
182   https://www.st.com/en/development-tools/stm32cubeprog.html
183