Originally Published on ActiveWirehead.com
Februaury 10, 2016
Note from D10D3: What follows is a detailed description of a custom hardware project I did awhile back. I previously posted a simple how-to on another site but I’ve had a lot of questions about how this was done, so I decided to write a more detailed account of the project. It’s a little rambly but I hope you find it interesting.
What is a cyberdeck, and why did I make one?
In 1984 William Gibson published the novel Neuromancer. It was one of the first novels in the genre that came to be called “cyberpunk”, and it described a gritty future full of cybernetics, mega corporations, artificial intelligence, and virtual reality. The protagonist of this tale was a hacker named Case who used a portable computer called a “cyberdeck” to connect his brain directly to the internet and experience it as virtual reality. This cyberdeck concept was later mirrored in Shadowrun, a roleplaying game that has spawned numerous games and books over the years. The makers of Shadowrun lifted the idea lock stock and barrel, even keeping the name, but in doing so they also added to the lore of the cyberdeck with pictures, descriptions, and stories of their own console cowboys.
I was a teenager in the 90’s. I had an online handle and ran a dial-up bulletin board system on a pieced together PC out of my bedroom. I watched movies like Johnny Mnemonic, Hackers, and Sneakers. And when I read the Sprawl trilogy by William Gibson I was hooked on cyberpunk. I was obsessed with hacker anti-heroes and the worlds they existed in, and while all technology fascinated me, I was somehow transfixed with the desire to have my own cyberdeck. Years later, still a fan of all of these things, I decided to build my own deck.
It would be fun to make a cyberdeck cosplay prop, and I’ve seen a few made over the years, but what I really wanted was to try and build something as close to a real working cyberdeck as I could get. I like making models and props, and I’ve done a fair bit of that over the years, but what I love most is making things that actually work. However, before I could even get started I had to address my limitations, which were technology, skills, and money, just like any other tech development project.
The Achilles Heel of this project is our lack of a direct neural interface. It was a key feature in Gibson’s cyberdecks, allowing a user to jack in and directly experience cyberspace. We don’t have those yet so I have to make do with an HMD (head mounted display). Other than that, a cyberdeck has a lot in common with a modern laptop so I should be able to make a fair approximation.
I like to make things. I’m a tinkerer by nature, and in my own roundabout way I’ve managed to learn a broad range of crafting skills. However as a jack of all trades I am master of none, and that includes electronics. I can use a multimeter and build custom circuit boards, but surface mount soldering and super fine detail work are still beyond me.
I’m extremely passionate about my projects, but my budget is very limited. This has led to a long career of scavenging and modifying things that are “close enough”. If I had unlimited funds I’m sure I could have made this one hell of a machine, but as it is I scrapped together something fairly workable anyway.
Having determined the edges of my sandbox, it was time to start deciding on features. The basic idea was to put a small computer in a custom case that can be used with both a screen and an HMD. Stylistically I drew some cues from Gibson’s descriptions, but was even more heavily influenced by the decks of Shadowrun. These machines are usually depicted having handles and carry straps as befit a street hacker on the run. I also wanted to give it a lived-in feel by adding some stickers for various fictional companies of Gibson’s Sprawl. I spent weeks writing down different lists of equipment and drawing various pictures trying to get a feel for my deck’s shape.
Early Design Sketch
A hardware test using a Raspberry Pi. My later cyberdeck designs have used this platform.
It was tough to pin down the hardware requirements.Originally I intended to use a Raspberry Pi 2 mini-computer as its core. They are small, light, and I have a lot of experience working with them, but a Pi is a barebones machine and I’d need to add all of the creature comforts like wifi, power, keyboard, and pointing device. On the other hand I could use a laptop as it has all of those things already, but I needed one without a screen and I didn’t want to decapitate any of my machines if I could avoid it. I spent a week watching Craigslist looking for a cheap laptop with a broken screen, and finally found one in the form of an Eee PC 1008HA netbook. The screen was broken but it had a VGA output and had all I needed in the way of outputs and controls. It wasn’t incredibly fast, but it would do the job and it only cost me $30! After removing the monitor I had a neat little core for my cyberdeck.
Having found the core I had to figure out how to connect everything to it, I needed to have access to the various ports once the case was built around it. In a beautiful and perfect world all of the various ports would be on the back edge of the machine and I’d just design the case to expose them. I don’t live in that world though, everything on the 1008HA was on the sides, and none of it would be accessible without some work.
The core had 2 USB ports, an Ethernet port, and a VGA port that used a weird adapter. USB and ethernert wouldn’t be a problem (or shouldn’t have been anyway) but that video port was annoying. The special adapter used a tiny little port hidden in the side of the machine that was hard to plug into and it tended to fall out if you looked at it funny. On top of that the cable to the adapter was an inch long and the port wouldn’t even reach to the back of the machine, so I had to use a VGA extension cable to get video to the back on my case.
Next was USB. I planned to plug a USB hub into one of the ports and run a little multi-SD card reader off the other. Again I needed to add cables, the SD card reader didn’t come with one and the cable on the hub was too short. At this point I’ve used up so much of my volume with extra cables I decided to ditch the Ethernet jack. Screw it, I’ll stick to wifi for now, I can always add that Ethernet port later. I could have made the whole thing a bit bigger to account for all this but by the time I realized there was trouble I already had half of the case built.
The power cable also needed some modification. It was a pretty small plug, and perilously close to that wonky VGA adapter. I needed a way to recharge the hardware without having to open up my deck every time and try to plug it in without disturbing the video connection. Since the power cable only had two wires running through it I decided it would be pretty simple to just add a 12v plug/jack combo along the length of it so that I could plug the power supply into the back of my new case when I needed to charge it. I got a 12v panel jack and a matching plug from a local electronics store, cut the cord a foot or so out from the laptop and soldered the new bits onto the ends of the cables, remembering to note their polarity. Finally I mounted the panel jack on the back of the deck with some hand cut plastic brackets and some glue.
The case was fabricated from 1/16” black styrene sheets. This is the same sort of plastic used for model kits and vacuforming. I bought 8 12”x18” sheets of it off amazon for about $30. I had a little experience working with styrene but I’d never done anything this big with it or used styrene this thick. It’s not hard to work with if you know a few basic things about it though. Unless you are doing fiddly little angles you don’t need to cut completely through the sheets, for your big cuts you only need to score it with a sharp blade and it will snap cleanly along the score line if you flex it a bit. For attaching parts you can use any sort of model glue, I like the real thin stuff used for Gundam models and the like. The last thing to know about is rails. You can buy styrene rails from model stores in a bunch of different shapes and sizes. L channel, I beams, square tube and the like. These rails make joining sheets a lot easier, just apply some glue to the outer edges of some L channel and you can use it to attach two plates at right angles. My hobby store only had this stuff in white, but I was really only using it for structural supports and inside edges so it wouldn’t been seen from the outside.
Over the course of many tedious evenings I pieced together the whole case from styrene. Hours and hours listening to podcasts while juggling a pencil, razor knife, glue, micrometer and a variety of rulers and triangles. A little drafting experience goes a long way here, as it sucks to carefully cut a piece just to discover it doesn’t fit. I started by making some educated guesses about how much space I would need to hold all of the hardware, then I made a big shallow open topped box that was taller in the back to angle the keyboard toward the user a bit. I beveled one corner for a little style. Next I made a lid for the box. This was just a big sheet of styrene cut to the same shape with a rim of L rails and long skinny pieces that would just fit inside the box. I made the back edge of the lid a half inch longer than the case to cover the protruding VGA port.
Once I had the outer shell built and all of the cables run I had to make everything secure. This was a very organic process. Everything up to this point had been carefully planned ahead of time, but I just couldn’t figure out this step until I could see all of the parts laid out in the case. I tried a few different things so it’s a bit of a hodge podge. The laptop was held in place with a mix of hand cut plastic brackets and self-stick insulation foam, the kind you’d use to weather seal a window. I stuck down the cables with a bit of gaff tape to keep them from moving around. I used some styrene rails to hold the USB hub and SD card reader in place, along with more tape. I knew I would need to completely immobilize that VGA adapter or it would fall out the first time I picked the deck up, so I build a little platform to hold it up out of scrap styrene and put square tube rails all around it.
At this point things were sort of secure, but the laptop was going to need more support, and the whole case was going to need to be more sturdy. I grabbed a big pile of scrap styrene and just started cutting and gluing pieces into it anywhere that I could fit them, dividing up the interior into smaller boxes to give it more rigidity and hem in the parts. Having done all that I had to go back and finish the lid I made earlier. I had to cut several notches out of the edging so it would fit around the internal bracing.
I also needed to cut a hole in it to expose the keyboard. This was a little tricky. I ended up cutting a piece of cardstock to the exact shape I wanted, then I used a piece of double sided tap to stick it to the keyboard exactly covering what I wanted exposed. Next I put several more pieces of double sided tape on top of the template and carefully closed the lid on it. When I removed the lid I now had the card stock template stuck to it exactly where I needed to cut the hole. After cutting the hole and the other modifications the lid didn’t fit quite as well as it used to, but close enough.
At this point I have a box full of hardware with a lid that fits on with friction. It would work as a desktop machine but it has a ways to go. The next step was to add the handle. I bought a replacement mountain bike grip from a bicycle shop and a drawer handle from Ikea. The drawer handle was a type that used a pair of standoffs that the mounting screws passed through to the handle itself which was a rod. I got this kind so that I could slip the bike grip over the rod and then screw the standoffs in place. I stuck a little foam inside the grip to make it fit snuggly over the handle and then screwed the whole assembly to the side of the case. I was worried about the screws tearing out of the styrene walls so I cut down a small piece of wood and whittled it to match the dimensions of the space and put the mounting screws through that. The wood is hidden inside the case and it distributes the weight to one whole side of it rather than just on the screw holes. To hold the lid in place and cover the ends of the handle I built a set of boxes that fit over the corners. These where for both structure and style. The plan was to put bolts through them to hold everything together, but this was a little harder to sort out than I expected.
Here’s what I ended up doing. I put the entire case together and drilled all of the holes, making my best estimations based on my pictures of the inside since I could see in it while it was closed. Then I took the corners and the cover off, put all of the nuts and bolts where I needed them, and generously applied Sugru to stick the nuts in place and keep them from moving. Sugru is handy stuff, it comes in little packets as a putty, you form it where you need it with your fingers or tools and 24 hours later it cures into an extremely tough rubber and bonds very strongly to surfaces. While I was doing this I took a bunch more Sugru and stuffed it in anywhere that looked like it might be trouble. Around fragile brackets, all around that damn VGA adapter, in the edges of that beveled corner, anywhere that looked like it might break.
Now I had to spend a whole day, looking at it and knowing it was mostly done, and not touch it. This was hard. Up to this point I had not even lifted the thing other than carefully transferring it from one surface to another. It was very fragile during construction, but after the Sugru set I was able to put it all together and finally pick it up and wave it around a bit. I had to be sure that it wouldn’t break or fall apart the first time I took it anywhere so I turned it every way possible and swung it around a little by the handle. I was pleased to find it held together nicely. The final assembly steps where adding a pair of strap loops screwed in by the bolts and I made a set of rubber feet on the bottom of it with some more Sugru.
Assembly was finally complete, it was time to finish it. Construction had left a lot of scars and blemishes on the styrene, from scratched to glue smears. I used some super fine grit foam sand blocks to make the surface nice and even and then applied several layers of clear coat. This made it look a lot nicer, and it also made the styrene sheets match the shiny black plastic of the core more closely.
At a screening of Hackers for the 20th anniversary of it’s release.
The final finishing touch was applying a number of stickers that I had found online. WolfeCreative on Redbubble is an amazing designer and made a whole slew of logo designs for the various companies featured in Neuromancer. For added flair I threw in a few that related to other cyberpunk franchises like a Reason sticker for a device from Neal Stephenson’s Snow Crash.
Here I should mention the HMD. It’s a pair of Vuzix 920 video glasses I found on ebay. The bracket that connects them to the “sunglasses” cover was broken, and the color was a little weird in the right display so I got it for a song ($60), but none of that really concerned me. The video rendered well enough, and the “sunglasses” cover was hideous. The actual working part of the glasses looked pretty cool, so I just made some arms out of scrap black styrene and glued them to it. It’s not very well finished, but I was out of time as I needed this rig the next day to go to a screening of Hackers for the 20th anniversary of its release.
It was a hell of a project. Weeks designing it, weeks building it, a workshop so amazingly ravaged that it took me two days of cleaning to find my work bench again, but in the end it was what I had dreamed of for so many years. It may be a weird little computer of limited application, but it’s a physical link to a lifetimes dreams of cyberspace adventures.
copyright 2016 Jason Benson