I have 2 Arduino Nano 33 BLE.
one model is BLE sense and one model is just BLE.
I uploaded the same code on both devices which was a simple example of the configuration of MAX30102 by using Arduino.
The BLE sense model runs code properly and receives data from MAX through I2C (SDL, SCL). but the BLE model could not receive any data and shows "Sensor not found".
I check all the connections and they are the same.
// --------------------------------------
// i2c_scanner
//
// Modified from https://playground.arduino.cc/Main/I2cScanner/
// --------------------------------------
#include <Wire.h>
// Set I2C bus to use: Wire, Wire1, etc.
#define WIRE Wire
void setup() {
WIRE.begin();
Serial.begin(9600);
while (!Serial)
delay(10);
Serial.println("\nI2C Scanner");
}
void loop() {
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
WIRE.beginTransmission(address);
error = WIRE.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Unknown error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000); // wait 5 seconds for next scan
}
Then the "Wire" is the default and you can select "Wire1" with: sensor.begin(Wire1);
I2C address 0x57 is showing at the first I2C bus on the BLE Sense, and you already have that working.
But why is the 0x57 not showing for the BLE, neither on the first or the second I2C bus ?
Can you check the voltages ? Some boards have a "dummy" 5V pin. Can you check the wiring once more ?
I'm wondering how is it possible because these boards are very similar .
the voltages of supply and GND are correct.
for the BLE model SDA voltage is 1.33 and SCL voltage is 1.91. for BLE sense model the voltages fluctuate.
is there any way to address 0x57?
how can I address I2C?