# LidAngleSensor: Reading Your MacBook's Lid Angle

> A small Swift menu bar utility that reads the MacBook lid angle sensor and, optionally, plays a creaking door sound as you move the lid. It works on newer machines and has known gaps on M1 and M2 models.

**samhenrigold/LidAngleSensor** — tfw when you when your lid when uhh angle your lid sensor

- Repository: https://github.com/samhenrigold/LidAngleSensor
- Website: https://samhenri.gold
- Stars: 4,235 · Forks: 183
- Language: Swift
- License: Apache-2.0
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/samhenrigold-lidanglesensor

## What LidAngleSensor Actually Reads

MacBooks introduced from the 2019 16-inch MacBook Pro onward contain a lid angle sensor, and LidAngleSensor exposes that reading as a small utility. The README frames the project with a joke about constitutional rights, but the function is narrow: show the angle reported by the sensor, and optionally play a wooden door creak when the lid moves slowly. It is for people who are curious about hardware their laptop already has, and for anyone who wants a quick lid angle test without opening a terminal and writing an IOKit probe. It is not a diagnostic suite, not a calibration tool, and not a way to repair a sensor that has failed. The README does not describe a repair workflow, and the repository contains only an Xcode project, a source folder, a licence and a README. If your goal is to fix a broken hinge or a sensor that reports nonsense, this project does not claim to do that.

## How the Sensor Readout Reaches the Screen

The repository is a single Xcode project with one source directory, written in Swift, targeting macOS. The README states the author hard-coded the utility to look for a specific sensor, which explains the model compatibility pattern better than any abstraction would. There is no configuration file, no plugin system and no device discovery layer described in the README. The data flow is therefore direct: the app queries the sensor through the system, receives a value, and renders it in the UI. The optional audio path is separate and user-triggered, not automatic; the README says you can turn the sound off by never clicking Start Audio, which tells you the sound is gated behind that control rather than tied to lid movement by default. Release 1.1 is labelled "Big ol refactor", so the internal structure changed recently, but the README does not document what the refactor altered for users.

## Installing LidAngleSensor with Homebrew

The README gives one installation route: a Homebrew formula. Run the command below, and Homebrew will resolve and install the lidanglesensor package. You should see Homebrew download the formula and report a successful installation, after which the utility is available as an app.

```bash
brew install lidanglesensor
```

If you prefer to build from source, the README points to an issue stating that Xcode is required, and notes the author has only tested building with Xcode 26. The repository layout matches that: LidAngleSensor.xcodeproj/ sits at the top level next to the source folder, so opening the project in Xcode and building the app target is the intended path. The README does not list a minimum macOS version, a signed release download, or a notarised binary, so Homebrew is the path with the fewest unknowns.

Once installed, launch the app and look at the angle readout. Move the lid and the number should change. If you want the creaking sound, click Start Audio before you move the lid; the README treats that button as the on switch, and leaving it alone is the documented way to keep the utility silent.

## Where LidAngleSensor Fails

Compatibility is the real limitation, and the README is unusually direct about it. People have reported that the utility does not work on M1 and M2 devices, and the author states a fix has not been found. The known problematic models are the wedge-shaped M1 MacBook Air and the M1/M2 MacBook Pro with Touch Bar. Because the sensor lookup is hard-coded, a machine that has the hardware can still return nothing if the identifier does not match what the app expects. The README's own troubleshooting step is to run a separate script and report the output in a GitHub issue, which is a manual workaround rather than a supported path. There is also an unresolved question about iMacs: the README originally said untested, then updated to say it works, with the caveat that if it does not work for you the suggestion is to try again harder, which is a joke and not a diagnostic procedure. Treat iMac support as unverified. Finally, the audio is deliberately crude; the README says the author is bad at audio and that the sound comes from LEGO Batman 3: Beyond Gotham. If you need a clean, professional tone, this is not the tool for it.

## LidAngleSensor Compared with pybooklid

The README links one related project: pybooklid, described as a Python library that taps into the same sensor. The difference is the layer each project occupies. LidAngleSensor is a packaged macOS app with a Homebrew formula, a menu bar presence and a sound effect, aimed at someone who wants to see the angle without writing code. pybooklid is a library, so it targets developers who want to call the sensor from their own Python programs and handle the values themselves. Neither approach is better in the abstract; if you are building a script that logs hinge movement over time, a library is the natural fit, and if you just want to watch the number move, the app is. The README does not compare the two beyond the one-line description, and it does not state whether pybooklid covers the M1/M2 models that LidAngleSensor misses, so do not assume the library solves the compatibility gap.

## Maintenance, Licence and Upgrade Cost

The repository is not archived, and the last push was on 2026-03-22, the same day release 1.1 shipped. That timing suggests the refactor release and the latest commit are related, though the README does not document a changelog. The release history shows a long gap: 1.0.3 and 1.0.2 both landed on 2025-09-06, and 1.1 arrived roughly six months later. Upgrading is low cost because there is no server component, no database and no configuration to migrate; Homebrew handles the binary, and the app has no documented settings file. The licence is Apache-2.0, which permits commercial and private use and requires that you preserve the licence and attribution notices when you redistribute. That is the practical summary, not legal advice; if you plan to ship a modified build, read the LICENSE file in the repository root, which is the only licence text available here. The README does not document a rollback path, so if a future release breaks your model, check whether Homebrew can install a pinned older version before upgrading.

## Conclusion

Adopt LidAngleSensor if you have an M4 or other recent MacBook Pro and want a quick lid angle test or a novelty menu bar readout; the README states the author has only tested it on an M4 MacBook Pro. Skip it on M1 MacBook Air and M1/M2 MacBook Pro with Touch Bar, where users report it does not work. Before relying on it, verify your model appears in the known-problematic list, confirm the Homebrew formula installs on your macOS version, and decide whether you want the audio at all, since the only way to disable it is to never click Start Audio.

## FAQ

### How to check lid angle sensor on a MacBook with LidAngleSensor?

Install the utility with the Homebrew command from the README, launch it, and read the angle shown in the app while you move the lid. The README notes the author has only tested it on an M4 MacBook Pro, so a blank or static reading may mean your model is not supported.

### Why does my MacBook have a lid angle sensor?

The README does not give a system-level reason. It introduces the sensor as hardware present from the 2019 16-inch MacBook Pro onward and answers the question of why your laptop needs to know the angle with "I don't know."

### What is lid angle sensor on MacBook?

As the README puts it, despite what the name suggests, it is a sensor that detects the angle of the lid. It was introduced with the 2019 16-inch MacBook Pro, and newer laptops probably have it.

### Do all laptops have a lid angle sensor?

No. The README ties the sensor to MacBooks from the 2019 16-inch MacBook Pro onward, and it does not claim other laptop brands have one. It also lists M1 and M2 MacBooks where the sensor reading does not work with this utility.

## Sources

- [License: Apache-2.0](https://github.com/samhenrigold/LidAngleSensor/blob/main/LICENSE)
- [Project website](https://samhenri.gold)
- [README](https://github.com/samhenrigold/LidAngleSensor/blob/main/README.md)
- [Releases](https://github.com/samhenrigold/LidAngleSensor/releases)
- [samhenrigold/LidAngleSensor on GitHub](https://github.com/samhenrigold/LidAngleSensor)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/samhenrigold-lidanglesensor
