Now works sufficiently well!

Threads caused weird issues. It would be nice to have the
serial stuff fully handled on a different thread. But
weird things happened.

Also need to add the bootloader code to the repo.