
Пока готова только левая половинка сплита. Но оно работает!
Лет 12-13 назад Лебедев представил клавиатуру Optimus Maximus, у которой в каждую клавишу был встроен миниатюрный экранчик. Обзор этой клавиатуры в 2009 году делал Boomburum, и получил этот обзор кучу комментариев и лайков — еще бы, ну очень необычным для того времени получился девайс. Надо сказать, что и сейчас подобное устройство вызывает удивление и желание потрогать. Основным недостатком девайса была цена, поскольку стоило устройство дико дорого по любым меркам — 44 000 рублей (напомню, это был 2008-2009 год).
Кроме цены были и другие недостатки, причем немало, о которых писали на форумах и в обзорах те, кому удалось с ней поработать. И вот сейчас разрабатывается похожее устройство, только уже более совершенное. Речь идет о Poly Keyboard, механической сплит-клавиатуре, которая выглядит, как вполне себе удобный девайс, только с экранами вместо кнопочек. Устройство еще не продается, но, похоже, его автор вышел на финишную прямую. О подробностях разработки и особенностях клавиатуры — под катом.
Poly Keyboard — что это за чудо дивное?
Разрабатывает устройство всего один человек, а не команда, так что ему приходится делать все — от макетов на 3D-принтере, до дизайна платы. Никаких дополнительных проводов и прочего не требуется — подключается система к ПК или ноутбуку обычным USB-кабелем, как и другие сплит-клавиатуры подобного типа.
На каждой клавише отображается ее назначение, которое можно с легкостью менять при помощи привычного для каждого владельца сплит-клавиатуры софта — QMK keyboard firmware. Достоинством устройства является еще и то, что она открыта. На GitHub автора можно загрузить модели для 3D-принтера, платы и другие важные файлы. Так что при желании можно начать работу над уже готовой платформой, доработав ее под свои нужды.
Изначально устройство разрабатывалось на базе микроконтроллера STM32F407, но из-за дефицита этих элементов, вызванного пандемией, автору пришлось перейти на другой микроконтроллер, более доступный — Raspberry Pi RP2040.
Дисплеи OLED не цветные, а черно-белые, так что выгорать, как в Optimus, клавиши не должны. Разрешение — 72*40 пикселей. Ниже — видео с небольшой демонстрацией работы клавиатуры. Ну как, работы — автор проекта просто нажимает на клавишу Caps Lock, но при этом видно, что в кнопки действительно вмонтированы дисплейчики, которые работают. Для красоты добавлена еще RGB-подсветка, а также еще один дисплей побольше, который показывает статус работы на клавиатуре. Подобные встроены, например, в Lily58 Pro, эргономическую сплит-клавиатуру, обзор которой уже выходил в нашем блоге.
С чего все началось
Автор рассказывает, что изначально у него вовсе не было цели разработать клавиатуру. Все, что он хотел — поэкспериментировать с Arduino и небольшими дисплеями. Он, к удивлению для себя, увидел в сети и купил небольшую партию 0.49" 64x32 OLED экранчиков. После того, как он поиграл со свойствами экрана, подключенного к микроконтроллеру, ему пришла в голову идея объединить их в систему, и попробовать сделать нечто вроде миниатюрной клавиатуры — чисто в порядке эксперимента.

Эксперименты прошли удачно, и на этом этапе и появилась идея создать эргономическую клавиатуру. Но для того, чтобы идею реализовать, понадобились экраны меньшего размера. И их удалось найти — на Alibaba их продавали буквально мешками, по $1 за штуку.
Сначала автор объединил в систему 4 дисплея, управляя ими на базе ESP32. Затем он перешел на STM32 MCU и платформу QMK Firmware. Все это как нельзя лучше подошло для целей проекта и работа закипела. Правда, пришлось перейти на более производительный и функциональный микроконтроллер STM32F407.

Ему удалось заполучить микроконтроллер еще до наступления дефицита полупроводниковых экспериментов. Ну а после стоимость таких устройств стала сильно выше ожидаемого, да и достать подобные системы стало непросто. Поэтому автор решил перейти на RP2040 (Pico) от Raspberry Foundation.
Cборка тестовых образцов
После того, как плата и возможности дисплеев были изучены до малейших нюансов, автор приступил к созданию тестовой миниатюрной клавиатуры всего с 8 клавишами-дисплеями. Он разработал плату и заказал ее в Китае, что и было с успехом реализовано китайцами.

Тестовый образец оказался удачным — все 8 клавиш обновлялись индивидуально, работая независимо друг от друга. При помощи QMK удалось научиться работать с этой «клавиатурой», так что первые пробные устройства не только выглядели интересно, но еще и работали. Но 8 клавиш — как-то маловато для полноценной клавиатуры, поэтому разработчик начал расширять проект, постепенно переходя к созданию нового проекта клавиатуры, надеясь в скором удущем разработать полноценную систему.
Для этого понадобилось доработать плату, которая могла бы служить уже базой для полноценной клавиатуры. Решение было и простым, и сложным одновременно — создать для каждой клавиши собственную плату, а их уже объединить в модульную систему, которая и стала бы клавиатурой.

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

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

Затем разработчик добавил дополнительный экран, который фиксирует нажатия на клавиши — собственно, так, как это реализовано во многих «обычных» сплит-клавиатурах. Выглядит неплохо и работает без проблем.

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

На каждой половинке -по 36 клавиш и по одному энкодеру. Шасси алюминиевое, покрытие — органическое стекло. Соединяются половинки при помощи RJ12 джека и соответствующего кабеля.
Проект был готов, платы заказаны в Китае, и вот он, момент истины — заказ распакован.

После чего, что логично, началась сборка, с подключением свитчей для проверки функциональности самой платы. К счастью, китайцы выполнили работу отлично, проблем никаких не было.

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

Разработчик хотел сделать свитчи съемными, поэтому заказал Mill-Max 0305 сокеты, которые позволили реализовать и эту идею. После чего он разработал корпус, распечатал его на 3D-принтере и приступил уже к финальной сборке тестового образца — левой половинки клавиатуры.

Ну и потом — все было собрано, и к радости автора проекта, заработало! Видео с небольшой демонстрацией было размещено выше, других роликов, к сожалению, пока нет.
Что дальше?
Предстоит сборка и тестирование правой половинки клавиатуры, доработка прошивки и финальное тестирование, после чего, будем надеяться, это чудо техники поступит в продажу. Сколько клавиатура может стоить, пока непонятно — автор о цене ничего не говорит. Но то, что в скором будущем система будет доступна, сомнений нет.
Ну а поскольку проект открыт, можно не сомневаться, что инициативные китайцы подхватят идею и наштампуют похожих проектов, которые вряд ли будут стоить космических денег. Скорее всего, стоимость будет немаленькой, но, будем надеяться, не такой высокой, чтобы стать серьезным препятствием для покупки, как в случае с клавиатурой Лебедева.
Автор: Михаил