The steval-mki021v1 is a demonstration kit designed to provide the user with a complete, ready-to-use platform for the evaluation of the lis331al (9 pages)
Page 4
Change key settings of the device Full access to product settings Data logging capabilities Data logging capabilities Ranging and Gesture detection demo VL53L1X C API package – STSW-IMG007 VL53L1X API Data Brief VL53L1X API User Manual Discover API Source code VL53L1X Data Brief...
Hardware Description • VL53L1X Evaluation tools are all based on the same hardware pack composed of o Nucleo F401RE board o X-NUCLEO-53L1A1 Nucleo Expansion board o Optional two VL53L1X satellites o Several gap spacers and cover glass Search for P-NUCLEO-53L1A1 on st.com to order the pack and get documentation...
Page 6
VL53L1X Application • Advanced user detection Ultra-low-power Laptop, PC, tablets & IoT, portable handsets. • Drones and Robotic Take-off and landing phase Obstacle avoidance Ceiling detection • Smart building and smart lighting People detection, gesture control •...
Page 7
VL53L1X Mode • Autonomous mode is using sigma delta mechanism to measure distance: Averages all targets in the full FoV Allows multiple ROI This mode is called Timed measurement, means ranging continuously and autonomously with a programmable inter-measurement period.
Page 8
Autonomous functionalities Ranging characteristics (tbc) Timing budget • VL53L1X running in low power autonomous mode, • Autonomous ranging with selectable timing no data sharing through I2C, just GPIO level change if budget from 20ms to 1000ms. human / object is detected.
Page 9
Timing Budget • Timing Budget and Inter measurement budget statically configured as part of Initialized process. • It allows user to configure timing budget and Inter measurement budget by calling sub sequent API in Application level. • For Example : In Init time, let say default timing budget set to 41ms and inter measurement timing budget set to 500ms.
Page 11
Package • On www.st.com • X-CUBE-53L1A1 : Link • VL53L1X GUI(STSW-IMG008) : Link • VL53L1X API(STSW-IMG007) : Link • Data sheet , User manual and GUI UM can get at st.com.
Software Flow VL53L1_WaitDeviceBooted( It ensures that the device is booted and ready. DataInit(): It performs device initialization. Call once only. StaticInit(): It loads device settings. StartMeasurement(): It must called start measurement Waitmeasuremetndataready It polls on the device interrupt status until ranging data are ready.
Page 13
VL53L1X Calibration • To gain full performance of the device, calibration functions should run once at the customer production line. Note: X-talk calibration distance chart, same as Ewok.
Page 14
• We see software distribution of an application using the X-NUCLEO- 53L1A1 expansion with either the NUCLEO-F401RE or NUCLEO- L476RG board. VL53l1x Driver STM32 Nucleo BSP STM32 HAL Application main.c...
Page 15
Ranging Result • Ranging result can by seen by serial communication , either using telnet or tera term.
Page 16
• Run the installer with Admin privileges • PC Graphical User Interface to • Display (in live) key ranging data (distance, signal rate) • Change key parameters of VL53L1X • Perform calibration phases (offset and xTalk with cover glass) • Get data logging (.csv file) •...
Page 17
VL53L1X - GUI • The “Low-power Autonomous” tab provides ranging distance and signal strength reflected from target. • You can configure various parameters : • Distance mode • Threshold option • Timing budget • Inter measurement period • ROI selection •...
Page 18
Source code Files • Drivers: Deal with only following 7 files. • Platform • Application • X-Nucleo-53L1A1...
Page 19
Analysis Application file • The released SW package supports • Interrupt mode: an Interrupt pin (GPIO1) sends an interrupt to the host when a new measurement is available. • Polling Mode: Host has to check the status of ongoing measurement by polling API. •...
Page 20
Interrupt mode - Threshold • Threshold can be set based on signal or distance or both parameters. • Distance detection mode is governed by CrossMode value. • 4 detection thresholds criteria : • Above High ( CrossMode =1) • Below Low ( CrossMode =0) •...
Page 21
VL53L1X - ROI • The receiving SPAD array includes 16x16 SPADs which covers full FoV. It allows to narrow down FoV by programming smaller ROI. Minimum ROI size is 4x4. • In order to set ROI, top left and bottom right coordinates are required.
Page 22
VL53L1X – ROI Result • It allows to reduce FoV, but on other hand penalties on ranging distance. Thus, caution to use it. • From the above table, if application consider 15 ° FoV, then sensor can range max ½ of the actual ranging capability.
Page 24
• VL53L1X supports THREE different IDES • AC6 (Free to use unlimited code size) • IAR (License limited, 1 year) • Keil-ARM (Limited Code size , 32Kb) , ST agreement License version supports STM32M0XXX series. • • STM32F432XX • STM32L476XX •...
Page 25
VL53L1X’s driver Code analysis on IDE • After analyzing VL53L1X driver code (Without Calibration), the ROM size is ~9Kb and RAM is 280 bytes. Detail analysis and map file can be found on attached email , date : March 15, 2018 5:00 PM, subject: VL53L1X Multi sensors.
Page 26
Multi Sensor Flow • Initialized each sensor’s I2C address by incrementing 2. Initialized Sensor 2 Sensor 3 Sensor 1 address Address+2 Address +4 Identifies sensor availability Present Present Present Sensor 3 Sensor 1 Sensor 2 Ranging Result Ranging val Ranging val Ranging val...
Page 27
Mutli Sensor Example Code • Initialized each sensor’s I2C address by incrementing 2. Program address Set address to sensor...
Page 28
Mutli Sensor Example Code • Check present sensor and ranging. Check present Device...
Page 29
Mutli Sensor Example Code Interrupt • HW configuration is required to handle multi sensor interrupt mode.
Page 30
VL53L1X benefits versus VL53L0X 2x longer distance detection VL53L1 VL53L0 (Autonomous) 2x faster ranging operation Fastest miniature ToF product on the market • 20ms typical ranging timing Laser budget, could further down. Faster “jump to focus” • Run 50Hz frequency...
Page 32
HOD Demo outputs • HOD Demo outputs • HOP : Human Occupancy Probability (integer value between 0 and 100) • Human Presence : True/False (based on HOP) • D : Distance of the detected target (object or human) • How to interpret HOD outputs ? Human detected at distance D...
Getting Started • Unzip the PresenceHODKit FW package on your PC • Connect hardware to the PC through USB with Nucleo board(please install STLink007 and STLink009 firstly if you are using Win7) • Check hardware is recognized as a mass storage •...
Page 34
• Leave the sensor FoV and let a chair (detected by the sensor) • After ~20 sec, Presence flag goes to 0 with HOP converging at 25% • Unzip HODDemo1.0.0.zip and click HODDemo.exe to start ST HODDemo graphical tool see the output of HOP(also distance)
Need help?
Do you have a question about the VL53L1X and is the answer not in the manual?
Questions and answers