Надо связать контроллер (какой-нибудь LPC23xx, скажем) и компьютер.
Особенность в том, что контроллер - тупая ногомахалка, вся логика реализована в ПК.
Соответственно, идёт довольно активный обмен "запрос - ответ" короткими посылками (от 3 до 64 (обсуждается) байт).
Сейчас это дело работает через UART, но не очень стабильно - таймауты драйвера в винде мешаются.
Есть мысли переделать на USB.
CDC, по моим представлениям, будет работать ещё хуже.
HID в таких условиях кто-нибудь тестировал?
Идею "засунуть побольше логики в контроллер" всячески поддерживаю, но не уверен, что получится пропихнуть.
Софтина обладает кучей всяких крутилок, а автор её знает только дельфи ;-)