Hi Nils,

Probiere mal im Mag_init zusätzlich die Empfindlichkeit runter zu stellen.
Code:
void i2c_Mag_init() { 
  delay(100);
  i2c_rep_start(0X3C+0);      // I2C write direction 
  i2c_write(0x01);            
  i2c_write(0xA0);            
i2c_rep_start(0X3C+0);      // I2C write direction 
  i2c_write(0x02);            // Write to Mode register
  i2c_write(0x00);            //   Continuous-Conversion Mode
  magPresent = 1;  
}