Log iMac G4 Flat Panel MINI (NUC powered) at 54% scale


Caliper Novice
Original poster
Oct 19, 2018
I have run across a couple of projects that were the inspiration to this build. One claims to be the world's smallest functioning iMac, but in reality it is a Raspberry Pi running Linux with a MacOS theme, and cannot run real MacOS apps: links below. The second one is closer to what I want to achieve for the look, but it is only an iPad/iPod/iPhone holder, and no with other connections available, nor can it run real MacOS apps: links below. I want to run a full MacOS operating system on a smaller form factor. The format of choice will be explained later, but it ends up being an iMac G4 Flat Panel (the lamp) built at 54% scale. I captured hundreds of pictures through this build, too many to share here, but I will include as many as I can.

-World's smallest iMac: It's twisterOS on Raspberry Pi, not MacOS.

-iPhone/iPad Holder: It's an iPad, not MacOS.

Parts List:
-Intel NUC board, with RAM, M.2 SSD, WiFi chip and internal antennas
-7.9" or 8.9" LCD/IPS panel (VGA, eDP, or HDMI/MiPi)
-Appropriate cable for motherboard to LCD (and possible adapters)
-6x8 inch piece of thin acrylic for LCD edge
-Keyboard and Mouse (wired or bluetooth)
-Thick sheet/plate aluminum (about 5x5 inches, 0.25 inches thick)
-50mm Fan (2 inch), either 5V or 12V, two wire
-SPST switch normally open (for power button)
-USB adapter to audio in/out (secondary to the motherboard audio jack)
-USB powered mini audio amplifier
-TRRS socket and plug (for the power speaker connection)
-Two silver dome mini speakers
-Misc tiny wire leads that match motherboard headers (1.25mm/1.0mm pitch)
-Miscellaneous small screws
-Misc spring washers to apply tension to the neck, sometimes referred to as "wave washers"
-Primer and Paint (white, clearcoat, etc)
-Time and patience
-Desire to succeed

Tools List:
-3D design software on a computer
-3D Printer
-Suitable filament for 3D printer
-Digital or Analog Caliper
-Jigsaw or Scroll Saw
-Small accurate blade like Xacto
-Rotary tool with small bits
-Hand files of different shapes and sizes
-Various grits of sandpaper or sanding blocks, prefer wet versions
-Dust/Vapor mask for painting
-Power drill, corded or portable
-Drill bits
-Soldering Iron with flux and solder
-Heat gun, lighter, or mini torch (for melting parts together)

Reference Materials:
- https://everymac.com/systems/apple/imac/specs/imac_1.0_15_fp.html
- https://apple-history.com/imac_flat
- https://en.wikipedia.org/wiki/IMac_G4
- A real G4 iMac Flat Panel (I have both the 15" and the 17" models)

Why this iMac? After converting my Macintosh Classic II to a color LCD, I had acquired an extra screen of the same resolution. I have seen newer MiPi based screens of much higher resolution, so I ventured to purchase one. I used this higher resolution screen as a test in building another converted Macintosh Classic II for a friend. I then needed a project for the additional small screen, and considered some options. I considered the first iMac, the translucent colored ones, but I can't really print the clear plastic and molding was beyond my skills and tools. I considered the educational eMac with the flat front screen, but my printer (at the time of concept) was limited to a 5.9 inch cube. I would have to build it in small parts and do a lot of gluing and sanding. I finally considered the iMac G4 Flat Panel, and with a 4x4 inch motherboard of the NUC, it fits inside a 5.9 inch circle (giving me a 54% scale), printable as a single piece on my 3D printer (the screen bezel and back would have to be multiple parts glued together, but mostly hidden).

Once the format was chosen, a lot of choices came with it: What to leave in, what to leave out, what to add? The CD/DVD obviously can't be made smaller to fit inside. A floppy or ZIP drive would also not fit. After playing around with some ideas and finally getting my hands on an actual Intel NUC, I saw that the front ports would be the optimal item to face out the front CD hole. Since this is not Apple hardware, I had to make sure that the NUC I had was Hackintosh compatible. I got the MacOS running for starters, and will go back and fine tune things later. So now I could add Wifi, Bluetooth, and possibly a Retina display. I also discovered the NUC had an eDP (embedded DisplayPort) which could also run a display panel. As I built and prototypes some parts, I realized I also had some small chrome speakers from an old iMac internals that matched the look of the original G4 iMac speakers. This was an additional requirement to add an audio amplifier to drive the speakers. The flexible neck has position limitations, and must support the weight of the display, as well as carry all the wiring to support the devices in the display panel. The original G4 iMac has a power indicator and a microphone in the bezel of the display. That is an additional 4 wires to add to the neck (after the USB power and HDMI signal), but at a 54% scale, and it being 3D printed PLA, I don't think I have the space for those items.

I don't use typical CAD software, but an old animation software called LightWave 3D. I learned this on an Amiga and Video Toaster back in the 90s, and I have kept it updated over the years and continue to use it. I thought maybe I could find a 3D model online, but being the frugal type, I did not want to pay $50 plus dollars for some versions that were out there. So I modeled my own. I started with my gutted 15" iMac and started measuring things and building my model. As I acquired parts, I modeled those into it. It is a good idea to have everything physically so you can calculate placement and still have enough airflow for cooling.

My tests with various size fans and voltages left me with a 50mm 12v two-pin fan. Although the fan will be powered by a 5V USB port, it should have ample air flow out the top of the dome. To reduce restriction, I enlarged the holes slightly. The 5V USB test fans seemed to be too loud for my taste in this project.

Originally, I wanted the NUC motherboard with the removable components facing downward, so they could be accessed through the base panel, just like the original G4 iMac. While good in theory, it did not line up well with the CD flip down cover on the front. I would have had to move the motherboard up higher, increasing my 5.9 inch circle and beyond my printers capabilities. So, I flipped the motherboard and the CPU cooler is now facing downward, allowing the front and rear ports to line up properly with the holes. The original G4 iMac had all the ports along the rear curved surface. Rather than add extra cabling and complexity, I opted for a copy of the front port to be permanently opened at the rear, exposing the video ports, Ethernet, power, and dual USB. I had to slightly enlarge the opening to make access easier. The CPU cooler airflow will be below these ports, but should have a faceplate that forces it to exit the structure.

The speakers were easy and quick to model. The tiny chrome dome speakers I had were slightly larger than a 54% reduction, but still fit into the exterior shells at 54%. Since I can't print clear PLA, I will opt to paint them white, like the shell of the iMac. These speakers are rated at 5W and 8 Ohms. I found a small USB powered audio amplifier that will deliver 5W at 2 Ohms, or 1.5W at 8 Ohms. I will connect this to a USB headphone/mic adapter and solder everything internally so that the forward facing audio jack is still available to the user. The exterior speaker connection is a TRRS 3.5mm (1/8 inch) phono plug so that I have 4 wires available. The audio amplifier has built in overload protection so it should not be problem is someone plugs in the wrong device (fingers crossed).

I printed partial components to test fit and functionality. When I got to the point where I thought I had modeled everything, I decided to print the complete dome, and it took over 40 hours on my printer. Then I realized I forgot to leave a hole for the power switch. Rather than redo a 40 hour print, I found a small enough button and headphone jack to put on the lower base piece. I had to increase the lower base piece slightly to accommodate those two items. I have a large bin of sample and test prints from developing this design.

Just before finishing all the 3D parts, my printer started acting up. It failed on two attempts to complete the lower base. So I started some maintenance on the printer, and seemed to have broken it more. So, now pending some replacement parts, I can focus on electronics and painting the existing parts while I wait for the printer repairs. If no repairs are possible, I will opt for a new printer.

The 7th Gen NUC is slightly different in dimensions than the 5th Gen NUC, so I had to reprint the shell anyway. I put the cutout a little too close to the outer shell, and there are a few pinhole gaps that paint will hopefully fill in. It seems every NUC is a little different, so front and back IO plates have to be adjusted for the ports that exist on each motherboard. I will likely create a 2nd build with the 8.9" screen and another NUC.

The neck was difficult to fit wires inside, and I had several 'ultra-thin' HDMI cables that were really not that much thinner than the average. I ordered a 'Nanosecond' wire which claims to be the world's thinnest HDMI cable. Another design flaw: The top of the dome has a hole for the neck measuring 1/2 inch. The regular size HDMI is over 1/2 inch and will not fit through. Mini-HDMI with a fat shield will not fit through without some carving, so I opted for Micro-HDMI and an adapter to bring it back to full size HDMI at my display controller. The neck is not spring loaded for the weight. I opted for spring wave washers to add tension at the joints. It is not an ideal solution, but will suffice for now. The actual completed screen weight is almost 9 ounces, so there can be a lot of pressure on those small joints.

The front flip down cover is very fragile. I needed the clearance for USB to plug in, and in hind sight, I should have just made the opening larger to accommodate the door hinge. Several designs were attempted, and all failed by breaking at weak points. I finally came up with a design that utilized the strength of the 3D printed layers by printing 3 pieces flat, then snapping them together at the angles required for the piece to work. Instead of gluing, I used a mini torch to heat an Xacto knife and melt the pieces together near the seams.

Testing Hardware and Software
In hindsight, I am going to suggest this be the first step before the prototyping. As I gathered components and built things, I found some incompatibilities, and I had to work through a few things.

The first NUC I bought was a 5th Generation i5 model. It had built in HD 5500 graphics, eDP and two mDP ports. The retina 7.9" 2048x1536 screen I had did not like MacOS. I then bought an 8.9" 2560x1600 panel and it has the same issue. My original 7.9" 1024x768 seems fine, but runs best on VGA input, which needs several adapters from mini-DisplayPort as well as 12v to operate. And a VGA cable is not thin enough to run through the neck. I bought another NUC, a 7th Gen i3 model. This has an eDP and two HDMI ports. I really want to run the display from an internal port, but finding the correct eDP connector and pinout is stretching my Google-Fu capabilities.

Some of the HDMI to MiPi panels look purple in MacOS. This is due to monitor EDID information passed back to MacOS upon initialization. I found a hack to force it from YPbPr color space to RGB color space to try and fix that issue, but so far it has been unsuccessful. I used another tool called Hackintool and it created the correct profile and resolution options and both the 7.9 and 8.9 screens work fine on the 7th Gen NUC.

I utilized a USB to headphone/mic adapter for the powered speakers, as this device is always recognized by all versions of MacOS. I removed the plugs from the board, and soldered leads to a connector for the motherboard. A PAM8406 USB power amplifier is used to amplify the headphone output to the speakers. Soldered everything together and powered the amp off the SATA power port. There is a little bit of hiss when things are playing, not sure if it is a power issue or shielding issue. The amp has a 1000uf 10V capacitor across the power input, so maybe I need a faraday cage (tinfoil or aluminum tape on the interior?).

-Catalina with Clover bootloader to get everything working.
-Possible screens are:
**** -MiPi 7.9" 2048x1536 (iPad 3), USB powered (does not like the HD5500)
-VGA 7.9" 1024x768, 12v power required only 3.3 and 5v on NUC, 12V up-converter didn't work
-MiPi 8.9" 2560x1600 (iPad 4), USB powered (does not like the HD5500)
-eDP 8.9" 1920x1200, eDP powered

Prep and Painting
-sand, sand, sand
-prime, sand
-paint, sand
-clear coat, clear coat

As I started to sand and paint items, it was taking a long time to dry/cure in the unheated garage in unseasonably cold weather. So I thought I could bake it at low temp. Due to my impatience, the lowest setting on my kitchen oven is 175F, and PLA actually deforms and shrinks around 125F. I ruined several pieces and the only way to get back on track was by reprinting them. I chose white PLA this time, so if I have to use them without paint, it will suffice until I have time to do the painting.

I did some painting, like the fake chrome on the arm, and a 2nd set of components for another build are being painted. It is just overly time consuming and I wanted to share this build with the world as soon as I could.

Final Assembly

1. Display
a. Insert screen into bezel frame. Apply a small amount of hot glue to get rid of any wiggle.
b. Install clear outer rim. Apply a small amount of hot glue here as well.
c. Install driver board mount, driver board, and cables.
d. Insert power and HDMI into the neck and screw it together.
e. Insert neck into the back of the display panel and secure neck with screws.
f. Connect display cables to driver board and attache panel back to front bezel. Attach with screws.

2. Top Dome
a. Add a little lubricant to the neck base and insert into the top of the dome.
b. Connect the retaining clip to the base of the neck inside the dome. Route cables out the hole in the fan trim.
c. Install 50mm fan with 4 screws.
d. Adhere Wifi and Bluetooth antennas to interior of dome.
e. Use hot glue to hold USB-audio board and AMP to interior of dome.
f. Connect all cables to motherboard (NUC).
g. Insert motherboard and secure with 4 screws.

3. Bottom Shell
a. Install power switch and TRRS socket into base. Hot glue power button cover to power button.
b. Connect wires to motherboard.
c. Insert IO panels into dome.
d. Insert front cover.
e. Attach bottom shell to dome shell with 4 screws.
f. Adjust front cover to fit in hinge point.
g. Attach base aluminum plate to bottom shell.

4. Final stages
a. Attach power cord.
b. Attach HDMI from display to back port
c. Turn on mouse and keyboard.
d. Turn on iMac Mini.

Original iMac G4 Flat Panel iMac Mini G4 Flat Panel
Resolution1024 x 7682048 x 1536
CPUPPC G4 800MHzIntel i3-7100U 2.4GHz
GraphicsnVidia GeForce 2 MXHD 620
Memory1Gb max16Gb
Storage60Gb 3.5 Hard Drive256Gb M.2 SSD

This build took hundreds of hours to plan, 3D print multiple times, test prototypes, assemble and reassemble. In the end, it was worth the learning curve. I also purchased a new 3D printer in the process and learned about painting PLA. Now I have the worlds smallest fully functional iMac Flat Panel. A vision come true.


Shrink Ray Wielder
Silver Supporter
Apr 2, 2020
There is a little bit of hiss when things are playing, not sure if it is a power issue or shielding issue. The amp has a 1000uf 10V capacitor across the power input, so maybe I need a faraday cage (tinfoil or aluminum tape on the interior?).

First of all, very nice project!

Concerning the hiss: I tried something similar before. A mini PC with integrated USB DAC and 100W class D amp. All powered by one internal 19V power supply. Unfortunately I got the same hiss issues like you. Using DC power filters improved it a bit but not much. I also tried your idea with shielding the amp by some additional metal case but this also didn't work for me. Using a separate power supply for the amp I got rid of the hiss but I could still hear the "CPU working" through the speakers.

Couldn't you use the NUCs headphone connector and build the small amp in one of the speakers? Maybe this would work.