Screwed up TWI/I2C could easily be the issue here:
SDA & SCL should really have 4K7 pull-ups on them - this is a massive design omission. All TWI-compliant devices are open collector or open-drain and all bets are off without the pull-ups.
Quoting from the ATmega328P data sheet, page 172, section 21.2.2:
Later, in 21.5.1:21.2.2 Electrical Interconnection
As depicted in Figure 21-1 on page 173, both bus lines are connected to the positive supply voltage through pull-up
resistors. The bus drivers of all TWI-compliant devices are open-drain or open-collector. This implements a wired-AND
function which is essential to the operation of the interface. A low level on a TWI bus line is generated when one or more TWI
devices output a zero. A high level is output when all TWI devices tri-state their outputs, allowing the pull-up resistors to pull
the line high. Note that all AVR® devices connected to the TWI bus must be powered in order to allow any bus operation.
(my italics)21.5.1 SCL and SDA Pins
These pins interface the AVR TWI with the rest of the MCU system. The output drivers contain a slew-rate limiter in order to
conform to the TWI specification. The input stages contain a spike suppression unit removing spikes shorter than 50ns. Note
that the internal pull-ups in the AVR pads can be enabled by setting the PORT bits corresponding to the SCL and SDA pins,
as explained in the I/O port section. The internal pull-ups can in some systems eliminate the need for external ones.
This is generally not great practice as the internal pull-ups are weak (deliberately) - they are 20K - 50K (section 28.2 of the datasheet) so not great at holding the data lines in case of noise.
Even if this is what they are doing, I would strongly recommend adding a minimum 10K and preferably 4K7 from each of SDA and SCL to Vcc - you can easily test that on the I2C pin header on the board - between each of J4-5 & J4-6 to J4-1.
Further to Nick's comment below, screwed up I2C will cause all sorts of issues like this.