SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By eeter3000
#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):
Image
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):
Image
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
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.
This got me curious to see what's going on between the EEPROM and sensor IC. This, at an interval of about 9 seconds:
Image
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!
By eeter3000
#199196
Ended up ordering two more of these sensors. One was working as expected, one was behaving the same way as the one described above. So out of thee sensors, I got one that was working. Not the cheapest lottery I've played. I'm really disappointed by this lack of quality control and poor support by Sparkfun.

Anyone planning to purchase these sensor boards - be ready to order a bunch so you can throw most of them away.
By mdi
#200572
Hi,

Got the same behavior:
The Blue LED binks every 500ms and gets reset every 6 blinks or so.

Running I2cScanner did not find the AS726X Slave on address 0x49.

Then I tried the Serial AT Commands - NO RESPONSE!!!

The Datasheet info on UART:
At a clock rate of 16MHz it supports communication at
115200Baud.
• Supports Serial Frames with 8 Data Bits, 1 Parity Bit and 1
Stop Bit.

The "Supports" does not indicate Actual speed, as well as what Parity is used Odd or Even?

Tried all combination - Nothing works!

Any help?
By mdi
#200823
Hi
Contacted the manufacturer of the sensor asn.com .
They where very helpful provided the following missing
piece of understanding the BLINKING rule:

The following encoding is used in ROM code for error messages:

OK_SDCARD_NOT_DETECTED 2
OK_SDCARD_DETECTED 1
OK 0
SPIFLASH_NOT_DETECTED -1
SPIFLASH_INVALID_CRC -2
SPIFLASH_INVALID_PAGE -3
SDCARD_CMD_TIMEOUT_RESPONSE -4
SDCARD_CMD_TIMEOUT_DATA -5
SDCARD_WRONG_RESPONSE -6
SDCARD_CMD_READ_ERROR_TOKEN -7
SDCARD_CMD_TIMEOUT_CLEANUP -8
SDCARD_CMD_READ_CRC_ERROR -9

During startup of ROM code it is not possible to display error messages,
because the ROM code does not know in which system it is currently running.
Because of this the error code is show by blinking the indicator led n times,
where n is the absolute error number.



Hope it helps somehow.
By k_unger
#201407
Have you found a solution to this problem. I tested several arduinos, but I'm still getting the I2C Error. It seems that many people have this problem. Is the eeprom just faulty or is there a fix to this issue?
Any help would be nice!

Thanks