This is the documentation for the latest (master) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

VCNL4040: proximity and ambient light sensor


This sample periodically measures proximity and light for 5 sec in the interval of 300msec in polling mode. Then threshold trigger mode is enabled with the high threshold value of 127 and data is fetched based on interrupt. The result is displayed on the console.


This sample uses the VCNL4040 sensor controlled using the I2C interface. Connect sensor INT for interrupt to Feather D5 pin on the Adafruit STM32F405 Feather.

Building and Running

This project outputs sensor data to the console. It requires a VCNL4040 sensor to be connected to the desired board.

west build -b None samples/sensor/vcnl4040/
west flash

Sample Output

get device vcnl4040
Testing the polling mode.
Proximity: 31
Light (lux): 288

<repeats for 5sec every 300ms>

Polling mode test finished.
Testing the trigger mode.
Testing proximity trigger.
Proximity: 122

<repeats whenever triggered for 5sec>

Threshold trigger test finished.
Trigger mode test finished.