Overview [ edit ]

Hardware hacking enthusiasts have talked about updating the eMac's logic board with a more modern Intel based logic board to make a Hackintosh while others have proposed using the eMac as a second monitor. Several have removed the CRT, analog boards and logic board replacing them by a single lcd display. This is described in the eMac LCD conversion personal page.

Using the original CRT and analogs board has proven difficult because the IVAD board that is mounted directly to the back of the CRT needs to be initialized via its I2C interface before a VGA signal can be sent. The initialization sequence was finally recorded and then implemented in software using an arduino uno clone allowing the removal of the logic board.

pieMac [ edit ]

The pieMac is an apple eMac computer that has had the logic board removed and replaced by a raspberry pi. The pieMac was inspired by a thread on macrumors by patriciooholegu. The idea was to replace the logic board with a raspberry pi but this hack will allow the CRT to be used with just about any device that can provide a VGA signal at eMac resolutions and refresh rates.

Component layout [ edit ]

Images of how the components were arranged for this pieMac.

An exploded side view of the raspberry pi mounted in the eMac.

Wiring The Video Connector [ edit ]

The eMac uses standard VGA signals simplifying the task of interfacing to the CRT. The wiring was inspired by the Headless eMac project. The Headless eMac project describes how to use an eMac logic board with an external monitor while this article describes how to use the eMac's CRT as an external monitor. The image on the right depicts the eMac VGA connector on the logic board, a DB15 female VGA connector and a map of how to wire the IVAD VGA able to the DB15F VGA connector. This DB15 connector can be swapped for a male connector if plugged directly into a source rather than to a standard VGA monitor cable.









Wiring The Arduino [ edit ]

The image to the right shows the minimum wiring needed to activate the IVAD board using an arduino and a push button. The code for this circuit can be downloaded from https://github.com/qbancoffee/emac_ivad_board_init .This circuit does not show the relay circuit used to power the CRT. The CRT can be turned on by providing 5 volts to the wires that were connected to pins 4 and 10 of the eMac logic board.









Notes [ edit ]

I've figured out which hex byte controls some of the properties of the monitor (eg. brightness). Some of these are normally controlled using the settings panel in OSX, I've been trying to implement them using an Arduino. Not all seem to be available in OSX, so presumably some a preset, unless there's some kind of advanced system properties I don't know about. If you send a command out of range it can cause the screen to go blank. Some need to be sent to device 0x46 on the i2c bus and some to 0x4C, see the arduino code linked below for an example of how to send the commands. Not sure about the correct terminology for some of the adjustments below...

Device 0x46 Property Hex code Range Contrast 0x00 0x80-0xFF Green backlight (or maybe colour temp) 0x01 0x00-0xFF Blue backlight (colourtemp?) 0x02 0x00-0xFF Red backlight (colourtemp?) 0x03 0x00-0xFF Top pinch/width 0x04 0x00-0x7F, 0x80-0xFF Top 'lean' 0x05 0x00-0x7F, 0x80-0xFF Bottom 'lean' 0x06 0x00-0x7F, 0x80-0xFF Horizontal Position 0x07 0x80-0xFF Vertical Size 0x08 0x80-0xFF Vertical Position 0x09 0x00-0x7F, 0x80-0xFF Shape adjustment, like a sphere 0x0A 0x00-0xFF Keystone 0x0B 0x00-0xFF Pincushion 0x0C 0x00-0xFF Horizontal Size 0x0D 0x00-0x7F, 0x80-0xFF Top & Bottom pull left/right 0x0E 0x80-0xFF Paralellogram 0x0F 0x00-0xFF Gamma (?) 0x10 0x80-0xBF, 0xC0-0xFF Brightness 0x11 0x00-0x3F,0x40-0x7F Alternate horizontal size (?) 0x12 0x00-0xFF Alternate vertical size (?) 0x14 0x00-0x7F, 0x80-0xFF Bottom pinch/width 0x15 0x00-0x7F, 0x80-0xFF

Device 0x4C Backlight/colourtemp blue>red 0x00 0x00-0xFF Backlight/colourtemp yellow>blue 0x01 0x00-0xFF Backlight/colourtemp magenta>blue 0x02 0x00-0xFF Rotation 0x03 0x00-0xFF

See Also [ edit ]

Code [ edit ]

IVAD initialisation code.

eMac edid simulator code

Videos [ edit ]

eMac CRT as monitor mod 1

eMac CRT as monitor mod 2

eMac CRT as monitor assembled

pieMac as retro gaming box

pieMac overheating

pieMac adding fan

eMac CRT simulator