[SHOWOFF] Who ate my MOONCAKE? = MOONputer!


a bit lazy, here is the breakdown

– My old Hydra Terminal PC (my creation) is reaching end of life, mostly due to sluggish performance and burned out C-MOS (complementary MOS, PMOS+NMOS), the CMOS is in transit but I decided that it is due to an upgrade

– Hydra had become my Wife’s personal PC, and this justify for me to build another one with much better performance.

– I was given an old broken APPLE G5 iMac 17” iSight, I fixed the board, upgraded the ram, installed brand new Mac OS X 10.6 Leopard, but performance is very undesirable, especially running any non PowerPC architecture application. i.e. any apps for Intel

– as like ME, I decided that “won’t it be great if I can fit a SBC or “PC” into the iMac? I can almost keep everything but with a much faster Intel inside!”

Original Plan: (keeping the exact iMac look, without any physical modification to the outer casing)

– Keep iMac’s 17” LCD LG LM171W02 which is using TMDS (Spec Sheet)

– Keep the build in PSU (consist of AC-DC and DC-DC portion)

– Keep iSight, Speakers, IR, Sensors

– Keep the same slot-loaded super drive (DVDRW)

– Making extension to match the back of I/O ports



since the LCD is using TMDS instead of LDVS (the BCM and most embedded board/laptop use LDVS signals), It is no longer just making a direct cross reference cables, now I need to find a way to convert the TMDS to other useful format.

after a bit of research, TMDS is what DVI is using, which is perfect, consider I am planning to use a Nvidia 520GT as dedicated CUDA/Display


DVI DVINumber  
DVI Pinout DVI Pinout(Female)  


and here is the chart of LCD sides TMDS to DVI Pin

iMac G5-20 DVI pinout


The PSU is a 220Watt high efficiently PSU, after I replaced most of the Caps, it is working perfect, the PSU is consisted of two blocks, AC-DC and DC-DC

Original PSU Mounts

DVDRW Super drive

The drive is IDE/PATA using JAE, so I simply use JAE to SATA convertor


The iSight camera is unique and stupid @ same time, the internal connector is a mini-firewire connector (IEEE1394 4pin MINI connector or call i-Link), however, it turn out it is USB signals…

PB130103 PB130104PB250153
iSight I Wonder why.,..

Red = VOLTATE (5Vcc)
White = DATA-
Green = DATA+
Black = GROUND

Case Modification

I will need to keep everything inside the case, and with no external case modification, however, I did chop down the internal support frame to accommodate more room


Original Case+Frame  



something horrible happened, it turn out that the ITX board is just a tab too tall…. we looking like 0.5cm  and there is no way I am going to chop the case for it…

During the mist of thinking what to do next, I got my eye on a MOON CAKE tin box, it looks just about the right size, and guess what it is about right..



– BCM MX45GM/MX45GM2 (MX45GM2 for testing, MX45GM for final product)

– Intel Q9100/T6100 (T6100 for testing, Q9100 for final product)

– 8GB/4GB DDR2 SODIMM PC6400 (Final/Test)

– Toshiba P4 Laptop Speakers

– Nvidia Geforce 520GT low profile

– 52-in-1 Card Reader

– Broadcom BCM94312HMGB Reference mini-pcie Wifi 802.11n+ BT3.0 combo card(DataSheet)

– Maxtor DiamondMax21 250GB SATA HDD 3.5”

– Fuji 200GB SATA HDD 2.5”

– 65W AC-DC Power Brick / Wide Range Input PicoPSU  (Final/Test)

lg_GM45_MX45GM_01 lg_MX45GM2_ATX_Power_00



This is very very unique board, beside it is industrial grade and quality…

– it support ALL the socket P CPUs (including all the Quad and Extreme),

Headless/Serial Port management (I can just use serial port to login to bios so on)

– 5 serial ports


10Watt DAC Op-AMP (allows me to use speakers without need of external power source/amp)

– build in LDVS+DVI+HDMI+VGA, 2 independent display (even though I find that instead of those 3, dual HDMI will works better, as HDMI can convert to DVI or VGA, while DVI is not a great idea, as DVI to HDMI you lost the audio)

– 4 SATA connectors + Compact Flash slot

– Dual Giga Lan!!!

– PCI, PCI-e 1X and mini-PCI-e (PCI-e 1X for my GPU, mini PCI-e for wireless communications)

Intel AMT and TXT (I can remote login to the board even it is off, or corrupted bios, this is a hardware base remote, it is also independent of OSes)


I have few complain about the design, the PCI-e 1X is running off south bridge, it will be more ideal running off north bridge by chopping the 16X –> 1X, the advantage of running north bridge allows better communication and bandwidth, and also reduce interconnection communication between north and south.

there is enough space in the back for another or two mini-pci-e slots

P9230086 PB120092  
Broadcom BCM94312HMGB Geforce 520GT with 16X->1X adapter  



PB120093 PB120094 PB120095

I also convert the same Apple Super drive to SATA , and funny thing about it is, it wont boot from it, but it does boot from my other home made notebook DVDRW to USB drive.

At the end I just put the Apple Super drive with JAE to USB adapter with case for external use.

PB120098 PB120099
Who ate my mooncake? the fitting time!


Grinding and Painting

It looks trashing if I don’t paint it, so I decided to paint it, and the only paint I found in my basement is BLUE….and I am cheap, Homeless Depot (Homedepot) and Crappy Tire (CanadianTire) is bit far away…again I am cheap…

PB130105 PB130106 PB130107
Top lid  (progress) Top lid (after sanding) Top lid (after sanding)
PB130112 PB130113 PB130110
Lower lid (after sanding) Lower lid (after sanding) Heating after a good shower!


PB190125 PB190126 PB190127
Final Assembly    
2nd Layer (under the GPU)    
PB190131 PB190134 PB190135
Complete Views 0 Complete Views 1 Complete Views 2
PB190136 PB190137 PB190138
Complete Views 3 Complete Views 4 Complete Views 5


Stay Tune for Part2- Building of a Mount and Completion!



[SHOWOFF] Pimp up my eGPU (Day2)


Day 2, basically the lower case is complete and now cooling, since the back of the case already got a “wavy” vent but I still need some venting holes in the front.

The initial idea to cut away a bit of area for “few” 80mm fan grill, however, someone got to excited (not me) to help and went ahead and cut out 2 big rectangular area for me (never hear measure twice cut once?!).




Look, look 2 big ugly rectangular area, it remind me


The damage is done, and those 2 area are “the same size” as my fan grill, which leaves me no way to mount it (or no easier way to mount it), so the nice and easily solution is to find a bigger grill to cover it, but since I don’t have any I have to savage it from elsewhere; wala~ the front HDD fan in take will work!




Ugly hole be gone!




Problem Solved!

Initial plan was mount the PSU on the bottom of the case, since PSU is much heavier, but now the case is much longer than the PSU, so PSU is going on the top, and I was going to build a upper house for it, but I crapped that idea


Initial PSU Housing











Progress, note the PSU to the Case size, they are same width, but only 9” long.

At the end I decide to make 2 simple mounting bracket for the PSU by savage the same front part of the case, and I replaced most of the screws with rivets, now there is only 6 screws to take the case apart instead of 30s.












Finished product.


Here is what my mobile work station looks like now.


Look, dual GPU and they works!

Stay Tune for Benchmarking!!!


[SHOWOFF] Pimp up my eGPU (Day1)


The preliminary testing of eGPU interface works, now is time to build a home/box for it, after looking into my IEEE Lab room (also known as my storage unit), I was debating over whether I should take an old solid P2/P3 ATX case or the el cheapo P4 case or even the heavy as hell AMD K6 AT case.

– P2/P3 case is very solid, it seems to be molded into shape and most of joints are welded together, it is constructed with hard metal, excepted to be steel or hardened alloy or some sort.

– P4 case, you know those el cheapo made in china, frizzy, light and looks like can be press into pancake by just 2 person sitting on it. The internal construct is soft Aluminum; where I can bent easily with my finger, and exterior sliding cover seems to be made from same material as the P2/3 case

– The good old AT case, solid, I mean real solid, it must be steel or something, extremely heavy, and seems to be indestructible

Anyhoo, like most engineer who is building any prototype will decided to go with minim work, easy working material, cheap and also want to get it done fast (in that order + laziness). I went with the P4 case.





P4 Case

Good thing about the P4 case is the entire case is so cheap (pricing and construct), it looks cheap and feels cheap, and it is “Riveted” together without any welding or minim screws (I counted 3 on each side panel, 2 for top, 4 for front panels, total of 12 screws!!!). the case has 40+ rivets, and they can be remove easily with good help of drill; with each drilled rivets I also gain 1 aluminum washer!








Lovely Rivets




Body Parts

The most important part of case is the back support, no one likes the video card flopping around, especially one with such weight in the front






Part of Interest (+ Hand modeling)














12.5” Long

Decided that just in case I would like to get even bigger card, such as Geforce GTX 590, I am making the total clearance for video card to be 12.5”, as you see the 560Ti barely fit under 10”



















Progress…. (grinded***, refined box)

After play with the box, it seems to me that the soft aluminum is way too soft and it will deform under pressure, so I decided to add outer casing for reinforcement…











Progress…. (from ugly side panel to outer casing)











Progress…. (outer case fitting….)


Complete lower box disassembly












Progress…. (end of Day1)

As you see I use screw to join everything together, this is not ideal as too many loss piece, and a lot of pieces you will never take it apart anyway

*** during the grinding 2x Aluminum debris/dust went into my eyes, I write it off as just dust and if I blink enough it should come out, but….the next morning my eyes hurts like hell, have to went to ER twice to get those 2 pieces removed, and for the next 4 days, I am a half blind man, who also looks like Asian penguin.




[Show OFF] External Universal GPU (Day0)

[Show OFF] External Universal GPU

who said external GPU is stupid and useless and dead in the water, like ASUS XG station.

my current research area are robotic/image processing/ embedded system, i am very addicted to small, portable, mobile platform. Example: VIA’s product; Small is beautiful™

currently i am migrating all the robotic calculation from sequential CPU code to GPU using CUDA, and to make my development and debug easier, i want to have a high CUDA core count GPU but still stay mobile, solution? external GPU, (BTW 15” Laptop is far from mobile, I prefer 12”, but I the best I can find during the that time was 8400M, I prefer 8600M+)

one thing bad about CUDA is debugging, unless you are running Linux in which you use DGB and yes it is a great “command only” tools, but if you are working on Windows you will need to use Nsight for debugging and the Nsight requirements are the following:


so either i need 2 CUDA compatible GPU or 2 PC that has 2 CUDA compatible GPU that is on the network (and no, IGP does not work) , but all Dual GPU laptop are 17″+ no good for mobile or on fly demonstration or quick testing.

my current “Mobile” CUDA development setup:

1X heavily modified Dell XPS M1530
– C2D T9300
– GF 8600GT DDR3
– 8GB DDR2
– Touch screen

1X home made tablet Dell Inspirion 1520
– C2D T9300
– GF 8600GT DDR2 <——- custom PCB
– 8GB DDR2
– Touch screen
– 4 Axis accelerometer
– Intel 160GB G1 SSD


And YES, I do have “Stationary Lab Development” setup as well:

Which are just bunch of C2D/C2Q desktop with Geforce 8800GT, Geforce GT210, Geforce GT240, Quadro NVS 290, so on, they are not the greatest card but they do provide some minim CUDA testing/development environment.

So technically I have 2 mobile PC/laptop on some sort of communication which meets one of the Nsight requirement for remote debuging.

Remote debugging using Nsight require Visual Studio and NSight to be installed on both computers which I don’t like, I don’t mind Nsight on both system, but just not VS2010, i am reluctant to VS2010, it is huge/messy and will for sure kill my 1st Gen Intel SSD, as the 1st Gen Intel SSD does not support trim

This is a external PCI-Express 16X adaptor, it basically split the lane to PCI-E 2X *4, and it can be share across 4 different device (unsupported without modification), i also add an Samsung S3C6410 SoC as a micro-controller to do the sharing, quick removal, logging, debugging and ejecting through the USB interface

S3C6410 provide 1 USB HOST, 1 USB Client, that is why you also see there another USB on the PCB, there is a lot of things you can add to that USB port, such as sound card, wifi, modem so on.

Any PCI-EX slot/independent lane also provide 1 USB signal, that is how I add S3C6410 piggyback onto the PCI-EX 16X slot, there is 2 way to implement addition USB devices off PCI-EX lane

1) PCI-EX -> S3C6410 -> Free USB

2) PCI-EX -> Root Hub -> nth many USB devices

Why I used 1), b/c I want to have direct control over the USB through the SoC instead of going to CPU interrupt to control the USB, if is CPU interrupt it also drain more resource, so 1) choice is just drain the SoC’s resource.

so, it uses laptop’s express bus for communication (2x) or desktop pci-e redirector (it comes with pci-e 1x, pci-e 4x, pci-e 8x cards, but i purchased only the 1x card, as data communication is not that important)

i also decided to use Geforce GTX 560Ti, why not any better card? b/c it has highest CUDA core count and highest CUDA version; 2.1, the only other card that has more core and CUDA 2.1 is Nvidia Tesla. Note: GTX 570, GTX 580 only support CUDA 2.0.

i also ebay-ed a used XBOX 360 1st gen PSU, why? b/c 1st gen can provide up to 203W, compare to all the newer one; 170W or less, as Geforce GTX 560Ti only use max 175W on load the 203W is more than enough, and 203W version has a nice active cooling build in (a fan in the PSU)

Components Listing:

1X Geforce GTX 560Ti

1X External PCI-Express 16X adapter

2X Express Card Buss extender

2X Desktop PCI-Express redirector @ 1X

1X XBOX 360 1st Gen 203W PSU

IMG_1233 2IMG_1234 3

Hacked open x360 PSU

IMG_1238 2IMG_1239 2IMG_1240 2

PSU Soul Searching (Load test (Testing for MAX Amp on 12V, and toggling state: standby/active):

IMG_1242 2IMG_1243 2IMG_1241 3

The NEW & Improved X360 PSU

IMG_1244 2IMG_1245 2IMG_1246 2

Hardware Test Run:


My own CUDA Code Test run:


SEEEE! it detect both 8600GT Mobile and my 560TI

Whats is this for? To Be continue




*P.S. My Bebe said she helped too!! (my small big boss Smile)


[/Show OFF]