- Sat Apr 28, 2018 2:04 pm
#199090
Hi, guys! I'm cornered by a nasty problem and I need some.
I'm trying to get a SparkFun Spectral Sensor AS7263 breakout to communicate over I2C with an Arduino NANO using the library provided by SFE.
This is the board: https://www.sparkfun.com/products/14351
This is the library: https://github.com/sparkfun/Qwiic_Spect ... sor_AS726X
I didn't intend to use the Qwiic connectors and shields but I was well aware that it's a 3.3V board so I used this simple bi-directional level-shifter for connecting the SCL and SDA lines to my Arduino:
https://www.sparkfun.com/products/12009
After wiring everything together I powered up the Arduino and sensor board. The first thing I noticed was that the sensor started flashing its on-board indicator led. Didn't think much of that at this point. Then I uploaded the first example code from the library to the Arduino. The code should be outputting sensor readings to serial monitor but instead I got "I2C error".
What I have done this far:
Checked the wiring and soldering - didn't find anything suspicious.
Googled the problem - found two people reporting on this and asking for help. But no solution.
Checked with a logic analyzer if the I2C signals are level-shifted correctly (5V: ch0 & ch1; 3.3V: ch2 & ch3):

This looks fine to me.
Then I took a look at the decoded data. Found out that the sensor doesn't acknowledge any requests (I2C address is correct though):

This means trouble but I have no clue what's the cause...
Adding to my confusion, I found out from the AS7263 datasheet that the on-board LED shouldn't be blinking unless the sensor IC's accompanying EEPROM is being programmed:

Also, looks like the blinking of the indicator LED gets a reset with the same interval (it blinks with a steady interval about 7 times and then it "stumbles").
To me it looks like the sensor IC is working and trying to "boot" (?) but there's something wrong with the EEPROM which should contain the firmware. Thus blinking the led and denying I2C communication. So maybe the EEPROM is empty/faulty? I really don't know...
What do you guys make of it? Does anything stick out to you from the information I provided? Or does anybody have any experience with these sensor boards? Should the LED be blinking like that?
Any thoughts, help and/or further directions what to check would be much appreciated!
I'm trying to get a SparkFun Spectral Sensor AS7263 breakout to communicate over I2C with an Arduino NANO using the library provided by SFE.
This is the board: https://www.sparkfun.com/products/14351
This is the library: https://github.com/sparkfun/Qwiic_Spect ... sor_AS726X
I didn't intend to use the Qwiic connectors and shields but I was well aware that it's a 3.3V board so I used this simple bi-directional level-shifter for connecting the SCL and SDA lines to my Arduino:
https://www.sparkfun.com/products/12009
After wiring everything together I powered up the Arduino and sensor board. The first thing I noticed was that the sensor started flashing its on-board indicator led. Didn't think much of that at this point. Then I uploaded the first example code from the library to the Arduino. The code should be outputting sensor readings to serial monitor but instead I got "I2C error".
What I have done this far:
Checked the wiring and soldering - didn't find anything suspicious.
Googled the problem - found two people reporting on this and asking for help. But no solution.
Checked with a logic analyzer if the I2C signals are level-shifted correctly (5V: ch0 & ch1; 3.3V: ch2 & ch3):

This looks fine to me.
Then I took a look at the decoded data. Found out that the sensor doesn't acknowledge any requests (I2C address is correct though):

This means trouble but I have no clue what's the cause...
Adding to my confusion, I found out from the AS7263 datasheet that the on-board LED shouldn't be blinking unless the sensor IC's accompanying EEPROM is being programmed:
Code: Select all
This got me curious to see what's going on between the EEPROM and sensor IC. This, at an interval of about 9 seconds:While programming the AS7263 via the external SD card the indicator LED starts flashing (500ms pulses).
When programming is completed the indicator LED is switched off.

Also, looks like the blinking of the indicator LED gets a reset with the same interval (it blinks with a steady interval about 7 times and then it "stumbles").
To me it looks like the sensor IC is working and trying to "boot" (?) but there's something wrong with the EEPROM which should contain the firmware. Thus blinking the led and denying I2C communication. So maybe the EEPROM is empty/faulty? I really don't know...
What do you guys make of it? Does anything stick out to you from the information I provided? Or does anybody have any experience with these sensor boards? Should the LED be blinking like that?
Any thoughts, help and/or further directions what to check would be much appreciated!