Arduino_APDS9960

Hello,
Is Arduino_APDS9960 a Arduino supported library? Im having problems with this library. It has worked but now it stopped working. I switched to SparkFun_APDS9960 and it works.

I have purchased many different APDS9960 boards but they are different. Some are RGB and some are not. It's difficult to see what's the difference. All of them has the same name expect that some have RGB after 9960. The boards are in different sizes as well. They don't give the same values. So if Arduino APDS9960 I would have another library to test with. Any ideas are welcome!
Regards, André.

The Arduino_APDS9960 library is straightforward, it should work for any APDS9960.

But the sensors can have different ID numbers. Someone asks to add 0xA8 to 0xAB: https://github.com/arduino-libraries/Arduino_APDS9960/issues/35

Sparkfun checks for ID 0xAB and 0x9C: https://github.com/sparkfun/SparkFun_APDS-9960_Sensor_Arduino_Library/blob/master/src/SparkFun_APDS9960.h#L34

Some modules with a APDS9960 are compatible with both 5V and 3.3V boards, but some modules are only for 3.3V boards. If you connect a 3.3V sensor to a 5V board, then weird things might happen (or not).

The number of counterfeit or fake parts is still increasing. Maybe there are modules with counterfeit sensors.

1 Like

Thank you for the good answer!

After some more testing I can read all my APDS9960 with both the Arduino Library and Sparkfun.
After reading your reply I realize that there are many settings. Im only interested in the proximity data. With the same code I get different proximity data units from different shops. I want to read as short as possible. I have 1 batch that is okey. Closest reading is little less than 1cm, thats okey. The others are 5cm or more.
I will take a look at different settings but maybe you know straight away what I should change?

Thanks again! // André




Which Arduino board do you use and how do you connect the 4 wires ?
I see only one module with a level shifter that can be used with a 5V Arduino board.

Hello, I use the Arduino Nano ESP32.
On the I2C bus I also have a very small OLED. I have 4,7K pull ups on the bus. I use the I2C pins described in the Nano ESP32 manual.
The sensor on the picture you sent. It says power can be 3V-5V.
On many sensors they write 2 names. GY-9960LLC APDS-9960. I think the board is the GY...and the sensor chip is 9960.
Another one that works good is called GY-9960-3.3 APDS-9960.

I just tested some more. I have GY-9960-3.3 APDS-9960 from different shops. From one shop the proximity sensor can measure under 1 cm. From the other shop it measure about 5-7cm. Hope there is something that can be done. I use the same Nano with the same code.

When purchasing cheap modules from Amazon, Alibaba or the like, prepare to be disappointed. Or better, be happy if one actually works!

1 Like

Amazon, Alibaba or the like, they work perfectly.
Do you have any idea of ​​the amount of money to invest to make a copy of an optical integrated circuit?
To day modules are sold for less than €2 on aliexpress.

Problem is Adafruit and Adafruit clone schematic.
They add a level shifter.
It is good for 5V microcontroller, bad for 3,3 V microcontroller.

For 3,3 V microcontroller, choose a Sparkfun or Sparkfun clone.
They don't have a level shifter.

Always look for electrical diagrams before purchasing.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.