Introduction

The cerberus project was born out of necessity.

Infosec workloads require a lot of horsepower and don't allow for the use of cloud systems or even off-site processing in many cases. This means I needed some sort of mobile workstation that fullfilled the following requirements:

Must be upgradable

Must be built from stock parts that can be audited

Must pack a punch

Must be portable enough to be carried with one hand

Should be dual or triple screen

On the open market, there is absolutely nothing satisfying these requirements, so I set about building it myself.

When it was complete, I uploaded it to Reddit for a lark, just to see how others would react. I did not expect the thousands of comments, it becoming the top post of all time on /r/SFFPC and major YouTubers picking it up.

By far the most common comment was a request for either a Kickstarter or a build log. My company is not in the business of making hardware, so here's the next best thing. If you have questions, post them on Reddit. I'll monitor those.

Part List

Component Name Reasoning CPU Ryzen 5 3600 Good cost-performance and low TDP GPU ELSA SAC GTX 1080ti Had it left over after upgrading main workstation to 2080ti RAM Corsair Vengeance 32GB DDR4 Few MiniITX boards support 64GB and the tradeoffs wouldn't have been worth it SSD Silocon Power P34A80 (1TB) Cheap, large. Speed is not a primary concern for the workload and for reliability, everything is backed up to redundant storage. Keyboard RK61 It fit the limited space and was a mechanical red switch AC-DC PSU HDPLEX 400W AC-DC Going with a combined AC-DC and DC-DC PSU would have meant a minimum height of 68mm. That was too large. The HDPLEX combo is the most powerful PSU of this size on the market right now. DC-DC PSU HDPLEX 400W Hifi DC-ATX One of the few DC-DC bricks with enough power and the ports to run a 1080ti. Motherboard ASRock AMD B450 Fatal1ty Gaming-ITX/ac MiniITX was the only choice. From there, there are no big differences for what this project needs. It had same day shipping on Amazon when I had the evening free. Brackets 3D Printed in PLA (Flashforge Creator Pro) or cut from Wood/Metal This part is essential for the build. You can use printing services but be aware that every part went through 10-20 iterations. Monitors Generic 15" USB-C 1080p There are 20 vendors selling the exact same display. USB-C power means that we don't have to power them from the PSU and if GPUs come with several USB-C outs in the future, we can cut cables in halve. CPU Cooler Noctua NH-L9a-AM4 The slimmest on the market. After the PSU, this was the next limiting factor. Case No idea. Bought in Germany 15 years ago. Had it in the storage room.

Specs

Spec Value Comment Weight 7kg Not light, but very luggable Power draw 370 Watt under full load People tend to massively overestimate the power draw of their systems Setup time 60 seconds Packing time 120 seconds CPU Temps Idle: 52C / Load: 82C GPU Temps Idle: 54C / Load: 87C It's JUST under the threshold for thermal throttling. Still, much better than any laptop out there. The entire Aluminum case works as a heat spreader. Size 44cm x 32cm x 11cm (17.33" x 12.6" x 4.3") One of the few DC-DC bricks with enough power and the ports to run a 1080ti.

Build

First, make a plan. Figure out what parts you think you want and make paper models. This will allow you to find issues with your plan. For example, I originally wanted to mount the GPU horizontally but that would not have worked well with the PSU and orientation of the PCIe slot on the motherboard. It also showed me that the initial plan to use a SFF ATX PSU (shown in the picture) would not work.

Measure, measure and measure again. Things will still go wrong as you build so make sure you eliminate as many issues as possible upfront. This was my final layout before deciding to include a space for the keyboard.

If you can't figure out a part without buying it - e.g. because the vendor does not list the height - then buy just that part. If it takes 3 weeks, then it takes 3 weeks. Better to advance slowly than to get frustrated over non-fitting parts. When you get a batch of parts, assemble them first to see the full size. For example, MB manufacturors almost never list the HEIGHT of the board. Because usually, who cares about 2-5mm, right? Well, if your total height must be under 44mm, they become very important.

In descending order, the parts that will limit your height will be: PSU -> CPU with cooler -> IO shield -> Cables (slim cables are a must) -> GPU

Then, depending on your layout, your limiting factors for depth and width will be: MB width + GPU width and GPU length.

The monitors were what made this project possible. USB-C monitors draw power over USB which eliminates the usual hassle of driving LCD panels. They are also insanely slim and come with screw holes on the back that can be used for mounting stuff. Make sure to measure offsets precisely. Half a millimeter matters.

Make sure that you measure the width of walls. Usually, this isn't something most people do but here, 2-3 mm extra make all the difference. If you intend to include acryllic, make sure to factor in its width. Once you pull the padding out of a case, there will also be a lot of hot glue left over that is a pain to get off. I tried all sorts of stuff but what worked best was my wife's gel-strength nail polish remover.

I decided to mount all other components to wood panels. This allows for fewer holes in the case and easier maintenance. But it sacrifieces 3mm of height. Aluminum panels were also a consideration but sinice they are conductive, they would have required standoffs, thus leading to the same overall height. Since all modern hardware throttles to stay under 90C, we don't really run a risk of inflaming the panels.

Mount the center display to wood paneling.

Mount the components to wood paneling. Use a pencil to mark the holes before drilling. I am using M3 bolts here but YEMV.

The center monitor needed some more support, so I 3D printed a small bracket to secure the bottom half. The holes are threaded so they don't require washers and nuts.

First fitting and boot with an external ATX PSU. It posts.

Repeating the same test with the HDPLEX PSU combo.

I spent literally half of the work time of this build on figuring out how to mount the auxiliary monitors so that they are slim, stable and don't get in the way of the cables. This is the best I could come up with but I'm still tinkering. My original plan was to completely 3D print the brackets and hinges, but that turned out to not have enough lateral stability. The mounting plates really allowed for fast iterations here. But directly mounting to the metal would probably have been more stable. You'll need to figure out what works for you.

The partition between the main elements and the peripheral storage is a simple 3D print job. You will need to make your own to match your case and the cables you want to run. Make sure there is some space for an external power switch to mount and some sort of USB/Ethernet passthrough.

The Acryllic cover was laser-cut by a specialist. This allows for threading of holes and the precision needed.

Putting everything together revealed three major problems. First, the cabling runs would have to be very clean to fit the limited space. Second, the hinge on the case is designed to keep the case from opening too much, not from closing. Third, the clasps were not strong enough to hold the weight securely. (Already replaced with new ones in the picture.) This is what I mean by "things will still go wrong". You'll need to iterate in these situations.

The cabling runs are done and the hinge is replaced with a simple but strong screw mechanism. When ordering cables, make sure you get very close to the length you need. Any added cable will need to be stored somewhere. Some adapters - especially DP-HDMI - are a pain to store well.

But, with a little persistence, everything did come together in the end. Total build time was around 3 weeks and 100 hours.

Build one yourself

This build is definitely possible as-is. If you are handy, have the budget, have the time and have access to a few power tools, a 3d printer and the determination to build the same bracket 20 times, you can replicate the exact same build.

However, the following changes would have made the process a LOT easier.

1) Use a taller case. Height was - by far - the limiting factor. If you add just 4cm, you can use a regular PSU, you can use almost any CPU cooler, your cables will fit easily, and so on. If I had known then what I know now, I would likely have gone with a bigger case and saved myself a lot of work.

2) Use a single screen. In this case, I'd recommend a 17" one. The hinge mechanism literally took up half the build time. Removethe auxiliary screens and the entire build becomes trivial.

3) Use an external AC-DC brick. You can buy "spares" for high-powered gaming laptops.

4) Use a sane GPU. The 1080ti has a TDP of 250w. That created all sorts of challenges including severely limiting the choice of PSUs. With a 2050 or so, you'll have a much easier time.