Library for use with VL53L0X, cut 1.1, based on mass-market API v1.1.


Dependents:   ConcorsoFinal HelloWorld_IHM01A1 m3pi_BT m3pi_LIDAR ... more

Fork of X_NUCLEO_53L0A1 by ST Expansion SW Team

X-NUCLEO-53L0A1 Proximity Sensor Expansion Board Firmware Package


This firmware package includes Component Device Drivers and the Board Support Package for STMicroelectronics' X-NUCLEO-53L0A1 Proximity sensor expansion board based on VL53L0X.

Firmware Library

Class X_NUCLEO_53L0A1 is intended to represent the Proximity sensor expansion board with the same name.

The expansion board provides support for the following components:

  1. on-board VL53L0X proximity sensor,
  2. up to two additional VL53L0X Satellites,
  3. on-board 4-digit display

It is intentionally implemented as a singleton because only one X-NUCLEO-VL53L0A1 may be deployed at a time in a HW component stack. In order to get the singleton instance you have to call class method `Instance()`, e.g.:

// Sensors expansion board singleton instance
static X_NUCLEO_53L0A1 *board = X_NUCLEO_53L0A1::Instance(device_i2c, A2, D8, D2);

Example Applications

The library and sample application code were tested against mbed revision 143, dated 26th May 2017.


RevisionDateWhoCommit message
21:99c367e8a402 2017-12-18 mapellil Updated 53L0 lib default tip
20:cb95ef8a3508 2017-12-15 mapellil Added vl53l0x_get_device() to extend API usability
19:1727c86ac63b 2017-10-13 Davidroid Astyle formatting.
18:2413acea538f 2017-10-13 Davidroid Astyle reformatting.
17:f8187a3fa36e 2017-10-10 nikapov Support external component.
16:27d3d95c8593 2017-08-22 Davidroid Aligning to ARM mbed coding style.
15:44e6c9013bff 2017-08-08 johnAlexander Update references in all board components to allow continued use of DevI2C from X_Nucleo_Common.
14:8320b5ff96fa 2017-08-07 johnAlexander Aligned to ARM mbed coding style.
13:615f7e38568c 2017-06-15 johnAlexander Refactor interrupt setup in StartMeasurement, for range_continuous_interrupt mode.
12:f6e2bad00dc7 2017-06-14 johnAlexander Add ranging_continuous_interrupt support.
11:ceaa5a026412 2017-06-12 JerrySzczurak Change to vl53lO class: aligning ARM mbed codding standard. Deprecated functions kept for backward compatibility.
10:faf8d62ce6d1 2017-06-07 johnAlexander Ensure that GetDistance() is populated in the VL53L0X class.
9:367d1f390cb2 2017-06-07 johnAlexander Enable support for left and right sensors. Tested with mbed_143.
8:8d27ebb4e1eb 2016-12-07 johnAlexander Add small delay in VL53L0_On/Off members, to allow longer for sensor to power-up or switch off.
7:35ecf3e060c3 2016-12-05 johnAlexander Replace STM32 HAL_delay call with equivalent mbed wait_ms, for cross processor compatibility.; Import mbed.h in VL53L0X class to ease finding InterruptIn.; Minor code tidy up.
6:fa6944a8850f 2016-12-05 johnAlexander Replace STM32 HAL lib delay with equivalent mbed one, for cross-proc compatability.
5:c82a48da3c9e 2016-12-05 johnAlexander Call mbed.h from VL53L0X_Class, to ease finding InterruptIn.; Remove mbed.h from X_NUCLEO_53L0A1.
4:4e1576541eed 2016-12-05 johnAlexander Minor code tidy-up.
3:613d7f1ef60e 2016-12-02 johnAlexander UpDate GetDistance() to return an error upon invalid range.
2:58b5e9097aa3 2016-12-01 johnAlexander Use ST_INTERFACES package to access RangeSensor abstract class.
1:01b8004bc0a7 2016-11-28 johnAlexander First release. Ready to go to & mbed.
0:c523920bcc09 2016-11-28 johnAlexander Singleshot, polled ranging example using central VL53L0X sensor.; Compatible with mass-market v1.1 C API.