Daisy I2C with OLED

I have pin 13 (I2C1 SDA) going to the SDA of a 0.96" OLED, and pin 12 (I2C1 SCL) going to SCK on my OLED. I’m running the following code to try and find my device’s address. What is going wrong? I can’t seem to get anything to acknowledge.

#include "daisy_seed.h"
#include "daisysp.h"
#include <stdlib.h>

using namespace daisy;
using namespace daisysp;

DaisySeed hw;

int main(void)
{
	hw.Init();
	hw.StartLog(true);

// setup the configuration
I2CHandle::Config i2c_conf;
i2c_conf.periph = I2CHandle::Config::Peripheral::I2C_1;
i2c_conf.speed  = I2CHandle::Config::Speed::I2C_400KHZ;
i2c_conf.mode   = I2CHandle::Config::Mode::I2C_MASTER;
i2c_conf.pin_config.scl  = {DSY_GPIOB, 12};
i2c_conf.pin_config.sda  = {DSY_GPIOB, 13};
// initialise the peripheral
I2CHandle i2c;
i2c.Init(i2c_conf);

while(true){
I2CHandle::Result rslt;
uint16_t address;
uint8_t msg = 42;
int nDevices;
hw.PrintLine("Scanning...");

nDevices = 0;
for(address = 1; address < 127; address++) {
	rslt = i2c.TransmitBlocking(address, &msg, 1, 100);

	// hw.PrintLine("Code: %d", rslt);
	if(rslt == I2CHandle::Result::OK){
		nDevices++;
		hw.Print("Device found at:\t%d", address);
	} 



	}

	if(nDevices == 0){
		hw.PrintLine("No Devices Detected.");
	} 
		hw.PrintLine("Scan Complete.");

	hw.DelayMs(5000);
	}
}




Did you connect power and ground to the display?

UPDATE:
Pin naming on Daisy can be confusing. Use this:
i2c_conf.pin_config.scl = {DSY_GPIOB, 8}; // was 12
i2c_conf.pin_config.sda = {DSY_GPIOB, 9}; // was 13

Or even better, since it uses the actual IO names found on the pinout diagram:

i2c_conf.pin_config.scl  = daisy::seed::D11;
i2c_conf.pin_config.sda  = daisy::seed::D12;

Power and ground are connected.
Tried with the seed::Pin names, no dice yet.
I’m trying to find a thread I thought about needing external pull up resistors? I believe the OLED already has them.

I’ve verified that code with an actual Daisy and OLED. Maybe your OLED needs pull-ups, but mine doesn’t.

So you got an OLED to acknowledge?
I just tried with 2 10K pullups to the “bus” with no luck.
Also made sure my power and ground pins had continuity, I though since the pins on the OLED breakout are kinda thick it might have stretched open the breadboard slot too much.

Yes,it works correctly here. I suspect you’re not connected to the correct pins on the Daisy, or you’ve got a defective OLED.

Those are the ones I’m using indeed. I’ve tried it with 2 separate OLEDs, I bought 2. Still working on it.

Alright I got it. For some reason when I changed the “message” to 0, instead of 42 which was chosen for the memes, I get both of my OLEDs responding at address 60.

Hmmm, interesting. It works here without changing the message. Only change I needed was the PIN numbers.