Привет! Это Алексей Фоменко, инженер-электронщик Алисы и умных устройств. Я руковожу группой аппаратной разработки, но время от времени делаю платы и своими руками. Недавно вышел небольшой ролик, где я рассказал про несколько пасхалок на печатных платах, которые можно найти внутри Яндекс Станций. Такой формат не предполагал каких-то подробностей и тонкостей, но реакция на него показала, что это интересно — и стоит поведать чуть больше деталей. Так и появилась эта статья.
Да, я знаю, что суть пасхалки не в том, чтобы о ней рассказывать самостоятельно, а чтобы её нашли случайно (или специально). Но нюанс пасхалок в разработке железа заключается в том, что вряд ли о них узнает кто-то, кроме сотрудников сервисного центра или нескольких особо любопытных пользователей. Ведь обнаружение такой штуки автоматически лишает гарантии. Так что лучше я покажу всё сам.
Предыстория
Ни для кого не секрет, что разработку Станций мы проводим полностью своими силами, что называется in-house. А так как Станции относятся к категории «потребительская электроника», то этой самой «электронике» мы уделяем особое внимание и прорабатываем все схемы и платы до мелочей.
У каждой платы довольно длинная история разработки, начиная с опытных образцов, заканчивая мелкими партиями с переходом к массовому производству (подробности описаны в статье «Полный цикл создания устройства и работа с фабриками в Китае»). В ходе проектирования накапливается множество изменений: то тут, то там нужно что-то подвинуть, что-то заменить, где-то улучшить. Инженер-схемотехник проводит со схемой и платой много часов один на один. Всегда хочется сделать выверенным каждый миллиметр этой сложной и запутанной многослойной конструкции. И инженер, можно сказать, вкладывает частичку себя, частичку своей души в эту плату: ведь прямо у него на глазах она продвигалась от осторожных первых экземпляров к уверенной и надёжной конструкции, которую производят тысячами в день. И понимая, что этими устройствами будут пользоваться сотни тысяч (а то и миллионы) людей, хочется передать самым искушённым из них какое-то послание, условно «помахать ручкой» или «подмигнуть». И все разработчики мира обычно для этой цели используют пасхалки.
Как правило, пасхалки ассоциируются с видеоиграми: именно там разработчики закладывают различные послания для тех игроков, которые хотят прошерстить каждый квадратный метр виртуального мира. Например, моя любимая пасхалка от Rockstar в GTA: San Andreas: когда игрок с горем пополам добирается до одной из опор огромного моста, то там можно обнаружить табличку с надписью There are no Easter Eggs up here. Go away («Здесь нет пасхалок. Уходи»).
Если перенестись в реальный мир, и, в частности, в разработку электроники, то первую пасхалку я увидел у Di Halt с его «Положи чип, #@%!». А ещё на Reddit есть целый тред, посвящённый пасхалкам на печатных платах.
Тогда это меня знатно улыбнуло, и я вдруг осознал, что инженеры-электронщики — такие же творческие люди, как и разработчики игр. С такими же желаниями и чувством прекрасного. Ведь разработка электроники — тоже, можно сказать, вид искусства. Одного и того же результата (функционального) можно достичь почти неограниченным количеством способов. И какой именно выберет разработчик, и как именно он его оформит — именно это останется «высеченным в меди и текстолите».
Пасхалки в Станциях
Так сложилось, что я всегда стремился делать платы не только так, чтобы они просто выполняли свою функцию. Мне важно было сделать таким образом, чтобы каждая плата и выглядела гармонично и закончено, всё в ней было взвешенно и красиво. И однажды мне попался на Хабре пост под названием «Вооот такоооой красотыыы». Я просто тащился от работы этих ребят. Я понимал, что настолько глубоко, изящно и продуманно могут сделать только те инженеры, которые по-настоящему любят своё дело и любят продукт, над которым они трудятся.
Станция 2
Прошли годы, и мне посчастливилось поучаствовать в разработке Станции 2. В ней я корпел над верхней платой, на которой расположено 84 светодиода. У каждого светодиода четыре цвета: красный, зелёный, синий и белый (да, дополнительно белый, это не оговорка). А время разработки пришлось на разгар чипагеддона (мирового кризиса электронных компонентов в 2020–2022 годах), мы срочно меняли микроконтроллер на ПЛИС, и это была уже третья итерация платы, над которой я проводил целые дни напролёт.
Как-то раз я заметил, что посадочное место самого светодиода с восемью контактами похоже на светлячка с лапками. У него даже та часть, которая светится белым, выделена в отдельную зону с люминофором — прямо как брюшко. Недолго думая, я пририсовал одному из этих светодиодиков усики и тельце. И продолжил работу над платой.
Платы изготовили, а никто не заметил светлячка :) Но после того, как я намекал, что если внимательнее присмотреться, можно найти «баг» среди светодиодов — коллеги расплывались в улыбке. Тогда мы решили, что это безобидная и милая деталь, которую точно стоит оставить.
Так и началась история пасхалок в Станциях.
Светлячок — не единственная пасхалка в Станции 2. В ней всего четыре платы: плата с разъёмом Type C, плата со светодиодиками, плата с тач-зонами и микрофонами, основная плата. Как раз в основной-то и творится вся магия! На ней расположены самые важные узлы: SoC, память, флешка, Wi-Fi-модуль, звуковой усилитель.
На маркетплейсах про Станции пишут: «Алиса живёт здесь». И вот это «здесь» показалось нам недостаточно точным — решили это место несколько уточнить. Между SoC и памятью как раз было немного свободного места, на которое мы поместили эту самую надпись (кстати, шрифтом Yandex Sans).
Да, код Алисы исполняется не совсем в центральном процессоре, а, в основном, на бэкенде. И, говоря о колонке, правильнее было бы указать на флешку, ведь именно там хранится её исполняемый код. Но мне показалось, что это не так романтично. Да и в целом — именно на SoC расположены важные аппаратные блоки для взаимодействия с Алисой: это и PDM-шина для микрофонов, и I2S, по которой звук отправляется в цифровой аудиоусилитель, и SPI к светящейся панели, и SDIO к Wi-Fi, по которому идёт обмен данными с серверами.
К слову, в Станции Миди этот «недочёт» исправлен, и мы просто указали место, в котором происходит вся магия умной колонки (и, между прочим, Алиса в этой Станции умеет управлять устройствами умного дома без интернета, так что указатель считаю валидным).
Станция Миди
Раз уж заговорили о Станции Миди, стоит поделиться ещё парочкой пасхалок из неё. Светлячков рисовать мне понравилось, поэтому на плате с часами почти сразу же появился ещё один.
Кстати, о плате часов. Сзади в неё упираются пластиковые рёбра жёсткости, и инженер-конструктор передавал мне их чертёж в DXF, чтобы я мог превратить их в специальные зоны запрета установки компонентов. На картинке ниже они обозначены перекрёстной штриховкой, а сам DXF — белыми линиями.
Но в одну из итераций что-то пошло не так (рука дрогнула, видимо), и я импортировал обновлённый чертёж не на служебный слой, а прямо на слой шелкографии. То, что получилось, мне напомнило трубопровод. Я решил ничего не переделывать и оставить плату как есть, украсив манометром (или счётчиком) и вентилем.
Про огурцы
Маркетинговые названия у Станций появляются сильно позже старта их разработки и долго держатся в строжайшей тайне. Но проекту нужно было какое-то кодовое имя. Да ещё такое, чтобы никто не догадался о том, какое место в линейке займёт эта колонка. Выбрали слово Сucumber, по которому сложновато было предугадать его назначение. На каждой плате колонки появились надкушенные огурчики, но на верхней плате для него нашлось особое место.
Дело в том, что центральная тач-зона на самом деле представляет собой металлическое кольцо, касающееся платы в двух местах. И под этими посадочными местами важно обеспечить минимальную ёмкость к общей земле: так чувствительность будет значительно выше. Поэтому на всех слоях под этими опорными местами из меди вырезаны прямоугольники, а на последнем слое сплошная заливка превращается в сеточку.
И вот когда я поместил рисунок огурчика на эту плату, он аккуратно лёг в этот прямоугольник, который мне смутно начал что-то напоминать. Ах да, это же самое подходящее место для хранения огурцов — литровая банка! Пара кликов мышью, и...
И снова про пасхалки
У всех этих пасхалочек нет какой-то важной цели, нет глубокого смысла или тайного посыла — они просто появились в процессе разработки. Можно сказать, естественным образом. И можно было бы так и оставить их без внимания, чтобы позабавить лишь инженера в сервисном центре, который впервые разбирает Станцию. Но есть у меня надежда, что эта статья сможет натолкнуть других влюблённых в своё дело инженеров на что-то подобное: доброе и безобидное. Как меня когда-то натолкнула статья на Хабре.
Комментарии (26)
Xrddr
23.04.2024 07:37+7Интересная статья. Теперь мне захотелось разобрать Алису)
GennPen
23.04.2024 07:37+9Пасхалки - это когда неожиданно для себя их обнаруживаешь. Смысл разбирать аппарат после рассказа про них в целой статье?
DarkWolf13
23.04.2024 07:37+8а ты ее купи, и посмотри как она ребутится когда запросы уводят на какой-нибудь ютуб или ок, где на других видео сервисах пауза не работает, если остановил возобновить просмотр можно будет только начав снова сначала и может ты её разберешь об стену..... Да удобства колонки очень впечатляют, но после каких то обновлений, она перестала выполнять часть сценариев по ключевым фразам, перестала реагировать на команды когда ты дальше 3 метров от неё, пытаешься искать фильм или музыкальную композицию она вступает в полемику с тобой.....иногда игнорирует команды, просто помигав подсветкой, типа слышала, но делать не буду....какая-то временами полоумная домохозяйка с признаками старческого маразма....вопросов иногда набирается на какие то забиваешь....а на какие то что бы пожаловаться на бота в колонке надо пройти бота в тех-поддержке, иногда живой человек ответит....но несмотря на весь негатив дома продолжаю колонкой пользоваться
dlinyj
23.04.2024 07:37+2Та ладно вам, музыку играет и на том спасибо.
goodic
23.04.2024 07:37+8Склонен не согласиться. Устройство позиционируется не только как проигрыватель музыки, а по факту, даже с ПДУ, пользоваться станцией для просмотра фильмов крайне неудобно. Даже на Кинопоиске. Особенно тех, которые куплены или взяты в аренду. Без телефона их просто не запустить на станции. В итоге у тебя есть голосовой интерфейс, ПДУ и мобила. И только при наличии всех трех ты сможешь более менее пользоваться станцией Макс
dlinyj
23.04.2024 07:37Я склоняюсь к андроидовской приставке, так как станция не очень удобна для просмотра фильмов.
goodic
23.04.2024 07:37+4Да у самого яндекса есть Модуль - суть приставка на андроиде с порезанным функционалом. Там уже в разы удобнее навигация и нет бОльшей части описанных мной проблем Станции. Но как-то странно покупать устройство в дополнение к уже купленному, просто потому, что Станция не справляется нормально с заявленным функционалом. И вдвойне странно, что опыт Модуля не перенесли на Станцию Макс
JohnDoe_71Rus
23.04.2024 07:37+6задача яндекса не что б вам было удобно, а что бы вы купили станцию в каждую комнату, и модуль, и доп устройства к ним в инфраструктуру. и на все это хозяйство еще продать подписку.
goodic
23.04.2024 07:37+4Так я больше и не куплю. По мере выхода из строя заменю на удобные мне решения. В эту игру можно (и нужно) играть вдвоем
Skok
23.04.2024 07:37И будешь мучиться с зоопарком. Где каждое устройство работает само по себе но через костыли взаимодействует друг с другом.
Яндексы пытаются создать умный дом где все компоненты работают в связке. Не сразу, но дайте им шанс.
goodic
23.04.2024 07:37Пока не мучаюсь. Заведомо покупаю в качестве исполнительных устройств те для которых есть опенсорсные прошивки или хватит моих знаний написать туда своё. Стек HassOS на домашнем сервере + устройства прошитые для работы с ними. Не покрыта пока мультимедиа и голосовой интерфейс. Мультимедиа решается преодолением лени.
И остается только голосовой интерфейс. Подождем, глядишь и тут появятся альтернативные решения
goodic
23.04.2024 07:37Яндекс пытается создать продукт для продажи, выше комментатор абсолютно прав. И потом мы видим в продаже "умные лампочки" и "розетки", а не встраиваемые управляющие устройства. Ширпотреб для обывателя на поиграться. Лампочки будут раз в год менять - профит, розетки реже, но "экосистема" без них будет неполной.
ssj100
23.04.2024 07:37как она ребутится когда запросы уводят на какой-нибудь ютуб или ок.
бывает, но редко ... но да со временем использования замечаний куча. Пока лечится перезагрузкой и очень жаль что нет ее на самой колонке и приходится тянуться к блоку питания
ripandtear
23.04.2024 07:37+12Такие пасхалки греют душу, особенно когда на них сам натыкаешься, не зная заранее. Как пример -
dlinyj
23.04.2024 07:37+7Считаю, что делать с юмором - это круто. И мотивирует творить. Мне удавалось делать безобидные пасхалки даже в серъёзных компаниях.
Kononvaler
23.04.2024 07:37+2А кто делал Yandex TV-stick? Не железо, к нему как раз претензий нет, 10-и кратный запас под урезанный в ..пу функционал, а, мягко говоря, нехорошие люди, пограмисты? Им не икается?
bezboroda
23.04.2024 07:37Я как то в исходниках GCC Тома Сойера нашел) А еще много всяких ругательств) Ругательства в комментах это вообще отдельная олимпиада)
Seven-ov
23.04.2024 07:37Очень нравится тандем колонка мини+Яндекс модуль, голосовое управление вообще без замечаний.
Вопрос к Яндексу, почему нельзя создавать тандем между колонкой и телевизором с Яндекс ТВ? (Имеются, ввиду сторонние производители тв с оболочкой Яндекса)
TimurRyabinin
23.04.2024 07:37Здравствуйте, Станислав! Поймали ваше пожелание. Действительно, сейчас создать тандем не получится, но я передам ваше пожелание команде — подумаем над такой возможностью :)
Shnurokspb
А еще было бы прикольно, если бы вы не тратили время на рисование "букашек", а подумали бы как сделать так, чтобы не выгорал дисплей на станции Макс и не отваливалась бы навсегда проводная сеть через год эксплуатации на ней же.
Strannii Автор
На рисование каждой пасхалки, описанной в статье, потрачено от двух до пяти минут. Это меньше, чем сходить за кофе.