Now with built in USB Virtual COM support

A project log for Roadrunner (the Arduino-Tiva)

An Arduino clone based on a TI's Tiva TM4C123G (An 80Mhz ARM M4F with USB OTG)

jacobJacob 06/10/2017 at 03:080 Comments

I'm claiming 95% success in adding USB VCOM support right out of the box. This means the base Arduino sketch will run with USB VCOM enabled. This allows the board to be powered by USB and enumerate as a virtual com port, even with an empty sketch. In practice, it's modeled after the HardwareSerial class, which instantiates an object called "Serial" object before jumping in "loop()" and running the user sketch. This new class creates an instance called "USBSerial".

So when connected by SB to a host you can use USBSerial.print(), USBSerial.println(), etc to send /receive data over the virtual com port. Additionally, calls to Serial.print, etc. still work, but are tied to the physical pins on the board. If using a TivaC LaunchPad, calls to Serial go over its enumerated debug com port.

The 95% success is due to the way the boot loader is initiated currently. It works, but not as well as I would like.

Next Steps: Modify Arduino IDE to initiate boot loader mode after compiling, then upload over the DFU endpoint.