1.. _b_l4s5i_iot01a_board: 2 3ST B_L4S5I_IOT01A Discovery kit 4############################### 5 6Overview 7******** 8 9The B_L4S5I_IOT01A Discovery kit features an ARM Cortex-M4 based STM32L4S5VI MCU 10with a wide range of connectivity support and configurations. Here are 11some highlights of the B_L4S5I_IOT01A Discovery kit: 12 13 14- STM32L4S5VIT6 microcontroller featuring 2 Mbyte of Flash memory, 640 Kbytes of RAM in LQFP100 package 15- On-board ST-LINK/V2-1 supporting USB re-enumeration capability 16- Three different interfaces supported on USB: 17 18 - Virtual com port 19 - Mass storage 20 - Debug port 21 22- ARDUINO ® Uno V3 and Pmod TM expansion connector 23- 4 LEDs (2 for user, wifi, BLE) 24- 2 push-buttons (user and reset) 25- USB OTG FS with micro-AB connector 26- Dynamic NFC tag 27- 2 digital omnidirectional microphones 28- Capacitive digital sensor for relative humidity and temperature 29- Time-of-flight and gesture-detection sensors 30- High-performance 3-axis magnetometer 31- 3D accelerometer and 3D gyroscope 32- 64-Mbit Quad-SPI Flash memory 33- Bluetooth ® 4.1 module 34- 802.11 b/g/n compliant Wi‐Fi ® module 35- MCU current ammeter with 4 ranges and auto-calibration 36 37- Flexible power supply options: 38 - ST-LINK/V2-1 39 - USB FS connector 40 - External 5 V 41 42 43.. image:: img/b-l4s5i_iot01a.jpg 44 :align: center 45 :alt: B_L4S5I_IOT01A Discovery kit 46 47More information about the board can be found at the `B L4S5I IOT01A Discovery kit website`_. 48 49Hardware 50******** 51 52The STM32L4S5VI SoC provides the following hardware features: 53 54- Ultra-low-power with FlexPowerControl (down to 130 nA Standby mode and 100 uA/MHz run mode) 55- Core: ARM |reg| 32-bit Cortex |reg|-M4 CPU with FPU, frequency up to 120 MHz, 100DMIPS/1.25DMIPS/MHz (Dhrystone 2.1) 56- Clock Sources: 57 - 4 to 48 MHz crystal oscillator 58 - 32 kHz crystal oscillator for RTC (LSE) 59 - Internal 16 MHz factory-trimmed RC ( |plusminus| 1%) 60 - Internal low-power 32 kHz RC ( |plusminus| 5%) 61 - Internal multispeed 100 kHz to 48 MHz oscillator, auto-trimmed by 62 LSE (better than |plusminus| 0.25 % accuracy) 63 - 3 PLLs for system clock, USB, audio, ADC 64- RTC with HW calendar, alarms and calibration 65- Up to 21 capacitive sensing channels: support touchkey, linear and rotary touch sensors 66- 16x timers: 67 - 2x 16-bit advanced control 68 - 2x 32-bit and 5x 16-bit general purpose 69 - 2x 16-bit basic 70 - 2x low-power 16-bit timers (available in Stop mode) 71 - 2x watchdogs 72 - SysTick timer 73- Up to 83 fast I/Os, most 5 V-tolerant 74- Memories 75 - Up to 2 MB Flash, 2 banks read-while-write, proprietary code readout protection 76 - Up to 640 KB of SRAM including 32 KB with hardware parity check 77 - External memory interface for static memories supporting SRAM, PSRAM, NOR and NAND memories 78 - Octo SPI memory interface 79- 4x digital filters for sigma delta modulator 80- Rich analog peripherals (independent supply) 81 - 1x 12-bit ADC 5 MSPS, up to 16-bit with hardware oversampling, 200 uA/MSPS 82 - 2x 12-bit DAC, low-power sample and hold 83 - 2x operational amplifiers with built-in PGA 84 - 2x ultra-low-power comparators 85- 18x communication interfaces 86 - USB OTG 2.0 full-speed, LPM and BCD 87 - 2x SAIs (serial audio interface) 88 - 4x I2C FM+(1 Mbit/s), SMBus/PMBus 89 - 6x USARTs (ISO 7816, LIN, IrDA, modem) 90 - 3x SPIs (4x SPIs with the Quad SPI) 91 - CAN (2.0B Active) and SDMMC interface 92 - SDMMC I/F 93 - DCMI camera interface 94- 14-channel DMA controller with multiplex request router 95- True random number generator 96- CRC calculation unit, 96-bit unique ID 97- AES and HASH hardware accelerators 98- Development support: serial wire debug (SWD), JTAG, Embedded Trace Macrocell |trade| 99 100 101More information about STM32L4S5VI can be found here: 102 - `STM32L4S5VI on www.st.com`_ 103 - `STM32L4S5 reference manual`_ 104 105 106Supported Features 107================== 108 109The Zephyr b_l4s5i_iot01a board configuration supports the following hardware features: 110 111+-----------+------------+-------------------------------------+ 112| Interface | Controller | Driver/Component | 113+===========+============+=====================================+ 114| NVIC | on-chip | nested vector interrupt controller | 115+-----------+------------+-------------------------------------+ 116| UART | on-chip | serial port-polling; | 117| | | serial port-interrupt | 118+-----------+------------+-------------------------------------+ 119| PINMUX | on-chip | pinmux | 120+-----------+------------+-------------------------------------+ 121| GPIO | on-chip | gpio | 122+-----------+------------+-------------------------------------+ 123| I2C | on-chip | i2c | 124+-----------+------------+-------------------------------------+ 125| SPI | on-chip | spi | 126+-----------+------------+-------------------------------------+ 127| PWM | on-chip | pwm | 128+-----------+------------+-------------------------------------+ 129| WATCHDOG | on-chip | independent watchdog | 130+-----------+------------+-------------------------------------+ 131| BLE | module | bluetooth | 132+-----------+------------+-------------------------------------+ 133| WIFI | module | es-wifi | 134+-----------+------------+-------------------------------------+ 135 136The default configuration can be found in the defconfig file: 137 138 ``boards/arm/b_l4s5i_iot01a/b_l4s5i_iot01a_defconfig`` 139 140 141Connections and IOs 142=================== 143 144B_L4S5I_IOT01A Discovery kit has 9 GPIO controllers (from A to I). These controllers are responsible for pin muxing, 145input/output, pull-up, etc. 146 147For mode details please refer to `B L47S5I IOT01A board User Manual`_. 148 149Default Zephyr Peripheral Mapping: 150---------------------------------- 151 152- UART_1 TX/RX : PB6/PB7 (ST-Link Virtual Port Com) 153- UART_4 TX/RX : PA0/PA1 (Arduino Serial) 154- I2C1 SCL/SDA : PB8/PB9 (Arduino I2C) 155- I2C2 SCL/SDA : PB10/PB11 (Sensor I2C bus) 156- SPI1 NSS/SCK/MISO/MOSI : PA2/PA5/PA6/PA7 (Arduino SPI) 157- SPI3 SCK/MISO/MOSI : PC10/PC11/PC12 (BT SPI bus) 158- PWM_2_CH1 : PA15 159- LD1 : PA5 160- LD2 : PB14 161- user button : PC13 162 163System Clock 164------------ 165 166B_L4S5I_IOT01A Discovery System Clock could be driven by an internal or external oscillator, 167as well as the main PLL clock. By default the System clock is driven by the PLL clock at 80MHz, 168driven by 16MHz high speed internal oscillator. 169 170Serial Port 171----------- 172 173B_L4S5I_IOT01A Discovery kit has 4 U(S)ARTs. The Zephyr console output is assigned to UART1. 174Default settings are 115200 8N1. 175 176 177Programming and Debugging 178************************* 179 180Flashing 181======== 182 183B_L4S5I_IOT01A Discovery kit includes an ST-LINK/V2-1 embedded debug tool interface. 184This interface is supported by the openocd version included in Zephyr SDK. 185 186Flashing an application to B_L4S5I_IOT01A Discovery kit 187------------------------------------------------------- 188 189Connect the B_L4S5I_IOT01A Discovery kit to your host computer using the USB 190port, then run a serial host program to connect with your Discovery 191board. For example: 192 193.. code-block:: console 194 195 $ minicom -D /dev/ttyACM0 196 197Then, build and flash in the usual way. Here is an example for the 198:ref:`hello_world` application. 199 200.. zephyr-app-commands:: 201 :zephyr-app: samples/hello_world 202 :board: b_l4s5i_iot01a 203 :goals: build flash 204 205You should see the following message on the console: 206 207.. code-block:: console 208 209 Hello World! arm 210 211Debugging 212========= 213 214You can debug an application in the usual way. Here is an example for the 215:ref:`hello_world` application. 216 217.. zephyr-app-commands:: 218 :zephyr-app: samples/hello_world 219 :board: b_l4s5i_iot01a 220 :maybe-skip-config: 221 :goals: debug 222 223.. _B L4S5I IOT01A Discovery kit website: 224 https://www.st.com/en/evaluation-tools/b-l4s5i-iot01a.html 225 226.. _B L47S5I IOT01A board User Manual: 227 https://www.st.com/resource/en/user_manual/dm00698410.pdf 228 229.. _STM32L4S5VI on www.st.com: 230 https://www.st.com/en/microcontrollers-microprocessors/stm32l4s5vi.html 231 232.. _STM32L4S5 reference manual: 233 https://www.st.com/resource/en/reference_manual/dm00310109.pdf 234