[Core], i2c reboots core

So I have a photon and a core, When I use the photon my code works. When i flip it out for the core with the same code it crashes and restarts. Code is below. Not really sure what is going on here.

Also using 4.7k resistors for pullups, have also tried 10k, I know the bus is functional as other i2c devices on the same bus still function.


 
int pic = 1;

void reqEv(){
  //RGB.color(0, 255, 0);
  if (pic != 0){
     //grab and send picture here. 
     
     Wire.write(255);
     Wire.write(0);
     Wire.write(0);
 }
}
void recEv(int bytes)
{
 //   RGB.color(0, 0, 255);
    if (bytes >1){
    int a = Wire.read();
    switch(a){
        case 01:
            pic = Wire.read();
            
    }
    }


}

void setup()
{ 
  Wire.setSpeed(CLOCK_SPEED_100KHZ);
  Wire.begin(2);




  Wire.onReceive(recEv);
  Wire.onRequest(reqEv);
  RGB.control(true);
  RGB.color(255, 0, 0);
 }
 
 
void loop()
{
 delay(10);
}

Symptoms are the code runs through setup, Then seemingly when it gets an onReceive event it hangs and reboots (Led goes WHITE pulse -> Green flash -> Cyan flash -> Breath -> repeat)

So a little more investigating. When ever I pull D0 low, after initializing the Wire interface the core freezes, then reboots.
With out i2c being enabled the pin functions as normal.

So I went and got my second spark core by un-wiring it from its current home. It also exhibits the same symptoms :frowning:

Really stumped here

What version of the system firmware are you running on the core?

0.6.1

And I have tried a handful of others as well. No change.

@Geekbozu can you try adding interrupts(); to the end of setup() as seen here: https://github.com/spark/firmware/issues/1136

@BDub No change. accidentally had the device turning on in master mode. In slave mode no change from original symptoms

SO I also tried the develop branch from the repository, No change in behavior either. That being said I AM setup to compile locally now and will probably start poking around the firmware, still at a loss here :confused:

With some preliminary poking it seems to not even enter the i2c intterupt handler, but I will also say I have not been able to solidly prove that yet. (that is with intterupts(); at the end of setup)

Hi…I have a core from the origional kickstarter project, however only recently have I had the time to sit down and play with the unit.
I did a firmware update (including the depp firmware update) and setup with a basic breadboard and a DHT22 to capture temp/humidity, my code flashes fine and runs however it appears to never be able to display the data on either serial or the particle console.

prototype pcb assembly

Pull request sent,