APDS-9960 breakout initialization fails with logic level converter

Customer:

I tried to connect this module using a logic level converter as described in the documentation. Do I need to pay special attention to anything or make additional connections? I tested the gesture recognition code but it failed - I only got an initialization failure message telling me to check the connections.

I also ordered a Dasduino Lite, but I don’t know how to upload code to it at all. Is there a link that explains how to set it up in the Arduino software?

Original message (Croatian)

Pokušao sam spojiti ovaj modul preko pretvarača logičkih razina kako je navedeno ovdje: https://soldered.com/hr/learn/kkm-apds-9960/

Treba li ovdje nešto posebno pripaziti ili dodatno spojiti? Pokušao sam testirati prvi kod – prepoznavanje gesti, ali neuspješno, samo dobivam poruku neuspješna inicijalizacija, provjeri spojeve.

Zatim sam naručio Dasduino Lite, ali za njega ne znam kako uopce uploadati bilo koji kod, ima li neki link koji opisuje kako za njega podesiti postavke u Arduino softveru?

Originally submitted via email support on 11 August 2023. Migrated to the forum for community visibility.

Soldered Support:

The APDS breakout has a logic level converter already built into the board, so it’s compatible with both 3V3 and 5V devices. I’ve connected it to Dasduino Core and Dasduino ConnectPlus without any external converter. Feedback from a colleague: “The KKM guide was written for an e-radionica breakout that didn’t have an LLC. The new products have an LLC on the board and don’t need an external LLC connected.”

Since it only connects via I2C, try these steps:

  • Remove the logic level converter and check that the SDA and SCL pins are correct for your microcontroller
  • Run the I2C scanner sketch (Arduino Playground - I2cScanner) to see if anything is detected over I2C
  • After running the I2C scanner sketch, check the connections. I2C is very sensitive to this. It would be best if you could solder the connections with wire - then you can be sure that’s not the problem.

Try these steps and report back. The device should initialize. I’m betting it’s the LLC!

As for Dasduino Lite, it’s programmed via a UPDI programmer (those are the 3V3, UPDI, GND pins). These can be made using another Arduino - check out this tutorial: DIY UPDI USB programmer which can be made with cheap hardware

Original message (Croatian)

naš APDS breakout ima logic-level-converter već ugrađen u sebi te je tako kompatibilan sa 3V3 i 5V uređajima. Ja znam da sam ga spajao i na Dasduino Core i Dasduino ConnectPlus bez ikakvog konvertera. Evo feedback koji sam dobio od kolege: “KKM je pisan za e-radionica breakout koji nije imao LLC. Novi proizvodi imaju LLC na pločici i ne treba se dodatno spajati vanjski LLC.”.

Kako se spaja samo putem I2C-a, probaj sljedeće stvari:
Makni logic-level-converter i provjeri jesu li pinovi dobri za SDA i SCL na tvom mikroupravljaču Pokreni I2C scanner sketch (Arduino Playground - I2cScanner) da vidiš detektira li se išta preko I2C-a Nakon što je I2C scanner sketch pokrenut, provjeri kontakte. I2C je jako osjetljiv na to. Najbolje bi bilo ako možeš zalemiti kontakte sa žicom - onda možeš biti siguran da to nije problem.
Probaj ove korake i javi, uređaj bi se trebao init-ati. Kladim se da je do LLC-a!

Što se tiče Dasduino Lite-a, programira se putem UPDI programera (to su ovi pinovi 3V3, UPDI, GND). Mogu se napraviti koristreći jedan drugi Arduino, pogledaj ovaj Tutorial: DIY UPDI USB programmer which can be made with cheap hardware