abstracted serial port out
Merge branch 'upstream'
build