I designed a PCB board with some sensors (gyros, accelerometers, and etc.) using the I2C protocol to communicate. However, when I use an Arduino UNO as the master, I'm not able to see the waveform of both the SDA bus and the SCL bus. They remain static at ~400mV when measured by an oscilloscope. When I use a different board (such as this one) with the same test set, I can clearly see the waveform that SDA and SCL produces
Usually, it either means that something is shorted, but I didn't see any problem when I used a multimeter to check the continuity of all the vias for SCL, SDA, VDD, and GND. The resistance between SCL/SDA to GND is ~1M Ohm.
It could also be that the pull-up resistors on the I2C bus are missing, but I did use a 4.7kOhm pull-up resistor for every I2C bus. I also tried to lower the resistance by connecting a paralleled potentiometer. The voltage of SCL/SDA increases as the resistance decreases, but there's no waveform at all.
There are actually 3 I2C lines on the board to avoid conflicting I2C addresses, and none of them work. The simplest line only contains a gyro and an eCompass. The schematics are below:
You can find the full EAGLE schematics and board files here.