Моим первым компьютером был ZX Scorrpion - клон ZX Spectrum. В отличие от большинства первых компьютеров - Scorpion имел системный блок к которому подключалась клавиатура. Но я также застал большое количество компьютеров - клавиатур. Нельзя сказать, что этот формат не прижился. Любой ноутбук выглядит куда более похожим на клавиатуру-компьютер 1980-х, чем на старые персональные компьютеры.
Большинство моих самоделок движимы исключительно ностальгией. Из-за неё же у меня была идея встроить в клавиатуру какой-нибудь одноплатный компьютер, вроде Raspberry PI. Тем более, что четвёртая версия Raspberry на удивление мощная. Останавливало отсутствие готовых решений и неприспособленность большинства клавиатур к такой переделке. Место под установку внутрь Raspberry было только на совсем уж громоздких клавиатурах, а хочется компактного решения. Для ностальгирующих выпускаются корпуса для Raspberry PI похожие на ретрокомпьютеры, но это исключительно внешнее сходство. Мня такое не устраивает.
К счастью, Raspberry foundation выпустили специальный набор с клавиатурой и мышкой специально для Raspberry PI. Я заказал клавиатуру. Она очень недорогая, довольно неплохого качества. Я бы определённо не стал использовать её для повеседневной работы, но она лучше “ножничных” клавиатур новых маков. И самое главное - у неё внутри достаточно места, чтобы установить Raspberry Zero или любую другую плату Raspberry, если отпаять у них USB порты и не устанавливать гребёнку на GPIO порты. USB хаб на два порта присутствует прямо на клавиатуре, так что с отпайкой USB портов проблем не возникнет.
Думаю, авторы клавиатуры изначально предусматривали, что внутрь клавиатуры можно будет установить Raspberry, но сделали полуфабрикат. Так даже интереснее. Я остановился на установке Raspberry Zero внутрь клавиатуры. Во-первых, у меня было несколько штук, так что работу можно начать сразу, не дожидась пока придёт новая плата и не покупая её втридорога в России. Во-вторых, возможностей Raspberry Zero вполне достаточно для редактирования текстов, работы в Arduino IDE и эмуляции ретро-компьютеров. Причём меня интересуют только ZX Spectrum, Commodore 62 и Amiga. С Amiga могут быть сложности, но с этим я ещё разберусь. Ещё один важный фактор - питание. Raspberry PI 4 потребляет аж 15 Ватт энергии. Это реально много. Впрочем и для Raspberry PI 3 рекомендовали блок питания на 12,5 Ватт. Для этого нужно использовать специальный блок питания, выдающий 5В/2,5А энергии. Большинство блоков питания выдают не более 5В/2А, а по факту даже меньше. Работать Raspberry с таким питанием будет, но будет уменьшать тактовую частоту. Что касается Raspberry Zero W - ему достаточно 5 Вт энергии, так что подойдёт любой блок питания способный выдать 1 А при напряжении 5 В.
К сожалению, к моему Raspberry Zero уже была припаяна “гребёнка” GPIO. Я не стал её отпаивать. Если она будет мешаться - можно просто откусить штырьки бокорезами. В интернете я нашёл инструкции по установке в клавиатуру Raspberry Zero с установкой внутрь аккумулятора. Меня эта идея не заинтересовала, автономные компьютеры не имели автономного питания, зато в большинстве из них был встроенный динамик. Поэтому я решил собрать комьютер с I2S звуковой картой и динамиком. В качестве источника звука я выбрал модуль MAX98357. Он включает в себя усилитель звука класса D, имеет маленькое потребление энергии и может раскачать динамик мощностью до 3 Вт. Описание того, как я сделал это - в следующих статьях:
Для затравки - вот фотография того, что у меня получилось в итоге. Компьютер-клавиатура в ретро-стиле.