This is a post I will be date stamping & updating of my idea to squeeze a Apple Macbook pro 13″ mid 2014 into a old iMac g4 shell.
The story behind why I decided to do this was fairly simple… I bought a very cheap macbook pro 13″ mid 2014 a few years back off Facebook market place with a broken screen to run as a backup server connected to a usb hard drive.
I eventually got fed up of the SMC pranging out whenever I did an update without a screen attached, which required me to plug it back into a monitor.
Replacement retina screens are extortionate so for I looked at older iMacs I could possibly replace the logicboard with my macbook logicboard. I stumbled across the g4 (and with it the memories of the g4 my grandma used to have) and thought that would be cool.
A couple of hours here and there researching if its possible to convert the display signal to HDMI (which it is, big thanks to DremelJunkie) and I was away bidding on ebay & planning what would possibly be my biggest non code project to date.
So here goes, my neglected blog may just get some attention… A lot of people have also asked me to document my build thread with images on imgur. For some reason Imgur won’t let me update albums so I will be doing “offloads” of each major stage too for updating my badly named reddit thread
Before I picked up my £19 bargain iMac g4 off eBay I measured the macbook logicboard & downloaded a sketchup model of a g4, the base was around 10″ which seemed about right on the images in comparison to a 17″ screen as a baseline. I further checked the Mactracker app and confirmed the base diameter was in fact 10.6″.
This meant that the logic board would fit with a couple of cm on either side, but the right hand side I/O board (HDMI / USB / SD) would struggle to fit, as would the heatsink & fan.
Luckily the I/O board was on a flexible flat cable (FFC) I was confident I could place the I/O board vertically and and the heatsink was an equal pcd / screw placement so I could simply rotate the OEM heatsink 90 degrees.
When I got the iMac g4 and tore it down… this was not the case…
The logicboard fit fine, with just enough room to get cables in, and the I/O board would sit vertically after removing the small metal slither off the I/O connecting FFC but the heatsink was going to be a major issue. It would just about fit rotated 90 degrees but the circuit board components were far to proud to let the heatsink sit flat on the processor.
Idea 1: Immediately I debated just bending the heat pipe to clear the components, but having recently watched a youtube video on how heatpipes works (please watch this if you haven’t already) I knew bending this pipe myself would drastically negatively effect the cooling.
Idea 2: I looked at “shimming” between the heatsink & the processor with a block of copper and extending the screws. This was the front runner even though I knew I would lose some cooling efficiency by shimming.
Idea 3: Then after trawling the RS heatsinks catalogue (and there is a fair few heatsinks) though I didn’t find a large/capable enough heatsink… but i did find that a desktop northbridge cooler is roughly the same size as what I need.
Luckily amazon had just the ticket though, a miniature cpu style heatsink but made for northbridge chipsets, and people in the reviews section had been seeing considerable cooling with it.
First Dremel Action
My new heatsink arrived fairly promptly and I started to measure up and transfer what I needed to cut onto my heatsink base to avoid, I also measured up and drew this in sketchup.
I realised fairly quickly that the heatsink base was just a tad too small to drill the mounting holes for a correct fitment, and with the size screws I needed to use (1.6mm thread diameter) I was pretty sure just whacking washer on it would not hold the heatsink down.
I started dreaming up concepts such as a cross piece over the top of the heat pipes but couldn’t easily source longer screws, eventually I went with two clamps / bars, which should easily clear components, but still get a grip on the channels on the heatsink left.
Dry fit complete and I was surprisingly happy with how well it fits and mates with the processor surface. Next step was to add a tad of thermal paste and fire it up.
But before I fired it up, I was thinking wait a minute, how do I start it when I have no keyboard. Luckily apple provided two methods of starting the mac without a keyboard. The first is simply by attaching the charger when the mac is fully shut down (though I think this is only first boot after battery is reconnected) and the second is by using “power on pads” on the logicboard. (if looking at the board with the macbook casing upside down trackpad towards you, its the left two pins)
Its alive… but with issues. It was running incredibly slowly.
I had heard that without a battery the retina era of macbooks run at a quarter speed to stop any issues with the lack of battery resulting in under powering of the system.
I found a post on how to check the thermal throttling and temperature of the processor, to measure the amount of thermal throttle I used two tools.
The first being the inbuilt pmset command
pmset -g thermlog
The second being the intel power gadget which also monitored temperature (which was necessary in this instance)
So whilst this was very slow and took around 25 mins just to install the Intel power gadget. It was a relief to find that once installed the cpu temperature was in fact really cool. but we still needed to solve that throttling issue.
My initial thoughts were “its obviously not detecting a cooling fan, therefore must be throttling”
I couldn’t have been more wrong, the only three things that are required to run the logicboard at full speed are the I/O board, the battery and… drumroll please… The trackpad 🤷♂️
Quick Test Fitting
Next it was on to trying to cram all of the hardware inside the iMac shell
Logicboard Mount (Edited 2020-03-28)
Some measurement, 1 completely failed print due to bed leveling issues & 1 print where shrinkage was an issue and nothing lined up, we have a logic board adapter mount.
The main 4 post holes work a treat and spacing between the bottom tray and original iMac heatsink dome structure are spot on. But there are still a few minor issues with alignment of the posts for the macbook logic board. For now thought we’ll let these slide, I will more than likely be mounting other items to this frame later down the line (trackpad / IO board / batteries) so will probably reprint with a higher infill for strength & include the extra bits to mount other items.
Squeezing Everything Else In
On a positive note, the trackpad fits almost exactly into the existing slot for upgrading pcmci cards on the OEM logicboard, the flex cable also fits perfectly into the logicboard with no issues. Its an odd one that the macbook needs this to run correctly, but it tucks out the way quite nicely here and we don’t actually need to interact with it so happy days.
The batteries on the other hand are a bit more complex, they are also required to run the macbook properly. In their original “laid flat” configuration there was no chance they were fitting in the iMac body. Luckily their mounting brackets are fairly flexible so with a gentile bend the multiple cells are fairly compact.
It may be the case that I need to run some cooling to these but I will carefully monitor temperatures, and in fairness they will never be running through discharge cycles as it will be constantly powered on (as it has been for over a year prior to this)
Firstly, In the DremelJunkie blogs a DVI to PCB mount is used as the pins for the iMac screen signal separated from the OEM connector are a good size to stick straight onto the pcb mounts. With the space limitations I first ordered a HDMI pcb mount but the density of pins was far to complex for my cack hands to plug in or solder.
I ended up finding a HDMI breakout board with screw terminals (38mm protruding) which was listed as being a solution for routing hdmi cables where the connector ends need to be removed before routing.
Though this is nowhere near as small as a hdmi plug thats PCB mountable (around 10mm protruding) I believe with a bit of dremeling of the existing skeleton of the iMac I would have ample room and it would be a lot faster to remove some case than for me to spend hours trying to plug microscopic pins in.
Just a quick test of it resting in the skeleton (not in and ideal place but shows there is room for it hidden in there somewhere) as well as a first mini bracket made up.
- I’m awaiting my 16-24v input pico PSU to provide the right voltage for the screen inverter, it shouldn’t need to put out much power so I’m hoping to run this piggyback off the 60w magsafe connector which provides circa 16.5v. If this isn’t enough I may need to rethink my power supply woes and use a small automotive inverter to power the magsafe cable off of the 12v pico psu
- I need to check clearances as I would love to mount my servers USB 3.5″ 8tb usb drive inside the case so its a truly “all in one” package though I fear this will be a really big push to manage.
- And much… much more
As ever… I will continually update this thread as I go along, but for now.
To be continued…