1.. _x_nucleo_53l0a1_shield:
2
3X-NUCLEO-53L0A1 ranging and gesture detection sensor expansion board
4####################################################################
5
6Overview
7********
8
9The X-NUCLEO-53L0A1 expansion board features the VL53L0X ranging and gesture
10detection sensor, based on ST’s FlightSense™, Time-of-Flight technology. It is
11an evaluation board that provides an introduction to the ranging and gesture
12detection capabilities of the VL53L0X module.
13
14One VL53L0X is soldered on the expansion board itself. A set of spacers and
15a cover glass are provided with the board, and can be fitted onto this center
16sensor.
17
18Two VL53L0X satellites can be connected using the two 10 pin connectors.
19The expansion board is compatible with the STM32 Nucleo board family,
20and with the Arduino UNO R3 connector layout.
21
22.. figure:: x_nucleo_53l0a1.jpg
23   :align: center
24   :alt: X-NUCLEO-53L0A1
25
26More information about the board can be found at the
27`X-NUCLEO-53L0A1 website`_.
28
29Requirements
30************
31
32This shield can only be used with a development board that provides a
33configuration for Arduino connectors and defines a node alias for the
34I2C interface (see :ref:`shields` for more details).
35
36Peripherals
37***********
38
39The sensors have the following device tree labels and I2C addresses:
40
41* **Center sensor** (soldered on the shield): ``VL53L0X_C``, 0x30
42* **Left satellite sensor**: ``VL53L0X_L``, 0x31
43* **Right satellite sensor**: ``VL53L0X_R``, 0x32
44
45The 7 segment display is connected to two GPIO expanders, each of one handles
462 digits x 7 segments = 14 pins:
47
48* **Rightmost two digits**: ``EXPANDER1``, 0x42
49* **Leftmost two digits**: ``EXPANDER2``, 0x43
50
51External links
52**************
53
54- `X-NUCLEO-53L0A1 ranging and gesture detection sensor expansion board User Manual`_
55- `VL53L0X Time-of-Flight ranging and gesture detection sensor Datasheet`_
56
57
58Samples
59*******
60
61The sample :zephyr:code-sample:`vl53l0x` demonstrates how to use the ranging sensor VL53L0X
62using the center sensor only.
63
64The sample :zephyr:code-sample:`x-nucleo-53l0a1` sample demonstrates how to use the three
65sensors (soldered + 2 satellites) and the 7 segments display.
66
67Programming
68***********
69
70Set ``--shield x_nucleo_53l0a1`` when you invoke ``west build``. For example:
71
72.. zephyr-app-commands::
73   :zephyr-app: samples/sensor/vl53l0x
74   :board: nucleo_f429zi
75   :shield: x_nucleo_53l0a1
76   :goals: build
77
78.. _X-NUCLEO-53L0A1 website:
79   https://www.st.com/en/evaluation-tools/x-nucleo-53l0a1.html
80
81.. _X-NUCLEO-53L0A1 ranging and gesture detection sensor expansion board User Manual:
82   https://www.st.com/resource/en/user_manual/dm00285104-xnucleo53l0a1-ranging-and-gesture-detection-sensor-expansion-board-based-on-vl53l0x-for-stm32-nucleo-stmicroelectronics.pdf
83
84.. _VL53L0X Time-of-Flight ranging and gesture detection sensor Datasheet:
85   https://www.st.com/resource/en/datasheet/vl53l0x.pdf
86