ThunderNerd
Project Home
Video
Controls
Firmware
LED Backlight
Map
ThunderNerd


iMac G4 Makeover
Motherboard, Video, Fans,
Enclosure and LED Backlight


An Open Source Hardware/Firmware/Software Project 

"The Soldering Iron is my favourite Programming Language." ~ Bob Pease

(Early days. Most links do not yet work. Active links marked like this.)
Like us on facebookOverview
The purpose of this project is to enable the use of older iMac G4 enclosures and displays with more modern hardware. As some people would like to squeeze serious horsepower into that little dome the project includes temperature sensors and fan drivers. In addition, the project will develop LED backlights for all G4 LCDs (15", 17" and 20").
Find us on facebook  

iMac G4 This project is being published under the TAPR open source hardware license and the main stages of the project are detailed below with more design consideration discussions and greater detail on the individual pages:

Video Interconnect Board page here.
Controls Board page here.
Controls Firmware page here.
LED Backlights page here.
Power Supply board here.
Construction details page here.
Cross-platform GUI page here.
Replacement motherboards here.
Replacement OS discussion here.
(Click thumbnail)
 
Design Scope
This project is intended to be versatile and cross-platform to get as much use out of the iMac enclosures and displays as possible.  Outline requirements are as follows:

Support all sizes of iMac LCD from a DVI port.
Support PWM enclosure/CPU fans and drive regular fans with an FET.
Support temperature sense and drive fans PID on Linux, Mac and Windows.
Support LED backlight control from Linux, Mac and Windows.
Support existing iMac CFL backlight control from Linux, Mac and Windows.

The main elements of the project (video interconnect, fan controls and LED backlight) are to be as autonomous as possible so they can be used independently.

1) Video Interconnect Board
DVI vs othersThis board will connect a DVI port to the existing iMac LCD video connector. In other words, the black video cable from the LCD arm (that normally plugs into the iMac logic board) will be plugged into an adapter board the other end of which will plug into a DVI connector on the new motherboard or graphics card. 
See Controls Board (2).

A DVI connector is shown right. This project will never support any form of analog video such as Component (RGB), Composite, S-Video or any variation of VGA.
 
Progress: (Design page here.)
Schematic substantially complete.
PCB layout done subject to change.
Solid modeling not started.
(Click for Video Connectors)
2) Controls Board
This board will be made on one PCB alongside Interconnect Board (1) to help keep the costs down. Either board can be snapped off and used independently.

Progress: (Design page here.)
Schematic substantially complete.
PCB layout done subject to change.
Solid modeling not started yet.

3)  Controls Board Firmware
This is code for the embedded brain, which is a PIC 18F27J53.  My version will be in PICBasic Pro and will be published under the same open source hardware license (TAPR) as the rest of the project. There are some great IDEs/compilers out there and it would be good to see this developed and ported to other languages/platforms.

Progress:  (Design page here.)
Started, waiting for stable hardware design.

4)  LED Backlights
These are the long thin boards required to position (and diffuse!) a row of LEDs in place of the existing CFL backlights. The LED boards will be run as a separate project from the video interconnect and controls board PCB. The LED backlights will be suitable for use with existing iMac logic boards (motherboards) and can be retrofitted to all sizes of working iMac LCDs.

Progress:  (Design page here.)
Schematic substantially complete for 17".
Solid modeling not started.
PCB layout waiting on prototype testing and mechanical design.

5) GUI for USB HID
The controls board can accept an LCD brightness signal as either PWM or an analog control voltage. Not all replacement motherboards will be able to output this signal, so a stand-alone brightness control program is required to drive the backlight over USB. I'm an experienced EE/hard/soft/embedded all-rounder kind of guy and up for most aspects of this project but need help in a couple of areas, in particular we will need USB HID GUIs for Linux (and maybe Mac). I will do this in VB for Windows, but have no experience with USB code on Mac or Linux.

Progress: (Design page here.)
Outline VB GUI running under Windows XP.


Copyright (C) ThunderNerd 2011 within the terms of TAPR Open Source Hardware License