Initial commit
External pull-downs -> internal pull-ups.
Bugfix: wasn't interrupt-safe!