Change timeout duration in drain() 1000ms to 400ms

The time 1000ms is too long for Arduino Uno since the bootloader stops and starts a sketch after 1000ms pasts after the reset. The 1000ms varies since it is based on watch dog timer of ATmega328. Tested with Arduino Uno and Arduino Duemilanove.