Главная Проекты → Контроллер Little MIDI
Январь 2022

Контроллер Little MIDI

Опыт сборки компактного MIDI контроллера с USB-С

Все заметки цикла Бракованные Детали собраны из контента одноимённого канала, куда я активно писал в 2021 году.

Я уже успел выбрать первые несколько синтезаторов для своего списка и даже заказал для них компоненты. Однако, сперва нужно потренироваться. Давно не брал в руки паяльник, а после закрытия мастерской и переезда в другой город весь мой паяльный скарб и вовсе помещается в школьный пенал. Это странно, ведь школьников в семье нет.

Для разминки выбрал очень простой, миниатюрный USB-C MIDI контроллер. Идею и файлы нашёл в блоге LittleScale. Фактически, это плата для Seeeduino XIAO на которой нет ничего кроме 6 механических кнопок Cherry MX и 5 потенциометров. С таким девайсом я не только вспомню с какой стороны браться за паяльник, он ещё наверняка поможет мне в будущем синтезаторостроении: почти все синты, что я нашёл, не имеют собственных клавиатур.

Заказал платы в PCBWay. Последний раз работал с ними 3 года назад, когда застрял в Китае на новогодние праздники. Эти ребята не то чтобы сильно изменились с тех пор: за срочность тут всё ещё нужно расплачиваться не деньгами, а «стандартностью» маски и толщины платы.

Xiao little MIDI
Основные детали

Все остальные компоненты были взяты на Али. Выбрал «красные» переключатели т.к. считаю их самыми универсальными. «Не знаешь какие брать — бери красные». Так говорил мой дед когда мы собирали малину на огороде. До сих пор это звучит разумно.

Ещё купил:

  • Крышки-леденцы типа DSA для кнопок. Попросил продавца насыпать разноцветных и он не подвёл.
  • Дешевые, но очень приятные ручки-крутилки.
  • «Какие-то» потенциометры по пять рублей за кило. Работают они ровно так же как и стоят: примерно по 5 градусов в минимальном и максимальном положении ручки — слепая зона.
  • Саму XIAO тоже не забыл.
DSA caps
Крышки на любой вкус. Справа DSA, слева — SA

Стоит, наверное, ещё рассказать сколько денег я потратил на эту ерунду. Здесь и далее принимайте в расчёт, что компоненты всегда покупаются с запасом. Например, печатных плат вообще невозможно купить меньше 5 шт. Все цены уже включают в себя доставку и не учитывают расходники.

💸 Посмотреть цены 2021 года на свой страх и риск 💸
  • Платы 5 шт — 770 ₽
  • Кнопки 8 шт — 350 ₽
  • Крышки 12 шт — 480 ₽
  • Потенциометры с ручками 5 шт — 190 ₽
  • Seeeduino XIAO 1 шт — 600 ₽
  • ВСЕГО 2390 ₽

За эти деньги можно купить китайскую MIDI клавиатуру на 2 октавы. Но нельзя купить запах канифоли!

Сборка и запуск

1 Обычно для этого используют отдельную деталь — решётку, которая удерживает все кнопки вместе.

Собрать это всё вместе было до безобразия просто. Единственный нюанс который всплыл в последний момент: С точки зрения механики кнопки Cherry MX не стоит использовать без дополнительной фиксации1. У самой кнопки две тонкие контактные ножки которые расположены не симметрично и вообще никак не способны зафиксировать такой объёмный корпус.

cherry MX
Нога с пружиной внутри

2 На фото выше её хорошо видно.

Поэтому без суперклея не обошлось. Я добавлял каплю на пластиковую ногу корпуса каждой кнопки2 и только потом припаивал контакты. Что-то подобное в любом случае необходимо делать, если у вас нет выравнивающей решётки. Иначе кнопку не получится припаять ровно — кошмары перфекциониста будут преследовать по ночам и в итоге приведут к терапевту.

Xiao little MIDI
Xiao Little MIDI

Примерно 10 минут возился с прошивкой, но это только из-за того что Arduino IDE застряла в 2010х. Всех агитирую к переезду на PlatformIO, если вы ещё не. Ещё пару минут ушло на то, чтобы выяснить, что самая свежая версия библиотеки Adafruit TinyUSB не совместима со свежим BSP XIAO. Пришлось откатиться на TinyUSB 0.5.10.

В итоге устройство завелось. Впрочем, какие у него ещё были опции с единственным активным компонентом на плате?!

Лог MIDI сообщений в программе MIDI View

3 Разумеется, over USB.

4  Open Sound Control.

TinyUSB в автоматическом режиме адресует кнопки и потенциометры. Само устройство подключается через USB-C, работает в MIDI Channel 13 и определяется без драйверов в любой операционке включая мобильные. Его не сложно перепрограммировать в HID-клавиатуру, или OSC4.

Knob-88

Пока я ждал компоненты для XIAO little MIDI как-то сам собой получился самый маленький энкодер с USB-C. Я назвал его Knob-88 потому что он стоит 8 баксов и сделать его можно за 8 минут.

Knob-88
Схема подключения энкодера к микроконтроллеру

Для бессмертных 🧛🏻‍♂️ есть версия Knob-98: на его сборку придётся потратить 1 дополнительную минуту.

Даже нечего больше добавить. Сделал репозиторий, который почти полностью состоит из фоток: https://github.com/Atarity/knob-88

Если вам интересно зачем я собрал миди клавиатуру в которой всего шесть клавиш, ведь на ней невозможно ничего сыграть. Коротко перечислю все причины в этом видео:

Сообщение об ошибке: