Close
0%
0%

Hacking a iMac G5 into an HDMI monitor

Resto-modding an old 20" iMac G5 iSight so the LCD can work as an external HDMI monitor for a laptop.

Public Chat
Similar projects worth following
It seems like everyone knows someone who has an old iMac G5 in their basement, just collecting dust. There have been a few successful attempts, well-documented on the interwebs, to mod older generation G5s, but I haven't found any projects that modify specifically the 20" iMac G5 iSight (A1145) to accommodate an HDMI signal. So here we go.

I should mention that for those who are primarily interested in the destination rather than the journey, and who really just want to get your iMac's LCD up and running as an external monitor with the least amount of hassle, I recommend ordering an LCD driver controller kit for $50 off ebay. This is as near to a plug-and-play solution as exists (the monitor for this computer is the LG-Phillips LM201W01-STB2). For the rest of you, please join me in hacking this old iMac!

At first glance, turning an iMac into an external HDMI monitor doesn't seem like it would be particularly complicated. But Apple being Apple, the system is engineered to discourage unsanctioned modifications. Most of the info out there about projects like this one tends to focus either on G4 mods, or G5 17" mods, or non-iSight computers, and the interface of choice appears to be a DVI connector, not HDMI. But because DVI and HDMI are both compatible with the TMDS format, I've decided to attempt the latter (HDMI). It's worth mentioning that doing this mod on the 20" iSight iMac (A1145) is substantially different than on previous G5 generations.

The principal challenge here was a lack of actionable information about the LCD monitor: the service manual for the LCD is impossible to come by, and one of Apple's connectors inside the computer appears to be mislabeled: it says 3.3V instead of 12V for the main VCC line for the monitor. (I know I know—a mistake like this seems unlikely coming from Apple, but there it is). 

But now that we've got a working roadmap on how to deal with the various pinouts (see below), the steps are relatively straightforward: 1) remove all unnecessary parts from the computer, 2) re-route various power cables to fool the inverter board into activating the monitor, 3) desolder the tail of the cable feeding the monitor from its connector so that it can be attached to a female HDMI breakout, and 4) mount an external power switch and an internal relay switch to control the flow of current to the monitor. See the project logs for details.        

The most challenging part with this mod was figuring out how to route power and data lines. The actual process of the hardware hacking is relatively straightforward for those who have basic wiring and soldering skills. I should mention that it does require dealing with some incredibly thin wires (I used my daughter's microscope on a few occasions). 

My hope is that this project will help at least a few people down the road who are attempting a similar mod.

Adobe Portable Document Format - 69.18 kB - 06/11/2020 at 16:29

Preview
Download

JPEG Image - 220.33 kB - 06/11/2020 at 16:25

Preview
Download

  • 1 × 20" iMac G5 iSight computer with working LCD monitor Doesn't matter if the computer itself is working, as all those parts will be removed anyway
  • 1 × HDMI Type A Female socket Breakout Board I used this one from ebay: https://ebay.us/DleTEJ I recommend paying the extra two dollars for soldering, as these are some incredibly small connections (you can solder the screw terminal blocks yourself)..
  • 1 × External power switch To replace the computer's on/off button. Ideally this will be a shape that can be mounted in the same round hole where the power button is currently mounted.
  • 1 × 5V One Channel Relay Module Relay Switch with OPTO Isolation and High/Low Level Trigger selection I recommend buying a version with larger holes for mounting with M3 hardware. Some have M2 holes that are difficult to work with. I used this version from Amazon: https://www.amazon.com/dp/B00LW15A4W/ref=cm_sw_r_tw_dp_U_x_GpJ4Eb2NQV825
  • 1 × Assorted extra wires I used some from a salvaged ATX power supply. The most you'll be using them for is 12V.

View all 8 components

  • Follow up!

    Thomas08/13/2020 at 15:37 0 comments

    After several weeks of regular use, the monitor is still working fine with no known bugs. I realized in re-reading my logs that I never posted the final pinout chart for the monitor cable for connection to an HDMI connector (I've also included info for connecting it to DVI connector, for those who need that). This chart is the heart of the project and it took by far the most work to cobble together and test:

    For those of you who have made it this far in the project logs, and who are perhaps contemplating a similar hack on your own G5, please feel free to contact me with questions, either via direct message or in the comments below. Happy hacking!

  • Success!

    Thomas06/11/2020 at 15:40 0 comments

    I'm pleased to report that the project is complete and the modification is working well. Here's a rundown on the final stages of the process:

    1) The female HDMI breakout I had originally ordered worked well for testing, but I soon learned that it was not easy to mount to the iMac case. So I ordered a different breakout from the same ebay guy (see the list of project components for a link), but this time I was smart enough to pay the extra $2 for him to solder the HDMI pins to the breakout board. This soldering requires a very fine soldering tip and strong magnification. The first time I tried this I used my daughter's microscope, but even that didn't keep me from somehow shorting two of the leads and ruining the adapter—so the $2 is worth it. The pins to the screw terminals are large enough that you can solder those yourself without too much difficulty.

    2) As mentioned in previous logs, power to the monitor is controlled by shorting two of the leads from the large female connector that normally plugs into the logic board. Shorting pin 13 to ground turns on the inverter, and shorting pin 13 to 3.3V turns off the inverter. This means that a standard on/off switch for power won't give us the control we need. So instead I used a 5V relay circuit, powering it with 5V from pin 10 and ground from pin 9, and routing a branch of that same 5V line through the user's main power switch to toggle the relay on/off. On the other side of the relay circuit there were also three wires: the common wire was pin 13, which the relay connected to either GND, or pin 3.3V (from pin 8). I used a relay where the trigger could be set either HIGH (in my case 5V) or LOW (ground)—either will work for this circuit. I mounted the relay to one of the plastic posts that was originally used to affix the logic board to the computer, and then used an M3 spacer to add support on the opposite corner. 

    3) Once you've wired the monitor cable into the female HDMI breakout, be sure to go through and make sure none of the data connections are shorted. All of the "shield" wires from the data lines are ultimately connected, so you should have continuity between HDMI pins 2, 5, 8, and 11. I somehow also had continuity between HDMI pins 10 and 11, where there should be no continuity. On very close inspection (using a high-powered magnifying glass) I saw that I had somehow nicked the insulation on the data line that went into pin 10. Because the shield lines are uninsulated, this caused a short. Difficult to diagnose, but easily fixed. I should also note that my research indicated that shortening any of the monitor cables could be problematic, as their resistances are carefully balanced to prevent distortions in the image. I don't know how much of this is relevant, but I tried to leave the cables intact and the resulting image is crystal clear.

    4) It is necessary to cut off and remove the thin plastic shroud that covers the area below the screen. It is metallic on the inside and if it comes into contact with live areas of your circuit could cause a short. This happened to me while demonstrating my work to my friend who commissioned the project, which was a bit embarrassing. So cut that thing off!

    5) Pin 7 (LCD_PWM) and pin 1 (3.3V) should be soldered together and insulated with heat shrink tubing. I've read of others using a 1K resistor when shorting these pins, but I elected not to do that and haven't had any problems. 

    6) I mounted the female HDMI connector through one of the existing USB ports on the back of the iMac. Be sure you add some sort of insulating material over the pins on the connector's screw terminal block on the underside. If they managed to poke through the thin material apple has around the USB port they will come into contact with a metal layer, and this will cause a short.

    7) I was initially a bit concerned about heat, so I thought I would reinstall one of the three fans that came in the unit. But these fans...

    Read more »

  • It's alive!

    Thomas05/18/2020 at 11:49 0 comments

    If you've been following the past project log entries you'll know that I uncovered an inconsistency between how much voltage online sources say is needed to power the monitor (VCC 12V), and what the voltage that clearly labeled on one of the connectors (3.3V). I couldn't believe that Apple would make a mistake like this, so I hesitated to move ahead without some sort of confirmation (the service manual for this monitor is impossible to come by). I eventually lost patience and decided to throw caution to the wind and send 12V to the monitor to see what happened (sending 3.3V had zero result). After an afternoon of tinkering, including an hour of troubleshooting the strangest symptoms (I was misreading my multimeter—yes, it happens), I connected the monitor to my wife's laptop and this happened:

    It's alive! There's still a lot to do, however, before wrapping this up:

    1. Replace female HDMI breakout board with a version where the connector extends further out from the unit. The breakout I have won't mount very well—it will need to extend beyond the board by 4-5 mm if I want to use one of the existing USB ports on the back of the machine. Otherwise I'll need to drill a completely new hole for the connector, and this will inevitably look like garbage.
    2. Add a 5V relay switch for the jumpered wires, to be activated by a manual switch mounted on the back of the machine. I'm considering a nice vintage switch with a solid mechanical action to give the project a bit of personality. 
    3. Make sure there is no overheating happening. We are, after all, jumpering two wires in a way they aren't meant to be connected, so the possibility for unwanted heat or component failure—or even fire—is real. I'll also wire in one or both cooling fans and test.
    4. Consider adding a headphone jack and reinstall the speakers. Would need to test them first. 
    5. Reassemble the machine. 

    I'm sure many makers can relate to that incredible feeling when you've been bogged down in a difficult project and suddenly it comes to life. It's really such an amazing moment! 

  • Pinout for the 30-pin LCD connector

    Thomas05/15/2020 at 06:39 0 comments

    Not sure why, but tracking down a datasheet or service manual for the LG-Phillips LM201S01(ST)(B2) LCD monitor has been much more challenging than I would have thought (the datasheet appears to be available for download from this site, but there's a complex paywall that I lost patience with). After a week of searching, I pulled the following image off a Russian forum, and it claims to be the official pinout for the 30-pin monitor connector for our monitor:

    Russian source for LM201W01-STB2.jpg  

    This pinout matches most of the other data I have, except for one major inconsistency: this pinout indicates that VCC for the monitor is 12V power, while the labeling on the actual connector (the small connector opposite the 30-pin LCD connector) clearly says 3.3V.

    So is VCC for the monitor 3.3V or 12V?

  • We are well begun

    Thomas05/13/2020 at 20:44 0 comments

    This first project log entry comes after I've started the project, so I'll start by outlining where the project is at the moment and what the main challenges are. I've removed all the components from inside the computer except for the power supply, the inverter board, and the long snake of cables that connects the inverter board to the logic board. The fans, speakers, logic board, hard drive, and optical drive are all sitting in a pretty pile next to my workbench, likely destined for the e-waste bin (though I might reinstall a fan and the speakers if the project is successful).

    The two main challenges for this project are 1) powering the monitor, and 2) retro-fitting the monitor cable to a female HDMI connector.

    1) Powering the monitor
    This process is not intuitive, and the only reason I know about it is from a few brave souls on the internet who have somehow figured out how to do this, most notably in this series of forum posts. On this model of iMac the power supply feeds into an inverter board, which in turn feeds the main logic board with a long snake of cables that terminate in a 14-pin connector. Power for the LCD backlight comes from four cable clusters coming off the inverter board which need to be somehow activated (more on this in a moment). The data for the LCD (and a bit of power) comes from the logic board. For this project we will continue using the inverter board to power the LCD backlight through some trickery that allows us to disregard the logic board entirely. If we look at the back side of the logic board (which we have removed and discarded) you can see some of the pinout information for the cables coming from the inverter. They are printed on the board opposite the female socket: 

    Working from that and other assorted sources floating around the internet, I've cobbled this pinout diagram:

    cable_connector.jpg

    These pin numbers are arbitrary (the connector isn't labelled, so I assigned my own numbers). All of the power pins marked "ALL" are hot whenever the computer is plugged into mains power. The RUN power pins are floating: they can be activated by tying Pin 13 low (to GND), and deactivated by tying pin 13 high (to 3V3_ALL). Tying LCD_PWM high (to 3.3V) activates the LCD backlight. I'm not yet sure what the function is for POWER_GOOD and INV_CPU_HI, or whether they are relevant to our specific mission. The YouTube user "3beltwesty" has a wonderful series of short videos demonstrating some of this.

    I suspect that this process of activating and deactivating the RUN voltages is how the user will power the monitor on/off. I just need to figure out how to put in a switch in a way that is user friendly. I welcome any and all advice regarding this question.

    2) Retrofitting the LCD cable for HDMI
    This part of the project definitely feels like I'm out on the frontier, as I haven't been able to find nearly as much information as I would like about the LCD monitor cable pinout, and the information I do have is sometimes contradictory. In short, a cable from the logic board feeds the LCD via a 30-pin connector on the back of the monitor. The connector at the logic board end appears to be one of Apple's obscure proprietary connectors. Our objective is to hack the connector at the end of the cable (the opposite end from the 30-pin LCD connector) and affix a female HDMI connector in its place. We will then mount this female HDMI so that it protrudes through the back of the computer case for user access. 

    I found a very helpful forum post with a chart of the pinout of the connector on the monitor and how it would convert to a DVI connector, but there are inconsistencies between that chart and the 30-pin connector on my machine (several of the wires are a different color, and somehow there is an extra wire coming from my connector that isn't accounted for in the chart). Here is a photo of the 30-pin connector that attaches to the LCD on my machine:

    96674217_269441114192078_2912064298580705280_n.jpg

    After peeling back some of the...

    Read more »

View all 5 project logs

Enjoy this project?

Share

Discussions

viktor wrote 07/26/2021 at 13:58 point

Wow, I just happened to stumble upon this! Very cool! Just curious, do you, or anyone else following this project, think that the same thing would be doable for the 27' late 2010 iMac?

BR,

Viktor

  Are you sure? yes | no

Rodrigo wrote 12/06/2020 at 18:11 point

Hi Thomas, thanks for sharing! May I ask you about the PSU? I can't figure out the pinout, it looks like it's 2 pins for the GND, 2 pins for 12V and 1 for 3V right? Since i am not that skilled I opted for the plug and play solution. Now I need 12V to feed the LCD driver controller, but I am not sure which is the right way to do it. Thanks for your help! 

  Are you sure? yes | no

Thomas wrote 02/21/2021 at 12:54 point

Hi Rodrigo! Just seeing this now—sorry for the late reply. For my application, the pinout of the PSU wasn't relevant, as I was dealing with the lines from the LCD driver. So unfortunately I don't have a pinout for you. But a multimeter should be able to answer that question without too much difficulty. Just be sure you don't brush up against the AC side of the circuit when you're metering. :) 

  Are you sure? yes | no

Timescale wrote 06/16/2020 at 20:27 point

I often come across old iMac both G4 and G5 (I'm partial to the G4 myself, but the white G5 is a pretty machine) units with something wrong with the screen. This does mean they are often almost for free. Seeing as those panels in working condition were not really stellar compared to a modest modern screen, I think that eventually I'll get one of those and simply shoe-horn in a new panel.

  Are you sure? yes | no

Thomas wrote 06/16/2020 at 20:36 point

Makes sense. Shouldn’t be too difficult as long as the only thing you’re using from the computer itself is the power supply. 

  Are you sure? yes | no

PeterOK wrote 05/15/2020 at 15:33 point

Back in 2013, I tried and succeeded in converting a 17" imac in to a DVI screen. I did murder one but all in the name of progress. I remember that I have a folder with all the resources that I gathered back them, but I simply can't find it anymore. I know that a missing folder of resources doesn't help much but I'll be happy to spare with you if you get stuck.

  Are you sure? yes | no

Thomas wrote 05/15/2020 at 16:11 point

Thanks, Peter! Do you happen to remember what voltage you fed to the monitor via the 30-pin connector? I suspect 12v, but I seek confirmation. I also have a more general question about DVI and HDMI. If I understand correctly, an HDMI cable usually carries 5V between computer and monitor on its own dedicated 5V line. It seems from my pinout that that won’t be the case in this hacked configuration, since I’m providing 12V power to the monitor’s 30-pin cable directly from the computer’s PSU. Do you think that’s problematic? Let me know if you prefer to chat off list. 

  Are you sure? yes | no

PeterOK wrote 05/15/2020 at 16:29 point

I think/seem to remember that the 12v isn't needed, I believer that's how I murdered the first iMac I tried to do the conversion on. I also just remembered this website http://www.dremeljunkie.com/ he has a lot of great information on the conversion

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates