SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By lightgreen
#200698
I bought an AS7263, I use it with a wemos lolin32 lite, and an oled SSD1306.

Everything works fine, except on powering on, when it wasn't on since 5 seconds, where >50% of the time it needs a reset before booting properly.
When it was on recently, it boots up 100% of the time.

When it bugs : upon powering on the AS7263 the blue indicator light turn on for 0.5 seconds, then turn off and stay off, and the esp32 code doesn't run, therefore I don't have any log messages.

When it works well : upon powering on the AS7263 the blue indicator light turn on for 0.5 seconds, then turn off, at 2.0 second then my code run and turn the bulb on and display on and everything works as expected.

I differed the initial call to the AS726X begin() and display.init() so that it does a one-time init 2 seconds after entering loop() for the first time. The idea was to let some time for the peripherals to initialize properly, and dismissed the possibility of this issue being caused by software. (It improved the success from 100% failure to 50% success).

Both are connected via i2c on pin 0 (SDA) and 4 (SCL), both are connected to 3v3 and GND. The INT and RST pins of the AS7263 are left unconnected, (I did try to connect them but it didn't help)

I unsoldered jmp1 on the AS7263, as told by the quickstart guide when you have multiple i2c peripherals with pull-up, (the SSD1306 allegedly has 10K pull-up), but it doesn't seemed to have any impact.

I updated the sparkfun library AS726x.cpp by modifying
i2cPort->begin(); with _i2cPort->begin(0,4,700000); to specify the pins.

I even tried to solder an extra 100u capacitor between 3v3 and GND but it didn't have any impact.

Any idea on what's wrong ?

Thanks