I wrote a custom ARM assembler that generate prolog that uses genetic programming techniques to optimize the interface. I've found the best interface to be my set of 8 multi-colored LEDs driven by a custom build arduino system that talks serial. Unfortunately I have to use a usb-serial adapter these days, and then a usb-c-to-usb-a adapter. My dongles have dongles.