概要
- 机の上の整理不足 から始まったガジェット改造プロジェクト
- Aliexpress製4Gモデム ・Clicks Keyboard・Adafruit SHARP Displayを合体
- Linux/OpenStick導入 やデバイスツリー抽出・カスタムPCB作成の詳細
- 配線・カーネルドライバ実装 など技術的チャレンジの記録
- ディスプレイの画質改善 や今後の課題も言及
机の上のガジェット混沌から生まれたプロジェクト
- 整理整頓が苦手 で、Aliexpressの注文品や進行中のプロジェクト、贈り物などが机上に散乱
- MF800/UZ801/USB型4Gモデム、Clicks Keyboard for iPhone 16 Pro Max(iPhone未所持)、Adafruit SHARP Memory Display boardが手元に
- Beepy by sqfmi や Playdate に触発され、3つのデバイスを組み合わせるアイデア誕生
4Gモデムの活用
- 4Gモデム(MF800) はWiFi/Bluetooth/ディスプレイ/バッテリー搭載で、$20以下で入手可能
- Linux化はOpenStickプロジェクト で容易、adbアクセスやedlリフラッシュも可能
- 基板上のピンでedlモード突入 や、Androidからデバイスツリー抽出が有益
- 参考リンク:OpenStick GitHub、openstick.de、wvthoog.nl、extowerk.com
Clicks Keyboardについて
- Clicks Keyboard は高品質な打鍵感、ただし高価で物理的なカットが必要
- プロトコルはUSBキーボード互換 で、Apple独自エンドポイントによる認証あり
- CH32V203系MCU搭載、カスタムファーム書き換えも可能だが現状不要
- 将来的には 設定用ユーティリティ を作成予定
SHARPディスプレイ
- 高コントラスト表示 でメッセージ用途に最適
- シンプルな構造 で、コマンド送信で描画
カスタムアダプタPCB設計
- MF800基板に5V昇圧回路なし と推定、USBコネクタも物理的にカット必要
- TUSB320(USBモード切替)/SN74LVC8T245(レベルシフト)/MCP1640(5V昇圧)/TPS22917(VBUS/VBAT切替) を搭載
- USB/ディスプレイ用FPCコネクタ、テストパッドも実装
- 片面実装 でコスト削減、GitHubで回路・設計ファイル公開
エンクロージャ・基板カット
- MF800は大型 で、Clicksケースに収めるには基板を横向きにカット
- バッテリー接続ラインも切断 したため、後で補修が必要
配線作業1
- 旧ディスプレイ用パッド流用 で配線(後から後悔)
- AndroidデバイスツリーからSPIピン特定、gpiosetや電圧測定で確認
- 電源・USB→ディスプレイSPI順にテスト
- USBデータ線は ツイストペア化で安定通信 を実現
配線作業2・SPIディスプレイ接続
- デバイスツリー修正、Qualcommドライバのクセ(CS管理)に対応
- libgpiodでCSピン手動制御 でディスプレイ動作確認
- 電源投入中の接続で一時トラブル も、最終的に問題なし
再配線・品質向上
- 電源・信号線をより太いマグネットワイヤーに交換 し、信頼性向上
- USBデータ線は基板パッドの都合でそのまま
ディスプレイ用カーネルドライバ導入
- ardangelo’s sharp-drm-driver を選択、DRM対応でX/Waylandや動画再生も可能
- カーネルモジュールのビルド・導入も問題なし
- デバイスツリーでCS制御をドライバ側に移譲
- 色の2値化問題 に対し、ドライバにディザリング機能追加
- 動画用:Atkinson、静止画用:Floyd-Steinberg
今後の課題・まとめ
- 一般的な画像や動画表示の品質向上 が今後の課題
- 配線や部品配置の最適化、設定ユーティリティ開発も視野
- プロジェクト全体のGitHub公開 で情報共有推進