Saturday, May 5, 2012

Portable Workstation

As an IT consultant working on a computer all day long is a part of my job. Additionally I may be called upon to travel at a moments notice. I need to keep my main computing environment mobile so that I can take all my current work with me and not have to worry about which computer has what data on it or bother with trying to keep multiple machines synchronized. Perhaps cloud computing will one day be a solution to my synchronization problem but right now I get trapped behind client firewalls and with large amounts of data (several hundred MB) it is impractical to try to shoehorn a terminal-server solution.

Seeing that a laptop should be my main tool of the trade logic would dicate that I invest heavily in a top of the line model considering the time of use. Back in late 2009 I spent a considerable amount of money on an HP dv8t laptop. It still of course was much less than a top of the line Apple laptop (how could it not be?). It has features such as an 18.4 LED 1080P monitor, 802.11n, bluetooth, 1.6ghz mobile i7 quad core processor, 250 GB hard drive, and 6GB of RAM. Unfortunately, it also had some unadvertised "features". When I first received the laptop occasionally the LED backlighting of the screen would go out and the display would be unusable. I tried to flash the latest bios version on it and then the fan would stay on at full speed regardless of load. With the screen out and the fan on high I RMA'd it and HP put a new motherboard in it. Then around summertime when the ambient temperature increased the touch button pannel would go haywire, muting and unmuting the volume but more annoyingly it would disable/renable wifi and bluetooth. This issue has persisted to this day, causing me grief while trying to VPN into a client's network only to be disconnected, or talking on a Skype call and being disconnected. Next the black screen problem returned. Sometimes at a client site in the morning I would boot up the machine only to find the display non functional. I would then have to shelve it and use netbook to try to stay productive. Also the heat produced by the laptop under load would make it intolerable to place on my lap.

The black screen problem has seemed to become more severe and with the age of the system I started to look into a replacement. My first option would be to invest in a new top of the line laptop. I have been spoiled by having a 18.4 inch display over the years and I would not like to downsize to a smaller screen so this would limit my choices. Also, over the past few years I have never actually placed my laptop on my lap. I always keep it on a desktop either at work or while away. At home I typically plug in a larger external monitor, keyboard, and mouse. I am also once bitten twice shy about investing in an expensive laptop given all the risk involved with transporting it (drop it, stolen, etc) or ending up in the same boat where the display goes out and it is cheaper to buy a new laptop than repair the broken screen of an older one. If only I could have the speed and low cost of a workstation yet the portablity of a laptop...

This thought led me to my latest experiment: build a fast Java development workstation but with the restrictions that it should be low cost and portable. Typically cost and speed are inverse proportional to size making my goal challenging. Fortunately, technology has come a long way.
My first challenge was to acquire a portable display greater than or equal to 18.4 inches but was portable enough to carry and travel on an airplane. It has been seven years since I bought expensive twin 20 inch Dell LCD monitors and I was shocked to see how portable and inexpensive LED monitors have become. After surveying the market I settled on purchasing an Acer S220HQLAbd 21.5 LED monitor from newegg.com. The most important aspects were it's dimensions (20x14.5x.5) and weight (4.5 lbs). It did not have an HDMI port but at $130 shipped it was a bargain and inexpensive enough not to fret over travel loss or damage. I was able to buy a cheap HDMI female to DVI-D male adapter so I could use a thin lightweight HDMI cable and more importantly play protected content such as Windows Media Center. When I got the monitor it was everything I wanted: thin, light weight, and as a bonus it seemed to be designed to be portable as the stand can easily be disassembled without screws or snap ins.

Next I needed a case to house my home built system. Obviously I would need use the smallest motherboard form factor available, mini-itx. After doing some research I located the smallest case I could find: a silver M350 case purchased from mini-box.com. This case is so small a power supply cannot fit in it and an external power supply is required. I ended up purchasing the picoPSU 150 & 105 watt power supply bundle.

As I am an AMD fanboy I decided I wanted to build an AMD based system as opposed to a intel one. AMD has an exciting new architecture called an APU which combines both a CPU and GPU on the same chip. While the CPU performance of the chip slightly lags behind comparable intel ones the reviews of this chip have been greatly positive for the value and graphics performance compared to other integrated graphic solutions. Given the form factor of the M350 will not allow any expansion card the APU is necessary for the kind of portable system I wanted to build. Additionally, if for some reason the portable workstation concept failed I could still use this new system to reliably act as a set top box/dvr playing Windows Media Center content streamed from a Silicon Dust HD prime CableCard tuner I purchased.

I ended up purchasing a A8-3870K APU, ASRock A75M-ITX motherboad, 2x4GB AMD branded corsair 1600 DDR3 RAM, and an OZC 120GB solid state drive. Since the motherboard did not have wireless or Bluetooth support I purchased a Pivos 802.11n and an Asus USB-BT211 USB adapters each reasonably priced at $10. I decided to re-use my existing Logitech Bluetooth mouse and purchased the Microsoft mobile 5000 Bluetooth keyboard.

Once I got all the components in I assembled the system. The first thing I noticed was the stock CPU cooler that came with the A8-3870K did not fit inside the 350M case. While I could have cut the cooler fan feet and made it fit the CPU is right in the middle of the board and part of the 2.5 drive has to partially cover it. In the mean time I left the case lid off and used the stock cooler for the time being. I was able to successfully boot the system. This is the first motherboard I used that uses UEIF instead of the 20 year old BIOS and it was a welcome surprise. When I tried to boot into Ubuntu 12.04 to install it the screen went blank and I thought the system hanged due to either heat or low power. I was a bit nervous that the 105 power supply was not enough so I shutdown may main HTPC and then reconnected the HTPC's 500w power supply to the new itx board and installed window 7. Windows installed lightning fast and I ran futuremark 3D 2011 and got a score of around 1078 I think. After that I reconnected the picoPSU and 105w power supply and the system ran fine. I did run futuremark 3D 2011 one more time and got a score of 750 so I knew for sure the system was under powered. I ordered the biggest 194w power supply from mini-box.com. I would recommend the 194w/160w picoPSU combo for anyone attempting to build a similar system. Finally I received the power supply and the Akasa AK-CC1101EP02 low profile CPU cooler and was able to close the system up. I was a bit disappointed with the loudness of Akasa fan noise. Also the 194w power supply used a large four pin adapter instead of the smaller pin adapter of the 105 power supply that nicely fit in the 350M case. I ended up drilling a hole in the I/O plate as there was plenty of space to the left of it on the A75M one. The hole was near the memory but there was sufficient space. I didn't leave a very aesthetically pleasing form given my drill bit was half the size I needed and I was manually grinding it larger with the plate situated on some left over Styrofoam from the monitor packaging.

Anyway, with the system fully powered I updated to Windows 8 consumer profile and installed Virtualbox 4 on it along with one of my VMs. The system was lightning fast comparable to my HTPC and faster than my dv8t laptop. I was very pleased with it.

Next for transportation I bought a Weekender eTech Convertible from ebags.com sized at 22X14x9, big enough to fit the monitor. I also bought a series 636 attaché like case from casesbysource.com but this ended up being a mistake. The screen did not fit flat in the case (apparently the screen is wider than 20inches) and the case is 8 inches deep making it too big to fit under the set in front of me on an airplane. My wife was kind enough to sow a custom protector for the monitor using materials from Hobby Lobby: a 20inch zipper, enough flannel to encompass the monitor and a 1 inch foam insert. At hobby lobby I also purchased an art carrier styled similar to an attaché case. I may use it in the future as a means to transport the monitor locally while using a laptop bag to transport everything else.
I went on my first trip with the portable system and I would have to say overall it was a success. With everything in the eTech it was very heavy, close to 18lbs. I am a big guy so this didn't bother me much wearing it on my back but it may be a non-starter for others. I was able to go through TSA security in both directions without incident, being sure to remove the monitor and case from the bag and placing them in separate containers. I used a second smaller backpack to pack my cloths in and on the plane I put the eTech in the overhead bin and my cloth bag under the seat in front of me.
There is one last issue that I need to deal with in order to say my goal was fully accomplished. The workstation runs very hot, 61c at light continuous load with the case closed. Given everything that is crammed into this tiny case there is little to no airflow but if I remove the case top it returns to an acceptable 48c level. With the case enclosed it is as if it gets into heat feedback loop that it cannot recover from. I have ordered another HD insert and two fans to see if I can add some additional cooling. This could be the Achilles heel of this build and I will update this blog if it becomes a dire problem. Right now I am eyeing the Lian Li Lian Li PC-Q9FN as a potential replacement. It is much taller than the M350 but I think I can fit it and the monitor in the 9 inch eTech backpack and it has a 300w power supply and superior cooling as well as potential space for a PCI card.

When the new AMD trinity APU processors and motherboards come out I may try to build another similar system. After all, I can get two portable workstations for the price of one high end laptop.
One more thing is that I also purchased an over the bed table, the kind you see at a hospital. I put the monitor on this and then wheel it around so I can program from the living room in my armchair all the while having a line of sight to the family TV. A nice leisurely Open Source programming environment :)

I also found out the Microsoft 5000 Bluetooth keyboard needs to be placed on a table and does not work very well at all when used on ones lap as I originally desired.
In summary, I would recommend the following:

  1. the M350 may be too small to support a 100w processor, both in power and heat dissipation.
  2. One could pair the monitor, Bluetooth mouse&keyboard with a moderate laptop to get a lightweight ergonomic portable working environment.
  3. I spent an enormous amount of my personal time researching components, ordering, assembling, and configuring the system. I also made several costly mistakes (accidently ordered the wrong size ram, case, and power supply). Such an effort is not for the faint of heart.