I have a setup that demands that I use all my I/O's on my Arduino Uno R3 board - including the serial pins 0 and 1.
So I've initialized those pins as inputs, but when I make a reading on pin 0 it reads high although it's not connected to anything. My multimeter tells me 4.8V steadily on the pin all the time.
All my other pins I've not initialized any serial communication, and I've tried running the board on a battery (so no computer connection).
I have Adafruit's Waveshield connected to it, but as far as I'm concerned it shouldn't interfere with pin 0 in any way.
I've made a simple drawing showing the concept of what I'm doing. It's all there is to it, just the size of 12 buttons and 12 lamps. In order to get enough I/O's, I had to implement an IO expander (mcp23016) on the I2C bus, but it's the same principle as on the drawing.
So when I have everything hooked up, all seems to be good except for the pin 0 on the Arduino board. All other readings (both on the Arduino and the expander) works fine. The weird thing is: when I measure voltage on pin 0, it gives me 4.8V; on pin 1 it gives me 1V and on the other pins it gives me 0V. So something is obviously different from the serial pins.
Are there any internal pull ups or downs on them or could it be the many 10k resistors I use? Do they need to be smaller or bigger perhaps?
Perhaps it's just a bad soldering, but I've been checking for hours and hours and I really can't see any issue on the hardware part.