Таки запилил адаптер CAN-USB на основе STM32F0x2 (для себя брал чипы на али, поэтому получилось дешевле на 072, но для производства дешевле выйдет ставить 042; функционал от этого не пострадает). По ссылке - еще и схема+плата в кикаде. Попробовал сделать двойной вариант: как без гальваноразвязки, так и с ней. Посмотрим, на что способны китайские чипы развязки.
Железяка эмулирует PL2303 (можно и на "классический CDC" переделать, но мне больше нравится, когда появляется /dev/ttyUSBx, а не /dev/ttyACMx). Выдает в консоль все принятые данные, передает данные после символа # (ID, байты данных в любом виде: dec/hex/oct), скорость и фильтры настраиваются по простенькому протоколу (если неправильную команду в терминале ввести, появится справка; все никак до "microreadline" не доберусь, чтобы цивильный терминал на МК забульбенить).
Ах, да. Зачем я всю эту простыню накалякал: я вот уже час на али сижу, ищу STM'ки с CAN'ом, но на 20 ногах. И что-то уныло как-то: цены совсем бешеные! Аналогично с 20-ногими с USB...
Вот та же моя реализация, о которой говорю: ведь там используется совсем мало ног! Вот почему ST не делает те же STM32F0x2 в 20-ногом TSSOP или еще лучше QFN?