Serial & USB Drivers

Rolling Up Sleeves and Getting Dirty in Code


Sometimes you need to talk to devices using less than modern APIs like what are available for many internet-connected devices of today. When this happens some documentation, drivers, and reverse engineering is your best friend. You'll probably need a cup of coffee (or many) as you probe the system you are trying to understand to build a framework that works consistently for your platform's needs.

Once the baseline set of controls available and timing limitations / callback sequences are determined, you have a robust set of APIs for your program to call on to communicate with the device via USB or serial.

You can see some of the drivers I worked on at Autodesk for 3D Printers at spark3dp/print-manager as well as the open-source robot control driver and UI/UX at node-goose.