Back in 2013 I had moved out of my parents for the first time and went to university. The past years I had always been gaming at friends places, while my at-home gaming setup became deprecated. Suddenly, I was out of gaming options and on the search for something on-the-budget. Instead of buying an second PC to my new notebook, I decided to try something a little more exotic: An external GPU.

The notebook

My new notebook was a Lenovo T420 with a Core i5 2520M and 8GB of RAM - state of the art for 2013. Unfortunately, the integrated GPU (Intel HD3000) was much to weak for any gaming. The system had an ExpressCard 34 slot, though. ExpressCard is the grandfather in spirit of Thunderbolt - an external PCI-Express connection. It was mainly used for expansion with network cards and additional ports, like eSATA. Unlike Thunderbolt, the slot was quite big measuring 34mm wide and 75mm deep, enough for cards to fit entirely into the notebook.

Ordering the components

The plan was to attach an eGPU to the system via an adapter board from ExpressCard to PCIe. These boards were exotic in 2013 (and still are), but there was an active community around building eGPUs. The boards are a modular system. My slot adapter is a PE4H that allows for up to 4 individual lane inputs via Micro-HDMI. PCI-Express has high demands in terms of signal quality, like shielding and timing. I suppose that HDMI cables were the cheapest way to meet these demands. The lanes can be extracted from ExpressCard slots, as well as internal mini-PCIe, and full-size PCIe slots. A documentation of the system can be found on hwtools. My combination cost around 70€ from AliExpress.

To complete the external GPU, I needed the graphics card and a power supply, since ExpressCard cannot provide the 200W the GPU requires. I decided for a Geforce GTX 660 2GB and a BeQuiet 350W power supply. That brought the total cost up to 275€ for the complete system.

Building the case

The GPU and power supply case was lasercut from plywood and then glued together. The box was generated in boxes.py. To cut the pieces I used a 50W CO2 laser in the Stuttgart hackerspace. In total, building the box and integrating the components took an evening of work. I also added some ventilation vents, as well as my name tag engraved in the front.

The box measures 35x17x17cm. It could have been shorter, but I decided to leave some extra space to store the cables when the system was not in use.

Experiences

From 2013 to 2016 I used the GPU for gaming, both on an external as well as on the notebook screen. The driver situation was always a little janky and hot-plugging the GPU remained dangerous. Sometimes it worked, but I usually went with restarting Windows 7. Using the notebook screen cost a bit of performance (around 15%), in addition to the 25% lost because of the limited ExpressCard bandwidth. All-in-all I was happy with what I got for my money.