7 years, 1 month ago.

use X-NUCLEO-53L0A1 satellites as proximity sensor

Hi, I'm new with stm32 and mbed environment. I'm trying to use VL53L0X satellites as proximity/distance sensor but I have few unsolved questions: 1) in this datasheet I can see that only first six pin of satellites are used: http://www.st.com/content/ccc/resource/technical/document/data_brief/group0/28/76/d4/28/20/f5/4c/1b/DM00284748/files/DM00284748.pdf/jcr:content/translations/en.DM00284748.pdf is right? 2) is there an easy example on how to use it like this for hcsr04 arduino sensor: https://developer.mbed.org/teams/20170113-Corso-Rapid-Prototyping-with-ST/code/STMNucleoF401RE_ExampleCode_13_Ultasound/ ?? (examples given by downloading his own software are little bit difficult) 3) which pins i have to connect if I don't want putting this board on the stm32 board? Thanks for the support

Question relating to:

Hi Alessandro, please check the datasheet for the sensor itself on the ST website. The satellite board has the positive power supply voltage (up to 3.3V is ok I think) and GND. The communication is I2C SDA and SCL. GPIO is the interrupt from the sensor. XSHUT is used to shutdown a sensor when you configure multiple sensors. Each could be connected to input or output from the MBED board. XSHUT is active low so if you have only one sensor you can pull it up to supply voltage. For the software look how STs library communicates with the sensor over I2C.

I made some code based on the library for Arduino which is in turn based on an example from ST

Import programVL53L0X_test

Exercise VL53L0X

This is pretty basic but might help. In the long term try to use the ST code.

posted by Ian Kilburn 30 Mar 2017

1 Answer

7 years ago.

1) Only pins 1-6 are used on the satellite board. The pin mappings are :

Pin 1 - VL53L0X Interrupt pin. Pin 2 - I2C SCL. Pin 3 - VL53L0X XShutdown pin. Pin 4 - I2C SDA. Pin 5 - +3v3 input. VDD_Sensor. Pin 6 - GND(Ground).

Pins 7-10 are unused & unconnected.

2) There is a simple "hello world" application (HellowWorld_53L0A1), using the central, onboard VL53L0X sensor available at : https://developer.mbed.org/components/X-NUCLEO-53L0A1/

There will be a library update and further example programs published soon.

3) The X_Nucleo_53L0A1 expansion board uses the following pins to connect to each sensor :

CN5 Arduino Connector D8 (Pin 1) - GPIO1_L, left satellite VL53L0X interrupt. GND (Pin 7) - Ground D14(Pin 9) - I2C SDA. D15(Pin 10) - I2C SCL.

CN6 Arduino Connector +3v3(Pin4) GND(Pin 6 & 7)

CN8 Arduino Connector A2(Pin 3) - GPIO1, centre/on-board VL53L0X interrupt

CN9 Arduino Connector D2(Pin 3) - GPIO1_R, right satellite VL53L0X interrupt.

These are defined in Tables 3 & 4 in the user manual (UM2047), available from the url link below.

XShut, XShut_L and XShut_R are not driven through the Arduino connectors. However, they are available through the STMPE1600 GPIO Expanders on the expansion board. XShut is available via GPIO15 on U19. XShut_L is available via GPIO14, and XShut_R is avialable via GPIO15, on U21. Both GPIO_Expanders are addressable via I2C. U19 is at address 0x42 (7-bit) and U22 is at address 0x43 (7-bit.)

Further information on the X-Nucleo_53L0A1 board (& VL53L0X) can be found here :

http://www.st.com/content/st_com/en/products/ecosystems/stm32-open-development-environment/stm32-nucleo-expansion-boards/stm32-ode-sense-hw/x-nucleo-53l0a1.html

I hope this helps.