20 ポイント 投稿者 GN⁺ 2025-01-23 | 5件のコメント | WhatsAppで共有
  • 高校3年生の学生が6か月かけて自作したノートPC
  • 4K AMOLEDディスプレイ、Cherry MXメカニカルキーボード、Minecraftの4Kプレイ、+7B LLMの実行、ウェブブラウジング、約7時間のバッテリー駆動時間。すべてがオープンソース。
  • 最新の商用薄型軽量ノートPCが持つさまざまな技術仕様(画面、オーディオ、性能、ビルド、触感、タッチ操作、効率、サイズなど)をできるだけ実現しようとした
  • 同時に、可能な限り多くのものを最初から自分で作ろうとする試みでもあった

全体のハードウェア構成

チップ選定

  • シングルボードコンピュータ(SBC)向けSoCを探しており、Rockchip RK3588が比較的高速だったため関心を持った
  • ソフトウェアサポートは不足していたが、ハードウェア文書やリファレンス回路図は悪くなかった
  • RK3588の仕様
  • A76クアッドコア + A55クアッドコア
  • Mali-G10 GPU
  • 6TOPs NPU
  • 8K@60FPSデコーダ
  • 豊富なI/O(8Kディスプレイ、デュアルUSB3.1、PCIe 3.0 x4、HDMI2.1/eDP 1.4など)
  • システムオンモジュール(SoM)を活用すれば、高速信号配線が必要なメモリ部分を気にしなくてよく効率的だった
  • FriendlyElecのCM3588 SoMを選択した

ディスプレイ

  • panelook.comでサイズと解像度で絞り込み、4K解像度の13.3インチAMOLEDに決めた
  • ATNA33TP11は比較的新しいパネル在庫が多かった
  • コネクタ位置や基板長の短縮などの微調整によって、1.5GHz級の信号完全性を確保した
  • eDPベースの非標準Linux環境で4K AMOLEDを設定する過程は非常に複雑だった(電源オンのタイミング、エンジニアリングログの分析、リバースエンジニアリングなど)

パワートレイン

  • 厚さ約6mmのセルを4本直列に構成し、約60Whの容量を目標にした
  • batteryspace.comで3.7V 4250mAhのセルを見つけた
  • 全体電圧は4S構成で16.8V(最大20V USB-C入力)。BQ25713充電IC、BQ77915バランシングIC、LTC2943電力追跡ICなどを使用した
  • ESP32-S3を通じてバッテリー監視とその他の制御を行う
  • カーネルとPythonスクリプトを通じて、OSでバッテリー状態をネイティブ表示できるように構成した

[Powertrain V0.2 KiCanvas Link]
https://kicanvas.org/?github=https%3A%2F%2Fgithub.com%2FHello9999901%2…

メインボード

  • バッテリーやディスプレイサイズなどをもとに、メインボードの幅を約90mm前後に設定した
  • 外部I/Oとして、デュアルUSB3.1 Type-C、USB2.0 Type-A、ヘッドホンジャック、microSDカードスロットを実装した
  • 内部ではM.2 E-key(Wi‑Fi/Bluetoothモジュール)、M.2 M-key(NVMe SSD)をサポートする
  • 完成版メインボードの詳細は別記事でまとめる予定

[Motherboard V1.0 KiCanvas Link]
https://kicanvas.org/?github=https%3A%2F%2Fgithub.com%2FHello9999901%2…

システム起動

  • Joshua Riekのubuntu-rockchipカーネル/ディストリビューションを使用した
  • ArmbianカーネルもRockchipのカーネルベースなので、ハードウェア機能をうまく活用できる
  • ハードウェア設定は主にDeviceTree(DTS)内で処理し、U-bootを通じてブートローダ側で適切に指定した
  • 開発はMacBook + Visual Studio Code + Orbstack(仮想化されたUbuntu 24.04)環境で進め、compile後にscpでRK3588デバイスへ転送した
  • 表示、PCIe、USB設定などはDTSを繰り返し修正し、再起動を重ねながら解決した
  • 最終的にUbuntu 24.04 LTS、カーネル6.1ベースで動作する

周辺機器

  • ノートPCのキーボードを取り外してワイヤレスキーボードのように使えたらどうか、という発想から始まった
  • ZMKベースのワイヤレスメカニカルキーボードを何度も作った経験があり、Cherry MX ULPスイッチを選んだ
  • バッテリーとスイッチを入れると高さが増すため、厚さ1mmの200mAhバッテリーを使い、PCBの高さも最小化した
  • キーキャップは市販調達が難しく、0.15mmノズルで3Dプリントした
  • トラックパッドにはAzoteqのPXM0057-401モジュール(ガラス表面、マルチタッチ、USB対応)を採用した。生産終了予定なのが残念

[Keyboard V1.0 KiCanvas Link]
https://kicanvas.org/?github=https%3A%2F%2Fgithub.com%2FHello9999901%2…

メカ設計

  • アルミニウムCNCブロックをJLCに送り、さまざまなアルマイト処理サンプルを受け取った。ダークグレーは触感が良かったが、外観はマットブラックが気に入り最終的に選んだ
  • CADはOnShapeで進め、Framework 13.3”ノートPCのヒンジを参考にした
  • シャーシ内部レイアウトは、下側にバッテリー4本、右側にパワーボード、左側にメインボード、最上部にヒンジ構造。マグネット着脱式キーボードのために下部ネジをなくす設計にした
  • 冷却構造はカスタム銅製ヒートシンク + ヒートパイプ + ファンの組み合わせで、PTM7950サーマルパッドを使用した
  • スピーカーにはPUI Audio製品を使ったが、CM3588のオーディオDACデバッグに時間が足りず、外付けUSBオーディオコンバータを追加した

振り返り

  • このプロジェクト名anyon_eは、量子力学の授業(特に準粒子の「エニオン」)を受けて思いついたもの
  • 電気、ソフトウェア、機械の分野がすべて絡み合う必要があり、とても大変だった
  • オープンソースプロジェクト(ZMK、KiCad、Blenderなど)のように、創作と革新、想像力の力を人々と分かち合いたかった
  • 小さな部分でもオープンソースに貢献し、新しい可能性を開きたい

5件のコメント

 
ahwjdekf 2025-01-24

タイトルだけ見て、てっきり普通のノートのことかと勘違いしました。ラップトップと書くのが正しいと思います。

 
bus710 2025-01-23

見た目がまるで既製品のようですね。
すごいです。

 
rlaehdus2003 2025-01-23

すごいですね……。

 
xguru 2025-01-23

公式Repo - https://github.com/Hello9999901/laptop

Phillips Exeter Academy の高校在学生とのことですが、この学校は1781年に設立された非常に有名な私立学校だそうです。

 
GN⁺ 2025-01-23
Hacker Newsのコメント
  • Bryanは高校の最終学年在学中
  • 著者の並外れた能力を示す、特別なHN投稿。動画を見てとても感銘を受けた
  • 本当に素晴らしいプロジェクト。改善できる次のステップも明確。リソース、時間、技術のうち、どれが最も不足していたのか気になる
    • 例えば、ケーブル配線を容易にするためにフレックスPCBを作ることを考えたことがあるのか気になる
    • 着脱式ワイヤレスキーボードを備えたノートPCという発想は素晴らしい。SurfaceやiPadのケースキーボードよりも実装がはるかに洗練されている
  • 小型で強力なCPUを備えた、ドック依存型の手のひらサイズPCというビジョンに一歩近づけそう。USB-C 1本で接続し、ほかのポートはなく、低出力充電器からの電力の安定性を保つためのミニバッテリーで支える
  • Framework 13向けのカスタム画面ドライバを作ろうとして失敗したが、ノートPC全体を設計・製作したことに深く感銘を受けた
  • これは、ごく少数の人しか主張できない成果。HNに殿堂があるなら、十分にふさわしい
    • SoMを使ったのは賢明な選択。SoCと外部コンポーネントの電源シーケンシングは、まともなドキュメントがなければ非常に難しい
    • USB-C、DisplayPort(4K)、PCIeの現代的な速度は、ほとんどの人にとって魔法のようなもの。そこではデジタルではなく、アナログ回路と物理法則が支配している
  • とても印象的。ノートPCも素晴らしく見える。製造して販売できるなら、購入を検討したい
  • Clockwork Piを思い出させる、素敵なプロジェクト。共有してくれてありがとう
  • 総費用が気になる
  • USB-Cコネクタが外部エンクロージャにどう作られているのか気になる
    • USB延長ケーブルを使うのはよくない考え。大量のデータをコピーするときにビットエラーが発生する可能性がある。USBドライブをキャリアボードに直接挿すほうがよいが、物理的に常に可能とは限らない