docs: correct formatting
docs: add code documentation
refactor: split pheripherals to separate library
feat: add nonblocking io functions