a 4,8v reading on a loose pin 0?

Hi,

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 interfer 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.

Could be the input on the serial to USB translator has a pullup

The USB port will still be driving the Rx pin (0) through a resistor (10KOhms, I think). You need to either ensure that whatever device you connect to this pin has a low enough impedance to override this, or re-arrange your pins so that pin0 is an output .You won't get the same problem with pin1 (Tx).

PeterH: The USB port will still be driving the Rx pin (0) through a resistor (10KOhms, I think). You need to either ensure that whatever device you connect to this pin has a low enough impedance to override this, or re-arrange your pins so that pin0 is an output .You won't get the same problem with pin1 (Tx).

The USB port will still be driving pin 0 through 10k even though I'm powering with a battery, and not usb-connection ?

http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf Look at the Schematic, Pin 0 was connected to 1K resistor then to Atmega16U2 which define as Output. The Atmega16U2 was power by the +5V line, it will get power as long you power your Arduino board.

BillHo: http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf Look at the Schematic, Pin 0 was connected to 1K resistor then to Atmega16U2 which define as Output. The Atmega16U2 was power by the +5V line, it will get power as long you power your Arduino board.

Thanks for the tip! I just printed a copy of that and hung it on the wall (gotta familiarize myself with that).

As for pin 0, I tried changing the resistor that goes from one side of the button to GND into a 220 ohms instead of 10k - and now it seems to work.

As for all the other input pins, I still use a 10k without issues. This includes pin 1 as well. So what I don't quite get is why it's working with a 10k on pin 1, but now on pin 0.. hmm I mean, on the schematic of the uno r3 board, it looks like pin 0 and 1 are pretty much identical in the way they are hooked up with a 1k

But pin 1 was define as Input.