STM 32 duino Workshop Carlo Parata 24 November

STM 32 duino Workshop Carlo Parata 24 November 2017

Agenda • Meet STM 32 Open Development Environment • Meet Nucleo-F 401 RE • STM 32 duino • Examples • Blinking LED • Motion and Environmental Sensors Expansion Board • Proximity and Light Sensors Expansion Board 2

ST’s solutions for Io. T Common SW platform 3 Cloud provider SDKs supported, enabling sensor-to-cloud platforms INTEGRATION 131 SW packages from drivers to full application examples and mobile applications 27 35 STM 32 Nucleo development boards Covering the broad portfolio of STM 32 MCU families STM 32 Nucleo expansion boards (X-NUCLEO) ST & 3 rd-party form-factor boards Cloud JAM Sensi. BLE Bluecoin Offering peripheral functions Sensor Tile Io. T Discovery Modular hardware Form factor boards 3

How to address developers’ needs • Offer a large range of microcontrollers from low power to high performance to meet application needs Process Move / Actuate Secure • Ensure that extra functions are covered in the main domains • Sensing, connectivity, power management, motor control and audio • Ease the Development Environment to allow fast development and production • Support of multiple IDEs • Free-of-charge tools and embedded software to enable fast and easy development Translat e Sense Connec t Power 4

The real Io. T lifecycle Idea Device prototype Integrated boards Final device Application Test SW Field test Commercial SW Secure device decommissioning or physical replacement Secure device update Secure data streaming & actuation Secure authentication Secure SW download & installation Networking protocols & Cloud API support Secure e 2 e link Secure provisioning Market 5

Fast, affordable prototyping & development Developer community and support Compatibility with free and commercial Development Environments Cloud Connectivity Safety & Security Sensing Mobile app prototyping & cloud prototyping Pre-integrated ST components and SW Function packs Set of function examples for some of the most common application use cases STM 32 Cube development software STM 32 Cube expansion software STM 32 Nucleo development boards STM 32 Nucleo expansion boards Sensors – motion, environment, light. . Ultra-low power connectivity Analog and mixed signal components Power and energy management Motor drivers and actuators 6

An application-oriented approach Your need Sensors The building blocks Our answer Processor boards (Nucleo 64) Expansion boards (X-Nucleo) Function Packs (FP) Connectivity Motion Environment al Bluetooth LE Translate Sub-GHz NFC Motor drivers Power Processing Application software and development tools Op. Amp Motor controller Power manager Microcontroll er Integrated Development Environment and middleware Ready-to-use application-oriented package 7

STM 32 Nucleo development boards 27 development boards and growing… in two flavors (Processing & Security) STM 32 complete product range from ultra-low power to high performance 8

STM 32 Nucleo expansion boards 35 expansion boards and growing… covering all the key functions Sense 5 Motion & environmental sensors Proximity sensor Microphone Power Drive Connect 11 BLE Wi-Fi Sub-GHz NFC 3 Power management LED boost Move Actuate 12 Motor drive Actuator Translat e 4 Audio amplifier Op. Amp 9

Embedded Software offer STM 32 Snippets, Cube LL STM 32 Cube HAL Arduino and mbed Micro. Python, Espruino High optimization Low portability Average optimization STM 32 Portability Low optimization ARM Portability Low optimization Architecture Portability

STM 32 Nucleo Flexible board power supply : through USB or external source Integrated ST-Link/V 2 -1: mass storage device flash programming 2 push buttons, 2 color Leds Arduino extension connectors : easy access to add-ons One STM 32 MCU flavor with 64 pins Morpho extension headers : direct access to all MCU I/Os 11

STM 32 duino • Freely available Arduino support for STM 32 MCUs • Run your sketches on STM 32! • Active online community 12

Arduino IDE Verify button: compile a sketch Upload button: flash a sketch New/ Open/ Save buttons: edit a sketch 13

Install STM 32 support files (1) • Copy https: //raw. githubusercontent. com/stm 32 duino/Board Manager. Files/master/STM 32/package_stm_index. json inside “Additional Boards Manager URLs” 14

Install STM 32 support files (2) • Go to “Boards Manager” and install the “STM 32 Cores” 15

STM 32 duino 16

Arduino sketch Setup routine: where all the initializations are done Loop routine: it represents the core of the application and it is called in an infinite loop 17

Nucleo-F 401 RE: Blinking the LED • Compile the sketch • Upload the binary on the Nucleo-F 401 RE • See the led blinking 18

Motion MEMS and environmental sensors expansion board X-NUCLEO-IKS 01 A 2 Hardware description The X-NUCLEO-IKS 01 A 2 is a motion MEMS and environmental sensor expansion board for the STM 32 Nucleo. It is compatible with the Arduino UNO R 3 connector layout, and is designed around the LSM 6 DSL 3 D accelerometer and 3 D gyroscope, the LSM 303 AGR 3 D accelerometer and 3 D magnetometer, the HTS 221 humidity and temperature sensor and the LPS 22 HB pressure sensor. The X-NUCLEO-IKS 01 A 2 interfaces with the STM 32 microcontroller via the I²C pin, and it is possible to change the default I²C port. Key products on board LSM 6 DSL MEMS 3 D accelerometer (± 2/± 4/± 8/± 16 g) + 3 D gyroscope (± 125/± 245/± 500/± 1000/± 2000 dps) LSM 303 AGR MEMS 3 D magnetometer (± 50 gauss) + MEMS 3 D accelerometer (± 2/± 4/± 8/± 16 g) LPS 22 HB MEMS pressure sensor, 260 -1260 h. Pa absolute digital output barometer HTS 221 Capacitive digital relative humidity and temperature DIL 24 -pin Socket available for additional MEMS adapters and other sensors (UV index) HTS 221 LSM 6 DSL ST morpho connector** LPS 22 HB LSM 303 AGR Arduino UNO R 3 connector DIL 24 -pin Latest info available at www. st. com X-NUCLEO-IKS 01 A 2 ** Connector for the STM 32 Nucleo Board 19

Combine Nucleo-F 401 RE with ST MEMS and environmental sensors shield (1) • Plug ST MEMS and environmental sensor shield on Nucleo-F 401 RE board • Compile and run the data logging demo • Look at the source code to understand the usage of the sensor libraries 20

Combine Nucleo-F 401 RE with ST MEMS and environmental sensors shield (2) • Plug ST MEMS and environmental sensors shield on Nucleo-F 401 RE board • Compile and run the free fall detection demo • Look at the source code to understand the usage of the sensor libraries for the hardware features of LSM 6 DSL 21

Proximity, gesture and ambient light sensor expansion board Arduino UNO R 3 connectors Hardware Description • The X-NUCLEO-6180 XA 1 is proximity and ambient light sensor evaluation and development board system, designed around VL 6180 X, a device based on ST’s Flight. Sense. TM, Time-of. Flight technology. • The VL 6180 X communicates with the Arduino board host microcontroller through an I 2 C link available on the Arduino UNO R 3 connector. It was successfully tested on Arduino STAR OTTO and Arduino Due. Key Products on board VL 6180 X proximity, gesture and Ambient Light sensor (ALS) Possibility to add 3 x VL 6180 X external satellite boards (order code: VL 6180 X-SATEL – 2 satellites) Latest info available at X-NUCLEO-6180 XA 1 VL 6180 X satellites Order Code: X-NUCLEO-6180 XA 1 22

Proximity and ambient light sensor shield • Time of Flight proximity sensor • 0 -20 cm range • 1 mm resolution • Ambient Light Sensor • I 2 C interface • Possibility to add 3 x VL 6180 X external satellite boards 23

Combine Nucleo-F 401 RE with ST proximity and light sensor shield (1) • Plug ST proximity and light sensor shield on Nucleo. F 401 RE board • Compile and run the X_NUCLEO_6180 XA 1_Hello. World sketch • Look at the source code to understand the usage of the Flight. Sense libraries 24

Combine Nucleo-F 401 RE with ST proximity and light sensor shield (2) • Plug ST proximity and light sensor shield on Nucleo. F 401 RE board • Compile and run the X_NUCLEO_6180 XA 1_Gesture_Swipe 1 sketch • Look at the source code to understand the usage of the Flight. Sense libraries 25

Thank you!
- Slides: 26