Расскажу, как мы делаем железо для Неко.
Взлёты и падения, победы и провалы, всё как мы любим. Фактически, это просто лог одного из наших чятов про HW.

Речь пойдёт только про железо. Треки дизайна, софта, AI и биздева тут рассказывать не буду — там в каждом отдельные увлекательные блокбастеры.
Интро
На днях Навал Равикант (это индийский гуру от IT), предрёк всевозможный крах привычным нам техно-компаниям. И больше шансов на успех выделил тем, которые пилят своё железо — что-то физическое, что AI пока делает с трудом.
Но он не упомянул, что делать то самое железо — это увлекательное путешествие, наполненное внезапными поворотами, и для вполне себе физических агентов, и даже если руки у них из плеч.

Чтобы хоть как-то упорядочить разработку физических устройств, в мире придумали итерации:
- MVP (Minimal Viable Product — это мы знаем, когда идею надо ну хоть как-то проверить)
- EVT (Engineering Validation Test)
- DVT (Design Validation Test)
- PVT (Production Validation Test)
Если пытаться перепрыгнуть какую-то из этих стадий, например, чтобы всех обмануть и ускориться, получится кошмар, сущий ад, сорванные сроки и маховик безумия, грозящий разнести любую блестящую идею в щепы.
Конечно же, мы попытались, и вот что из этого вышло.
MVP
Напомню суть идеи — дать владельцу висящей на стене электрогитары возможность от неё кайфануть, даже если времени 5 минут, и не так много скила.
Из интервью и личного опыта определили необходимые составляющие гаджета:
— Как AirPods, всегда готовые к игре радио-джеки,
— "хочу чистый, как One Металлики", и реально крутой звук как у металлики,
— записать рифф из головы, сгенерировать аранжировку, чтобы с ней поджемить или пошейрить корешу.
Посмотрев на эти задачи с парой друзей (с огромным опытом в десятки лет hw-разработки на троих), решили, что эти ваши EVT-DVT-PVT — чёто сложно, а мы сейчас сделаем по-простому, и быстрее.

За 2-3 месяца поднимем MVP на Raspberry, радио соберём из BT-передатчиков, но со своим протоколом данных. И ещё за пол годика соберём уже девайс из около-продовых запчастей, который отдадим в китайский дизайн-хаус на финальный этап подготовки производста. Ну мы ж спецы, не по объявлению нанялись!
Лол.

Про звуковую технику тут даже писать не хочется. Писал об этом отдельную статью, потому что всё вылилось в тяжеловесное RnD, результат которого сейчас патентуется.
Первый нюанс был как раз в приёмниках — они отправляют звуковые данные, полученные из передетчика, по SPI. И из-за критичного для устройства требования к latency (задержке от удара по струне инструмента до звука из колонок), должны залетать в Raspberry в режиме SPI Slave.
Естестенно, Raspberry 4 не поддерживает SPI Slave на уровне CPU. Прям нет такой железки внутри процессора. Надо менять.

Параллельно совещаясь с фабрикой в Китае, технологическими партнёрами, и между собой об опыте использования других камней, выбрали новые мозги для MVP — Banana Pi на RK3576. Подключили 7" экран, собрали прототипчик, идея работает.

По пути подняли бэк с генеративкой, стем-сплиттером и разметкой табов, написали минимальный софт, чтобы это склеить в работающий прототип.

В итоге проверили на MVP — задуманное сделать можно, играет это норм, всё что задумали, прям надо, но абсолютно всё надо переделать.
EVT не обойти
MVP был полезен, но не ответил ни на один из технических вопросов:
— из каких компонентов будет собрано прод-устройство? Есть ли для них драйвера? Будут ли они работать все вместе?
— какие схемотехнические решения будут использованы? Сможем ли мы упихать их в единое устройство?
— ну и всякие совсем нюансы: масса, стоимость, тепловыделение, etc.

Ещё на этапе выбора процессора мы много общались с инженерами китайской фабрики, которая взялась за производство ещё не созданного девайса — они должны гарантировать, что в проде мы сможем установить нужные компоненты, и подтверить их цену.
И там мы поняли, что эмм.. у нас несколько завышенные ожидания от китайцев (китайци!), и нам предстоит чуть больше работы сделать самим, а не надеяться на китайский дизайн-хаус.
В общем, никто кроме нас работу не сделает, если хотим хорошо. Начали подбирать компоненты для EVT.
Параллельно шла огромная работа по промышленному дизайну устройства — печатались прототипы, крутились в руках. Один из них был признан финальным, и компоненты выбирали, исходя из его внешки.

Начали с экрана — весь дизайн устройства и основных экранов в UI был построен от пропорций экрана 4:3, дальше там золотое сечение, правильно буравчика или что там у дизайнеров.
Если честно, засыпаплись мы с первого же вопроса — какой размер диагонали у экрана?
Здесь мы чуть не подрались, и чтобы не допустить кровопролития, занялись прототипированием из картона, чтобы обогнать даже 3д-принтер.

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

Нашёлся классный вариант похожего размера, но с другим соотношении сторон, ценой и интерфейсом.
Чтобы подключить экран к Банане, разработали ещё одну плату. Для кнопок и контролов нужна была ещё плата, ещё пара плат для передатчиков, и ещё какие-то платы.
В общем, чтобы не захлебнуться в этом обилии рассыпухи, решили, что мы пойдём в самое настоящее EVT, которое будет собрано как Arduino — бутерброд из всех необходимых шилдов для тестов всех технических решений, упакованных в одну коробочку.
EVT-1
Задачи, возложенные на EVT-1 были такими:
— понятно, что надо потестить всю технику,
— надо потестить UX, который мы придумали, топ-панелька должна быть похожа на прод-устройство,
— EVT станет тестовым девайсом для разработки и тестов,
— а заодно и девайсом для отправки партнёрам, чтобы тестить интеграции.
Естественно, их количество по пути удвоилось, и EVT мы переделывали тоже несколько раз.

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

На NRF борду заехало всё радио, немного павер менеджмента цифровой части.

Топ-панелька с контролами — с адаптером LCD, кнопочками, тач вилом, светодиодами, моторчиком, etc.

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

Всё это собрали в невероятно красивую коробочку, от которой, естественно, пришлось отказаться. Потому что при сборке об неё ломался LCD.

А ещё доехали требования и экспы по радио-каналу, и в неё физически не влазили новые передатчики на 5,8 ГГц, которые мы вывезли с Тайваня.

Но устройство уже завелось и начало радовать своей работой. При появлении законченного EVT, команда софта ускорилась раз так в 10.

Это обнаружило новые баги, которые невозможно починить софтом. Например, пришлось менять конструкцию тач-вила, чтобы сгладить механикой недостаток контроллера (чувствительность в одном из каналов), о котором не было заявлено в дата-шите.

Но кайф, конечно, от того, когда ты получаешь прям физический работающий девайс, вот как ты его и задумал — это невероятно для всех, от дизайнера, проектирующего интерфейс и менеджера, крутящего эти фичи в голове, до инженеров и хардверных и софтверных.
DVT-1
DVT — это Design Valuation Test. Примерно то же, что и EVT, только уже в красивой прод-коробке.
Там важно другое:
— чтобы вся техника впихнулась в нужную коробку и работала там по продуктовым требованиям,
— чтобы CMF (Color, Material, Finish) соответствовал требованиям — нужные оттенки, глубина кликов, шероховатость, etc.
— чтобы UX от устройства соответствовал ожиданиям, конструкция работала, и не разваливалась на запчасти в различных ситуациях.
Работу над ним начали параллельно с EVT, потому что уже лучше понимали, какие будут основные прод-компоненты.

Для начала распечатали несколько вариантов DVT-корпуса на 3Д-принтере, поприкладывали его части друг к дружке, джеки к гитаре, пощупали руками, ну вроде всё збс.

Начали с заказа продовых LCD — с нужными нам стёклами, а не как кусочек андроидофона. Для этого пришлось договориться с фабрикой перестроить ненадолго конвейер под наши требования.
В итоге получили красивущие LCD, правда, чуток с отклонениями по размерам (не критичными, если есть напильник), без клея (научились вклеивать сами) и естественно (естественно!) с неожиданной распиновкой разъёма, для которого пришлось разработать ещё одну версию адаптера.

Параллельно для производства корпуса отобрали несколько фабрик. На всякий случай заказали алюминиевые болванки с примером шероховатостей.

Семплы пришли в отвратительном качестве, уже привычно напостили мемов "китайци" в чат, в шорт-листе фабрик осталась одна.
И уже через пару недель у нас уже появились фотки настоящийх продовых DVT-образцов, точнее из запчастей.

Нашли у других поставщиков подходящие безмолдовые джеки и магнитные разъёмы, отправили напрямую в нашу DVT-фабрику. Договорились об их сборке и подгонке, что фабрика, конечно же, не сделала, и мы собирали уже после получения компонентов сами.
Заключение
Вот рассказал об основных этапах — аж полегчало.

Конечно, там историй ещё — тысяча и одно тележка, но главный тезис, про что это статья:
Пытаться перепрыгивать обязательные для разработки этапы — вредно для здоровья. Контринтуитивно, но быстрее и проще сначала сделать итерацию теста устройства в большом размере, а дальше заниматься миниатюризацией, чем сделать всё и сразу.
На всё это накладывается всегда сложная логистика запчастей, блокада Ормуза, война в Иране, пандемия, торговые войны и пошлины, китайские и не только праздники и ещё куча самых разнообразных сюрпризов.
Но энивей, заниматься разработкой устройства — это огромный кайф, с которым мало что сравнится. Особенно когда видишь результат — рабочую железяку у себя в руках.
Пишите, может было бы интересно почитать ещё про что-то о железном продукте.
Ну или забегайте почитать о Неко в бложик: https://t.me/smirnov_ceo



Если где найдёте ошибки — пишите плез, я поправлю.