- [ ] write the usb port struct - [ ] write an isr to handle the usb port interrupt - [ ] write methods to send and receive data over the usb connection - [ ] mock the usb port - [ ] write tests to ensure that data can be sent over the usb port