Serial Session Start Causes Incorrect Digital Input Reads Temporarily

Hi there,

I have an issue where starting a serial connection causes Arduino digital input pins to read as 0 for about a minute.

I have an Arduino Uno which is reading pins 12, 11, and 10 as digital inputs via digitalRead(). My program's main loop reads the pin state and calls Serial.print(), to write out the states as "1" or "0".

Whenever I start a new serial session from my computer to read the program's output, the serial output temporarily prints the input states as "0", regardless of if 5V or 0V is applied to the input pins.

After about a minute or so, the issue stops, and I start receiving the correct pin states: applying 5V or 0V to the digital inputs results in "1" or "0" respectively.

Once the serial output is printing the pin states as expected, if I close my serial session (either PuTTY or Matlab's serial() ) and restart the session, the Arduino reverts to temporarily printing incorrect pin states, and after about a minute or so, returns to expected behavior.

Anyone have any ideas about how to resolve this issue? Anyone know why a new serial connection would temporarily affect digital input reads?

I have tried powering the Arduino from both only the USB connection, and from a USB & power supply combination.

Not sure what to try next..


Please start HERE

Then you can add the errant sketch etc.


For most Arduinos, opening the serial port results in a reset.

This can be prevented by not activating the DTR signal from your application.

Can't test at the moment ti demonstrate.