I have a BTT Kraken that I’m working on.
It seems to work OK, I can upload programs via the Arduino IDE.
I have a DS3231 RTC with EEPROM connected to the I2C pins (PB11 and PB10) on the board, but I’m unable to detect it.
I’m using the Arduino I2C Scanner sketch. It runs, but it can’t find anything.
#include <Wire.h>
TwoWire Wire2(PB11,PB10);
void setup()
{
Serial.begin(9600);
Wire2.begin();
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.
Wire2.beginTransmission(address);
error = Wire2.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address < 16)
{
Serial.print("0");
}
Serial.println(address, HEX);
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");
}
else
{
Serial.println("done");
}
delay(5000); // wait 5 seconds for next scan
}
I can run this on a BTT SKR 1.2 PRO board (just Wire instead of Wire2), and it finds the device OK.
Do I have a hardware problem like a bad board or is this a software / programming problem?