@workshopninja Yes, this is basically what I did with an Arduino MKR1000 WIFI some years ago. There are some #defines for the EEPROM in the code. But for me it worked out of the box with a 24LC32P.
See also in the MyS lib code:
But in the end I switched to the ESP8266 because it also has WiFi and is much cheaper. The support for external libraries is also much better than with the SAMD.
Well, it could be that the issue is the voltage regulator on the Arduino board. The higher the input voltage, the more power/heat that needs to be burnt at the voltage regulator. Maybe it's self-limiting because it's getting too hot?
The Arduino website lists this part as the voltage regulator:
On page 6 it claims a thermal resistance to ambient of 46 degrees/W. If you're using 1A and have 12V input then you're dropping 7W across the regulator. This is a temp rise at the junction of 322 degrees over ambient, which it obviously won't do. The datasheet also says that it's internally regulated and will current limit at 155C. Assuming 25C ambient, this only leaves a margin of ~2.8W that can be dropped over the regulator. So you'd have problems with any more than around 400mA. To have a safety margin, I wouldn't plan on more than 300mA or so, or maybe even down more towards 200.
This voltage regulator is a nice, low dropout one, so if you could power it from a supply that gave it 6 or 7V instead of the 12 that would give you a ton more thermal margin and the regulator could then allow a lot more current through.