This is both hardware and software, but I put it in the hardware category because it strikes me that’s where the biggest pieces are.
Background (aka “The Problem”)
One of the current limitations of M1 Macs is that when they are connected to 3rd party monitors (other than a few exceptions like the UltraFine), you cannot use the control the brightness and contrast from within macOS. You have to make any adjustments in the monitor’s built-in controls… which we can all agree are terrible.
The problem, which I don’t understand fully, is something about M1 Macs not supporting “DDC” (Display Data Channel). I don’t know if they can’t or just don’t yet. But if you look at pretty much all of the various apps and utilities out there, none of them work with M1 Macs.
I came across Lunar.app several months ago when it was in beta, and it was just recently released.
It’s the first app that tried to work around these limitations on M1 Macs using software, and the result was pretty dang good, but because it’s a software solution, it’s not quite the same.
Of course it was far better than all of the other options…of which there were none.
Lunar + Raspberry Pi
Once the project hit version 1.0, there is a free version and a ‘pro’ version. Those who had supported the project while in beta () were given a free year (I think, maybe more?) of the ‘Pro’ service.
With that came another intriguing idea.
The developer figured out a way to use DCC by connecting the monitor to a Raspberry Pi via HDMI.
Once you have a Pi set up and connected to the monitor, the app has a “one click install” (you basically just give it the login information for your Pi, and it does literally everything else) and installs/configures the Raspberry Pi with the necessary software so that Lunar, on your Mac, can send instructions to the Pi, which changes the brightness and contrast of the monitor.
Now that is a fun and clever “hack”!
Lunar also includes a command-line tool so you can control Lunar via scripts (which also means AppleScripts, Keyboard Maestro, Stream Deck)…
I went with the CanaKit Raspberry Pi 4 8GB Starter Kit which is probably overkill for this particular project (there are, no doubt, cheaper Pi setups out there) but I figured it might be fun to have a Pi on my desk for other things as well.
More info here: