Using Glowforge, 3D printing, and SketchUp to create custom keyboards
Kevin Simpson, a front-end/Javascript developer for Trimble, spends a lot of time jockeying a keyboard and crushing out code. Because of this, he has developed a bad case of tendinitis in his wrist. He has tried to solve this issue with all of the usual solutions: taking breaks, finger curls, and stretches. None of these solutions have had any lasting, measurable effect. This led him to two options: surgery or some kind of technical solution. As a hobbyist maker and a general fan of technology, he went with the latter and decided to build two split ortholinear keyboards - one for working from home and one for the office.
Anyone old enough to remember the splash that split keyboards made back in the late 90s will remember split keyboards as larger, bulky affairs that took up a lot of desk space and were really difficult to type on. These products are still available, but I often work from home and didn't want to lug one of those mammoth devices to and from the office on a daily basis. So I began looking for more elegant options; enter the Keebio Iris.
The Keebio Iris
The Iris is an ortholinear keyboard, meaning that instead of having staggered rows of keys, rows are all set up and aligned with each other. The split design of the keyboard and the fact that the left and right sides of the board are not mounted together means that they can be arranged at any angle, which is the real benefit. Instead of having to keep my wrists flexed inward while I type, they can remain aligned with the rest of my arms.
Decisions, decisions
Unfortunately, the Iris doesn't come in a ready-to-go kit. It requires collecting a series of components required to build the actual device, including the PC boards, a TRRS cable to connect them to each other, a USB-C cable to connect them to my computer, a case to build it into, mechanical switches for each key, and keycaps to cover the switches themselves.
As a hobbyist maker, I wanted to dig into this project and build some of the components myself, specifically the case. I had several options for how I could go about building the case, from using basic carpentry and wood, to 3D printing the case using one of the many printers available at the SketchUp office, or cutting it out on the office Glowforge.
The Iris does have several styles to choose from and I went with the Rev3. It helped that I could find some .svg files for this model, though anyone who has tried to import .svg files into SketchUp knows that will only end in despair. I converted the files to .dxf and brought them into SketchUp.
With my base file now in SketchUp, it was just a matter of tweaking a few connections. I added a hole for the reset button and altered the design a bit to accommodate some different cable positions. As a bonus, I also added tabs to tent each case upward.
Putting everything together
From here, it was really a matter of figuring out the medium I was going to use for case components. As the switch and base plates were flat and thin, cutting them out with a laser cutter would work great. However, the middle layer presented some challenges. This section of the case went around the periphery of the PC board and needed to be at least 9mm thick. This meant that a single 3mm acrylic layer cut out on the Glowforge wasn't going to cut it. I'd either have to sandwich the layers together or use a 3D printer to build the case components.
Option 1: Using the Glowforge
I decided to continue using the Glowforge even though there were a few downsides. First, the sandwiched layers would be easy to see. Second, acrylic is a relatively expensive medium. Third, the LEDs mounted to the underside of the PCB wouldn't diffuse terribly well against the clear acrylics I had available to me. That said, this approach would yield a very clean design that would fit perfectly.
Option 2: Using a 3D printer
Using a 3D printer would work too, but again, it has its own problems. If I wanted to have the LED light visible on the side of the keyboard, I'd have to use frosted PLA at a substantial infill. This would make the print time exceptionally long. The other problem is that the 3D printers that I had available to me would produce a middle layer that was a bit rougher than what I would be able to produce with the Glowforge.
The challenging middle layer. Pictured above: using the 3D printer.
In the end, I decided to go with using the Glowforge for my first build and to try 3D printing the mid-layer on a future build.
The Glowforge in action.
Now that I had all of my design decisions made, I had to figure out how to make the SketchUp files work with the Glowforge UI. To accomplish this, I arranged the parts in SketchUp to match how I wanted them positioned on the cutting bed of the Glowforge. I then went to a Top view, toggled the camera to Parallel Perspective, saved the file, and sent the design to LayOut.
Glowforge UI with SketchUp files imported
Once the design was in LayOut, I adjusted the scale of the design to 1:1 and changed the render method from Raster to Vector. I exported the file as a .pdf and imported it into the Glowforge UI. PDFs generated from LayOut often include both shape and edge information, so I could tell the Glowforge to ignore the shape data and simply cut along the edges.
Version 1 was such a success that I created V2 with even more customization. My wrists thank me every day!
For the final plates, I opted to use black acrylic for the top plate and clear acrylic for the mid plates. This combines for very cool rim-lighting effects. It also contrasts nicely with the keys I chose: off-white keys with green and orange accent colors.
Assembling the keyboard is a whole mess of wiring, soldering, a few screws and popping keys in place, but it does help to have the accuracy of laser cut plates that fit perfectly together.
After some work and creativity, I have two custom keyboards to help with my tendonitis. One I keep at work and one I use when I work from home.