Engineers Wenting Zhang and Yukidamayaki have taken a bit of Apple’s newer historical past and made it a show for any gadget that may speak MIPI Show Serial Interface (DSI): the divisive Apple Contact Bar.
“Lately, my buddy Yukidamayaki-san desires to make use of the [Apple] Contact Bar display screen for some DIY tasks,” Zhang explains of the undertaking’s origins in a video dropped at our consideration by Adafruit. “He requested me to assist reverse engineer and drive that lengthy display screen. I can not discover any details about it on-line, so I’ve to do it myself. Apple’s display screen in all probability has a custom-made controller, that means I merely can’t discover the datasheet.”
First launched in 2016 on that yr’s MacBook Professional refresh, the Apple Contact Bar changed the standard operate key row above the quantity keys on the keyboard with an ultra-ultra-wide OLED touchscreen show able to customizing its performance based on what software was in focus at any given time. With restricted take-up by third-party software builders and complaints about its impact on battery life, Apple eliminated the Contact Bar and changed bodily keys within the 14- and 16-inch MacBook Execs launched in late 2021 — although it stays a function of the smaller 13″ variants to this present day.
As a bit of {custom} Apple {hardware}, the Contact Bar was by no means designed to run on the rest — however that wasn’t going to cease Zhang. “[I’ll be] beginning immediately from the unique MacBook Professional, probing the alerts on the [device] to grasp learn how to management the display screen,” Zhang explains within the video. “One can mainly probe on the board to derive the pinout, ‘trigger there usually are not many alerts to start with — or cheat a little bit bit by simply wanting on the schematics for repairing.”
The probing unveiled a pinout with 3.3V and 1.8V energy provides, a seemingly-unused I2C channel, and a single-lane MIPI Show Serial Interface (DSI) connection. “The primary job in writing the driving force,” Zhang provides of the following step within the course of, “is to know what must be despatched over throughout initialization. The reply to that’s hidden in [the] MacBook.” With a logic analyzer in-hand, the preliminary setup — which, handily, takes place in DSI’s low-speed mode — was captured and decoded. A little bit extra work had it speaking to an NXP i.MX RT1176 microcontroller and displaying photos.
The initialization course of consists of some “secret” instructions, however the show appears to work even with out them within the open driver. (📷: Wenting Zhang)
“The display screen doesn’t assist video mode in any respect,” Yukidamayaki provides of the pair’s discovery. “It is a command-only show. The initialization sequence does comprise some secret, non-standard instructions, however the show appears to work simply superb with out them. The touchscreen [interface] is but to be executed. It is utilizing the identical Broadcom multi-touch ASIC [Application Specific Integrated Circuit] discovered on different Apple merchandise.”
Supply code for the reverse engineered driver and the {hardware} developed as a part of the undertaking can be found on Yukidamayaki’s GitLab repository underneath the MIT license and CERN Open {Hardware} License 2 – Strongly Reciprocal respectively.