Engineers Wenting Zhang and Yukidamayaki have taken a bit of Apple’s more moderen 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 good friend Yukidamayaki-san needs to make use of the [Apple] Contact Bar display screen for some DIY tasks,” Zhang explains of the challenge’s origins in a video delivered to 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, which 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 normal operate key row above the quantity keys on the keyboard with an ultra-ultra-wide OLED touchscreen show able to customizing its performance in response to what utility was in focus at any given time. With restricted take-up by third-party utility 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 Professionals 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 anything — however that wasn’t going to cease Zhang. “[I’ll be] beginning straight from the unique MacBook Professional, probing the indicators on the [device] to grasp methods to management the display screen,” Zhang explains within the video. “One can mainly probe on the board to derive the pinout, ‘trigger there are usually not many indicators to start with — or cheat somewhat bit by simply trying 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 principle activity 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 bit of extra work had it speaking to an NXP i.MX RT1176 microcontroller and displaying pictures.
The initialization course of contains some “secret” instructions, however the show appears to work even with out them within the open driver. (📷: Wenting Zhang)
“The display screen doesn’t help 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 advantageous 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 challenge can be found on Yukidamayaki’s GitLab repository below the MIT license and CERN Open {Hardware} License 2 – Strongly Reciprocal respectively.