newsence
來源篩選

Reading the undocumented MEMS accelerometer on Apple Silicon MacBooks via iokit

Hacker News

This project demonstrates how to access the hidden MEMS accelerometer in Apple Silicon chips using IOKit HID callbacks, enabling high-frequency raw data collection for applications like heartbeat detection.

newsence

透過 IOKit 讀取 Apple Silicon MacBook 上未公開的 MEMS 加速度計

Hacker News
9 天前

AI 生成摘要

本專案展示如何利用 IOKit HID 回呼函式存取 Apple Silicon 晶片中隱藏的 MEMS 加速度計,實現高頻率原始數據採集,並可用於心跳偵測等應用。

背景

在 Apple Silicon 系列的 MacBook 中,蘋果隱藏了一個未公開的 MEMS 加速規感測器,該感測器由感測器處理單元(SPU)管理,且未提供任何公開的 API 或框架供開發者調用。開發者 olvvier 透過 IOKit 框架成功讀取了這項硬體數據,並在 GitHub 上分享了其實作方法,甚至展示了如何利用該感測器的高靈敏度,透過心臟搏動產生的機械震動(心動圖)來估算使用者的心率。

社群觀點

這項發現引發了 Hacker News 社群對於蘋果硬體設計意圖的熱烈討論。許多資深用戶回憶起 2005 年 PowerBook G4 時代引入的「瞬間運動感測器」(Sudden Motion Sensor, SMS),當時是為了在電腦墜落時緊急鎖定硬碟磁頭以保護數據。然而,隨著 MacBook 全面轉向固態硬碟(SSD),這類物理保護機制已不再必要,因此在 2012 年後的 Intel 機型中一度消失。社群成員指出,Apple Silicon 機型重新引入加速規,很可能是為了支援近年推出的「防暈車」功能,該功能會在螢幕上顯示隨車體晃動而移動的圓點,以減輕使用者的動暈症。

關於這項感測器的存在意義,社群中出現了多種技術推測。有觀點認為這可能是蘋果用來判定保固爭議的手段,透過記錄異常的衝擊數據來拒絕人為損壞的維修請求。也有人提出這可能與供應鏈的標準化有關,在電路板上直接打上一顆成熟的 MEMS 晶片,比額外設計物理性的損壞指示標籤更具成本效益。此外,由於該感測器靈敏到能偵測手腕傳來的微弱心跳,部分用戶擔憂這可能成為一種隱蔽的監聽工具,或是被用於收集使用者的生理反應數據,儘管這取決於感測器的取樣頻率與頻寬。

在技術應用層面,老牌開發者們分享了過去利用加速規開發的趣味專案,例如將 MacBook 當作光劍揮舞並發出音效的 MacSaber,或是透過拍打機身來切換虛擬桌面。對於現代的 Apple Silicon 機型,社群則討論了將其作為硬體隨機數生成器(TRNG)種子的可能性,雖然對於其隨機性的品質仍有爭論,但普遍認為這能為系統熵池貢獻額外的隨機來源。

延伸閱讀

  • MacSaber:2006 年流行的趣味軟體,利用加速規將 MacBook 模擬成星際大戰的光劍。
  • Newton Virus:開發者 seductivebarry 分享的互動專案,利用加速規讓桌面圖示隨機身傾斜而滾動。
  • Apple 官方支援文件:關於早期 Intel 機型「瞬間運動感測器」的技術說明。