The MacBook has a sensor that knows the exact angle of the screen hinge
twitter.com1015 points by leephillips 6 days ago
1015 points by leephillips 6 days ago
Alts: https://hachyderm.io/@samhenrigold/115159295473019599, https://bsky.app/profile/samhenri.gold/post/3ly7252lx422d
Theremin Mode: https://twitter.com/samhenrigold/status/1964464940049453153
Github: https://github.com/samhenrigold/LidAngleSensor
The lid angle sensor is also serialized to the motherboard: you cannot replace it, or the motherboard, without performing calibration, which can be performed by an apple authorized service provider, or alternatively, in Europe (and elsewhere where Apple offers parts for self-service repair), you can purchase the sensor from Apple, connect the machine to the internet after replacing it, to then perform the calibration, only if the sensor was purchased from Apple. So the hardware is capable of performing the calibration, Apple just does not graciously grant you the right to install a recycled or third party sensor in your machine. https://www.ifixit.com/Answers/View/759262/Torn+Lid+angle+se... They call it "calibration" when it's presumably nothing more than writing a serial number to an EEPROM somewhere. See also the related story of sabotaging iPad screens to work but subtly degrade when the serials don't match, and cameras that only semi-work when swapped (with genuine original Apple parts). This type of pathological lying that Apple loves to do is why I'll never buy or recommend to others any of their products. https://github.com/Vladislav98759/Macbook-Lid-Angle-Sensor-C... No, it actually does set the zero point. Interesting but that proves the point even more --- it's hardly "calibration" when it effectively does nothing more than write constants to the EEPROM. They certainly have enough processing power in the machine to do that automatically too without needing anything more, but instead they make everyone go through a whole song-and-dance to do this trivial process; which doesn't even require Apple's involvement. "Set the angle to 0 (closed) and press Enter. Open 10 degrees and press Enter. Repeat for every 10 degrees from 0 to 170" would be an example of actual calibration. > it's hardly "calibration" when it effectively does nothing more than write constants to the EEPROM What do you think calibration of digital devices entails? It does involve exactly that. Whereas in an analog device you would be adjusting a potentiometer or something similar You're forgetting (or purposely omitting) the measurement aspect. The measurement aspect is obvious to anyone who thinks two seconds about the point I'm making The measurement happening on the lid is the "lid closed" point That's not something that needs to be measured externally. Also, one wonders just how horrible their production tolerances must be if something like this even needs that sort of calibration in the first place. No other company does this. Nonetheless, even if one accepts this bizarre excuse at face value, it doesn't take a genius to realise that the firmware can "self-calibrate" trivially: If the EEPROM in the sensor is uninitialised, then it just needs to record the max/min value the first time it's closed, and save that as the "lid closed" point. The only plausible explanation for doing all this extra work is that this isn't merely incompetence; it's intentional malice. Given how much Apple spends on lobbying and other hostile activities, this is not surprising. Pressing enter while closed might be a little difficult. Trivial with a delay, press enter and close, after 5 seconds it calibrates You don't even need that, just ask the user to close the lid and see what the sensor settles on. How would you know the user is ready to perform the command? It wouldn’t matter… just tell the user to close and open the lid before pressing enter again, and get the maximum (or minimum) value as the lid being close all the way.
Doohickey-d - 6 days ago
userbinator - 6 days ago
bri3d - 6 days ago
userbinator - 6 days ago
raverbashing - 6 days ago
userbinator - 6 days ago
raverbashing - 6 days ago
userbinator - 5 days ago
lsaferite - 6 days ago
eviks - 6 days ago
lupusreal - 5 days ago
eviks - 5 days ago
cortesoft - 5 days ago