How does the auto-reset on the arduino board work?