Reading the undocumented MEMS accelerometer on Apple Silicon MacBooks via iokit

1 day ago (github.com)

Way back in ~2008 I wrote the Newton Virus https://www.everita.com/how-the-newton-virus-was-made + https://www.youtube.com/watch?v=eh75j6OHhRc (sorry for the broken images, need to update that site). Between that and using a hidden API to take screenshots of each individual element on your desktop (from icons, to taskbar, to windows) the effect was pretty believable. One of the most fun (and frustrating) projects I ever worked on.

  • I've tried to find this for so long. I remember seeing it at the time as a teenager and thinking it was SO COOL. Basically made me discover Apple and want a Mac. :)

  • When I saw the post the Newton Virus was the first thing I thought of. Thanks for making it. I remember showing my family the video and remarking about how cool it was.

>have a hard to find mems accelerometer managed by the sensor processing unit

How did OP even know that an accelerometer exists in the first place?

  • The presence of the sensor is well documented as part of Apples Sudden Motion Sensor hard drive protection system.

    How to access it is undocumented.

    • Aaackshually, the Sudden Motion Sensor was introduced on 2005 in the PowerBook G4, and continued through the intel MacBooks with hard drives.

      While officially undocumented, people figured out how to access it back then, with novel uses like smacking your MacBook to change spaces (virtual desktops) or swinging the Mac around to make lightsaber noises.

      - https://www.youtube.com/watch?v=6uvQTTPr9Rw

      - https://osxdaily.com/2006/12/06/macsaber-turn-your-mac-into-...

      (I should know, I was in university back then and swung my Mac around like an idiot, lol.)

      On the first Retina MacBook Pro 15" in 2012, and moving forward with all MacBooks that were SSD-only, they removed the SMS as it was not needed.

      To my knowledge, this is the first time we're hearing that Apple Silicon machines have an accelerometer on the SoC, officially or otherwise. It's also certainly not branded or marketed as the SMS was. (https://support.apple.com/en-us/100871)

      Happy to be corrected on this!

      2 replies →

  • > the sensor lives under AppleSPUHIDDevice in the iokit registry, on vendor usage page 0xFF00, usage 3. the driver is AppleSPUHIDDriver which is part of the sensor processing unit.

undocumented

The one thought that comes to mind is this: "Your warranty claim was denied because we determined that the laptop was subjected to a sudden shock."

  • Back in the days this was to lock up the hard disk read/write head. Maybe a relic from those times instead?

    • Apple is not known for backwards-compatibility, and they were already using SSDs in their laptops long before switching to ARM.

  • idk you can just use simple liquid-container or sticker?

    maybe apple was preparing for "carrying-around laptop experience"?

    • That's an entirely different product build path compared to the electronics production line though.

      If a pick and place machine can drop it on and reflow it, that's what you want.

      1 reply →

On my M4 14-inch MacBook Pro, it looks like there are two accelerometers: One with {"DeviceUsagePage"=0xff00,"DeviceUsage"=3}, and one with {"DeviceUsagePage"=0xff00,"DeviceUsage"=9} - They both identify as Bosch BMI286

  • Ah, after some testing, it looks like these both refer to the same IMU, DeviceUsage=3 is for the accelerometer and DeviceUsage=9 is for the gyroscope. The serial number is also the same for both.

If it can read your heartbeat from your wrists resting next to the trackpad, maybe it can use that as a user satisfaction signal for gratuitous UI changes.

  • If it's sensitive enough to read a heart beat, then surely it can be used as a covert microphone?

    • From testing, it seems to require me to press my wrists quite hard against the macbook to get a somewhat accurate reading on the heartbeat. Non the less a cool project and I wasn't even aware my macbook has an accelerometer.

I would like an app to lock my screen on sudden movement; optionally disable TouchID for next login.

  • Maybe you’re also interested in having it start the fuse on your thermite pot, that you have time to stop if it turns out it’s not the FBI raiding your house for what’s on your hard drive?

    • Are you implying that it is paranoid and irrational regardless of circumstance to want this?

      Sorry to disappoint. I’m working in the human rights space, with dozens of real world experiences by people I work with. I got raided once myself. They were unable to locate any computer on my premises. They however took my phone and a couple of encrypted hard drives for forensic analysis. They asked for the device PIN, which I did not provide. A court later ruled the raid and seizure and temporary confinement illegal. I did not reuse the returned phone. They didn’t pay for the replacement, or the lawyer.

      2 replies →

I've been wondering about this for a while, glad someone's finally managed to access it.

Could this be used as "shake your mac for highly random seed" bits?

I wonder if this sensor is used for Vision Pro display mirroring.

  • I think it's used for the motion sickness reducing feature in MacOS Tahoe that puts a bunch of dots on your screen that react to motion.