Replacing a 2010 iPad's Internals with a Raspberry Pi CM4
See how one maker was able to swap out the mainboard of an iPad for a Raspberry Pi Compute Module 4.
The classic iPad
All the way back in 2010, Steve Jobs announced the very first iPad, which was a revolutionary design for the time, owing to its large touchscreen, a plethora of connectivity options, and a sleek aesthetic. But over a decade into the future, what was once the latest-and-greatest is now starting to show its age, and therefore, is in need of an upgrade. Evan on Hackaday.io decided to replace the internals of his 2010 iPad with a modern Raspberry Pi Compute Module 4 (CM4) that would allow the tablet to browse the web once more while still preserving nearly all of the existing peripherals.
Starting the project
Evan began this endeavor by first opening up the iPad's chassis and isolating the main board, which houses the CPU, various controllers, power management chips, and much more. He discovered that although the TI CD3240A1 is the touchscreen controller, he could swap it out for a much more accessible MaxTouch controller from Microchip. The connector running from the screen to the board contains many sets of parallel wires that detect where a field is disturbed relative to the grid. In this case, the iPad has 40 transmission lines and 30 receive lines, except split into 30x2 on the ribbon cable, for a total of 102 pins including grounds. From here, he designed a simple PCB with a receiving connector for the ribbon cable and the touch screen controller.
Outputting sound
Although Evan states that the sound card was a low-priority component, since networking and display should have taken precedence, he still went ahead with it due to the connector's location next to the touchscreen connector. He was able to source a codec from TI that contains a pair of class D speaker amplifiers, an amplifier for the headphone jack, and a few ADCs for using microphones — all in a QFN package, which made creating a PCB far cheaper.
The PCBs
After designing the touchscreen PCB, Evan realized that due to the controller's ball grid array (BGA) package, achieving a layout at such high component densities would be quite expensive. Instead, he opted to swap out the previous controller for one of Goodix's GT9113 ICs. In addition to this daughter-board, a primary main board was also designed that contained circuitry for the remaining peripherals such as the headphone jack, sound codec IC, and all of the necessary connectors.
Video
The Raspberry Pi CM4 supports four different protocols for outputting a video signal: HDMI, MIPI DSI, DPI, and composite. However, the built-in screen requires an LVDS signal, and the classic Apple 30-pin docking port at the bottom uses DisplayPort. This forced Evan to select a pair of bridging chips that receive the incoming video data from the CM4 and output it in the correct format for the iPad.
Powering it all
In order to power the CM4, Evan designed a custom battery controller based around the bq25895 IC, which can provide up to 3.1A of current at 5V if a diode is added. After running into a brief problem regarding a pin not being set, the circuit worked with the iPad's large internal Li-Po battery pack.
Getting it to work
At long last, Evan was able to output a color test pattern on the iPad's built-in screen, albeit with some issues regarding device drivers and boost converters. One major PCB redesign later and some impressive hand-assembly, almost everything on this modified iPad now works. One major task that still has to be tackled is the lack of WiFi, but that should be addressed soon.
To track Evan's progress on this very involved project, you can read his update posts here on Hackaday.io.