[DIY] Raspberry Pi (lub inny SBC) schowany w klawiaturze mechanicznej (część 1)
Moje Raspberry Pi Zero W v1.1 dzielnie służyło jako serwer wydruku, udostępniając w domowej sieci drukarkę HP LaserJet M1132. Odkąd zastąpiłem ją drukarką z WiFi, spędziło parę miesięcy w szufladzie. Postanowiłem więc zacząć od jakiegoś prostego DIY typu "prawie AiO" (bez monitora), czyli ukryć taki SBC w klawiaturze mechanicznej - czyli coś a'la mikrokomputery z lat osiemdziesątych - podłączasz zasilanie, ekran i voila.
Klawiatura jest złożona z trzech części: obudowy górnej, dolnej i PCB z przyciskami. Kabel USB jest podłączony na chyba gniazdo JST, z niestandardowymi kolorami przewodów, nie pasują do typowego opisu USB, a ponadto jest ich pięć. Obok złącza JST są pady, chyba na drugie gniazdo. Są połączone z tym pierwszym i mogłem ich użyć w celu przylutowana klawiatury do HUBa. Usunąłem sporo plastików wzmacniających, wyciąłem miejsce na porty USB, HDMI i DC.
Hub za to wygląda jak typowy tani hub, płytka z układem scalonym i wyprowadzeniami na porty. Jeden z nich został usunięty aby zrobić miejsce dla klawiatury.
Chwilę po wykonaniu projektu dowiedziałem się, że coś takiego istnieje już fabrycznie - Raspberry Pi 400. Niestety, na czas tego wpisu dostępność RPi w oficjalnych kanałach dystrybucji znacznie spadła, a ceny na rynku wtórnym poszybowały. Stąd decyzja o wykorzystaniu tego, co już mam. Najprawdopodobniej w Internecie znajduje się już sporo tego typu pomysłów, ale od czegoś trzeba zacząć.
Uwaga: jeśli zdecydujesz się powtórzyć ten eksperyment, robisz to wyłącznie na własną odpowiedzialność. Nie odpowiadam za uszkodzenia mienia i zdrowia.
Potrzebny sprzęt:
- Raspberry Pi Zero W v1.1
- Klawiatura mechaniczna - tutaj Krux Atax RGB Outemu Brown TKL USB
- Zasilacz 5V / 3A z wtyczką 2,1/5,5mm
- Tani hub USB 2.0
- Przewody
- Lutownica
- Gniazdo 2,1/5,5 mm
- Przejściówka miniHDMI na HDMI
- Super glue i klej na ciepło
- Taśma izolacyjna
Rozbiórka klawiatury i HUBa USB
![]() |
| Rozebrana klawiatura, z usuniętymi plastikami w podstawie i wyciętymi otworami na porty. Dodane gniazdo DC |
![]() |
| Przylutowane przewody do klawiatury. Od lewej: GND obudowy USB, GND, D+, D-, +5V. |
Hub za to wygląda jak typowy tani hub, płytka z układem scalonym i wyprowadzeniami na porty. Jeden z nich został usunięty aby zrobić miejsce dla klawiatury.
Hub z usuniętym portem
Zasilanie i podłączenie USB
Pora na zasilenie komputerka. MicroUSB nie wchodziło w grę, wolałem wystawić via gniazdo DC. Skorzystałem z pinów GPIO (J8) - +5V podajemy na pin 2, masę na pin 6. Z kolei do podłączenia USB wykorzystałem pady do testowania. Ponieważ RPi Zero ma USB OTG, trzeba w jakiś sposób powiedzieć systemowi, aby użył trybu hosta. Można to rozwiązać na dwa sposoby:
- Dodać dtoverlay=dwc2,dr_mode=host do pliku /boot/config.txt. To działa, ale niestety po nagłej utracie zasilania można się obudzić z pustym plikiem config.txt co mi się już przydarzyło podczas testów.
- Zewrzeć pad USB_ID z GND. To to samo, co podłączenie przejściówki USB OTG. Rozwiązanie bardziej na stałe.
![]() |
| Podłączenia użyte w projekcie. Zdjęcie z angielskiej wersji tego wpisu. Dolne pady wykorzystane do podłączenia HUBa. |
Wyjście wideo i składamy
No i ostatnia rzecz, czyli podłączenie wyjścia obrazu. Jeśli interesuje nas RCA, czyli cinch, można skorzystać z pinów oznaczonych TV. Ja jednak wolę HDMI. RPi Zero posiada miniHDMI, więc wziąłem przejściówkę miniHDMI na HDMI, wyciąłęm zbędny plastik i wkleiłem na ciepło do obudowy. Jednocześnie zapewnia to utrzymanie maliny w miejscu. Wkleiłem także HUB, z przylutowaną klawiaturą, malinka wpięta w przejściówkę, jack DC również wklejony i można testować. OS - Raspbian.
![]() |
| Wycięcia w obudowie na wszelkie porty |
![]() |
| Uruchomiony FUSE - emulator ZX Spectrum |
A teraz problemy, które wynikły
- Raspberry Pi Zero W w wersji 1.1 ma małą moc obliczeniową, i jakkolwiek nadaje się do zastosowań mało zasobożernych (jak serwer wydruku), to kompilowanie czegokolwiek z procesorem 1GHz (jednordzeniowym) i 512MB RAM jest tragiczne. Emulationstation ładuje się bardzo wolno, środowisko graficzne (OpenBox) jest mało używalne. Pi Zero W v2 byłoby lepsze, aczkolwiek teraz trudno dostać je w cenie sugerowanej.
- Po kilku restartach HUB USB przestał być poprawnie wykrywany przez malinę (klawiatura ta nie świeci, jeśli nie ma komunikacji z komputerem). Rozebrałem wszystko, podłączyłem go do komputera- działa. Klawiatura - działa. Klawiatura podłączona bezpośrednio do maliny via USB OTG - działa, hub także. Podejrzewam albo problemy z zasilaniem albo z hostem USB. Niewykluczone, że coś uszkodziłem
Ciąg dalszy nastąpi - w miejce Pi Zero W zamówiłem Orange Pi Zero 2 (około 30 EUR z wliczonym VAT). Niestety na ten moment kupno RPi 4 pełnowymiarowej w normalnej cenie graniczy z cudem, więc szukam alternatywnych rozwiązań.
Parametry Orange Pi Zero 2 to Allwiner H616 (4 rdzenie A53), 1GB RAM, ma także port Ethernet (natywny), 3x host USB. Może być nieco za duża, ale trzeba kombinować - może się skończy inną obudową.
Do następnego razu!







Komentarze
Prześlij komentarz