A 3D Modeled Keyboard Cap

After I got hooked by the allure of 3D CAD, I decided to practice my skills by making a 3D modeled keyboard cap.  I started working on something using OpenSCAD, but it proved difficult to get the sort of organic curves I wanted.  I wanted to get some experience using a GUI based-program, rather than just scripting.  Instead, I decided to try a program called Fusion360.  This program is a free variant of Autodesk for personal and low-impact use.  It sadly does not have a Linux build, but I have had luck with it on my Windows box (it has the more powerful gaming GPU’s on it anyway).

The Design

I based my design on the classic caps you would get on retro units, like the Commodore.  A modern variant is available from Signature Plastics (PMK) known as the SA profile.  At the time I originally made this model (April 2015), there weren’t any of these models freely available.  This should be similar to the SA keycap dimensions but not quite the same.

The 3D modeled keyboard cap from the side.

The 3D modeled keyboard cap from the bottom.

The Real World Versions of my 3D Modeled Keyboard Cap

I decided to have these 3D printed from a commercial vendor, rather than trying to print it on a home printer.  I wanted to get some better detail.

The first print.

The height is somewhere between Signature Plastic’s DSA and SA row 3 profiles.  You can compare the shape and size in the picture below of my 3D modeled keyboard cap  to a DSA (left, in black) and an SA (right, red) profile cap:

A comparison of the print to commercial versions.

I’m glad I did this test run.  The stem shrank in a way I didn’t expect, and the cruciform is a bit too big.  It slips on and off the stems too easily.  This is an easily fixable problem.

The bottom side.


I made a new version with a tighter cruciform.  I added some text on this one.  Nothing like a little American Psycho quote to brighten up a keyboard.  I ended up giving this to a colleague as a gift.

Feed me a stray cat.


If you would like to use this file, feel free to do so.  Check it out:

This is a 3D render, play around with it!

And here is a download link.


IBM Model M Mod

I decided that I should do my own IBM Model M mod.  In early March of 2015, I bought a Model M from a Geekhack user on the cheap.

The original IBM Model M I purchased with the cap covers off.

The keyboard was bolt modded, had a wonky membrane, and no cable.  I did a few mods to it.

The Caps

I dyed the caps aqua colored utilizing Jacquard iDye.  I boiled water and used an old metal colander to submerge the caps.  I oriented the caps in the same direction in the bath, and that gave them a nice gradient.

The keyboard with the case removed.

The electronics

Since few new computers come with AT-DIN connectors any more, for this IBM Model M Mod, I wanted to add a USB.  The original connector of this board was a hard-wired DIN connection.  I removed the old connector and added a Teensy for USB capabilities.  Desoldering the wires was easy enough, but I actually went through a few Teensys in the process.  I had a Teensy 2.0, but while soldering it I damaged one of the resistors/capacitors and the socket.  I did some work on it with the Teensy 2.0+, but I am going to use that for another project.  I bought a Teensy LC, but the ARM processor was giving me problems.  So I finally went with another 2.0.

I’m pretty proud of the usb connector.  I took the old DIN socket and ripped it all to hell with my Dremel.  I made little slots so the teensy board would slide in and super glued it to that spot.  I filled in the open area with epoxy clay so it looks fairly clean.

The clean surface of the USB connector.

I also desoldered all of the old ugly green LEDS and resistors on the breakout board.  I put in their place some bright blue LEDs and appropriate resistors for them.  Now everything looks bright and color coordinated.

I'm glad that I went with the bright LEDs. If you aren't blinded by your keyboard numlock, you aren't doing it right.

The Artisan Keys

I have a BS compatible Brobot from [Ctrl]Alt  as the escape key.  This picture is nice because it really shows off the color gradient on the other caps.

Purple Bro

I also have a pair of glorious multi-shot Krap bonus caps on the pause and scroll lock buttons.

One-off Krap caps - art if you like it.

Now I have a very attractive IBM Model M Mod.

The Finished IBM Model M Mod

SEM of Uranium Adsorption Sites

Before my dissertation project got underway, I was working on a project describing the kinetics of adsorption of uranyl ions onto a metal oxide thin film.  The thin film was impregnated onto pellets of silica and alumina, then I would submerge the pellets in a solution of uranium nitrate in water.  After being submerged for a while, the white pellets would come out with intense yellow-green coloration, as seen in the picture below:


pellets, before and after
Before and after uranium adsorption.

There is a lot of interesting stuff happening with the kinetics there as you adjust things like ion concentration, pH, mixing speed, etc.  We think that there is an ion exchange happening at the surface sites, but the kinetics get complicated.  There are clearly some Langmuir adsorption effects going on. But that isn’t what I want to show you today.  During my time doing my PhD, I was fortunate enough to get into a course on microscopy which was offered by the veterinary biology school.  When we weren’t busy looking at mouse blood and sickly tree leaves (those pics will come later), we had an opportunity to bring in our own samples to explore.  I decided I wanted to take a look at one of these pellets.  We mounted a sample onto a platen, coated it with some carbon, and took a gander at it through the scanning electron microscope.


One of these SEM images, it’s mesoporo-tastic!

Now here is the fun part.  This wasn’t your grandma’s SEM.  This one was equipped with an optional x-ray spectrometer for elemental analysis.  To generate an SEM image, we fire electrons at a surface and analyze the backscattered electrons and secondary electrons.  Not all of the electrons that hit the target generate the backscattering we need to ‘see’ a sample. Some of them wiggle and release the energy from the absorbed electron as a photon.  This means that while we are blasting the surface in the picture above we can analyze the photons that come off.  X-ray photons from atoms have particular binding energies which allow us to identify what is present in the sample.  In the sample I’m looking at, I can run a check and make a pretty graph of what is detected:

Elemental Analysis of the Thin Film under the SEM

redacted elements
Even from this, we can tell that the sample has already adsorbed uranium, and the thin film was mounted on alumina instead of silica.  I have redacted one of the atoms, since this work isn’t ready for real publication yet.

The instrument we use to check the elements in the sample come up on the plot as a color.  Since the instrument also saves each pass, I can look at them as overlays on the original SEM image.  I can see what goes where:


This handy-dandy gif shows each layer overlayed on the SEM image. The colors and order matches the peaks on the plot above.

That’s neat and all, but so what?  Well that is best part.  Did you notice how some of the colors in the animation above sort of glomp together?  I did. There is some significance to that grouping.  If we combine the overlays for the calcium and [metal X] onto one image, we see that these pair together nicely. This is because of the thin film we use: CaXOy.  The calcium starts out bonded to the XOy complex.  In the ion exchange mechanism, which is proposed as the primary mechanism for action in this system, the uranium/uranyl comes along and knocks off the calcium and takes over that spot.  When we see [metal X] and calcium together, we know that these are unreacted sites.  If we combine the overlays for both uranium peaks and the oxygen peak, these materials match up.  This suggests something important:

Uranium is adsorbing as the uranyl (UO_4) species, not the bare atom.

Surface Features Influence Adsorption

Now if we compare these two images side by side, we see that there are areas which are distinctly different.

calcium+[metalX] on the left, uranium+oxygen on the right The bottom image is the base without overlays to show features.

In the bright blue spots in the left image, there is little to no oxygen showing up on the right image.  This means that all of the oxygen in our metal oxide thin film as well as the oxygen in the structure of the alumina is sufficiently buried so that we can’t see it on the surface.  This also means that there is something about those locations that makes the uranyl not ‘want’ to bind there.  What is it about those sites?  I’ve included the original image here too so you can compare.  You can actually see that the blank areas have distinct features, even if it isn’t high enough resolution to make out the exact shape of those features.   There is clearly a preference for binding sites in this material.  This has ramifications for the kinetics experiments I was running a on the material.  If we classify sites that uranyl ‘wants’ to bind to as SITE1 and sites that uranyl doesn’t ‘want’ to bind to as SITE2, we can think about it like this:  The kinetics of adsorption would have a single mathematical model to describe how fast it adsorbs at SITE1, and it would likely have a distinct mathematical model to describe SITE2 locations.  But when all of the SITE1 locations run out, and the remaining uranyl is forced to bind at SITE2 locations, is there a smooth transition?  Is there some energy barrier separating these that we would see as a hiccup on the uptake curve?  There are some anomalies on the curves that still need explained.  Could this be the answer?

Unanswered Questions

Unfortunately, I didn’t have the time or funding to answer those questions when I got these data.  I presented my findings on the uranium uptake at two ACS meetings already(cited below), and I needed to move on to bigger projects.  So all I can do for now is to communicate to you, humble reader, how interesting this finding is.  These data may be published in the future when we finalize the uranium adsorption project into a paper, but until then I will leave this up for you to enjoy.


  1. Honeycutt, W. T., Hamby, H., Apblett, A. & Materer, N. F. Uptake kinetics of heavy metals from water using a high surface area supported inorganic metal oxide. in Abstracts of Papers, 247th ACS National Meeting & Exposition, Dallas, TX, United States, March 16-20, 2014 ENVR-272 (American Chemical Society, 2014).
  2. Honeycutt, W. T., Kadossov, E. B., Apblett, A. W. & Materer, N. F. Selectivity and kinetic behavior of heavy metal and radionuclides on supported ion-exchange adsorbant. in Abstracts of Papers, 249th ACS National Meeting & Exposition, Denver, CO, United States, March 22-26, 2015 I+EC-44 (American Chemical Society, 2015).

Redcedar Products wins awards at Baylor New Venture Competition

A few weeks ago, I took a trip down to Waco, TX.  My startup company, Redcedar Products, went to compete at the Baylor New Venture Competition.  


We had a great time, and had an opportunity to meet lots of exciting people and really put our business plan to the test.  Even better: we won money!

Redcedar Products was awarded an honorable mention, as well as the prestigious Power of Business Award.

I mean, just look at those happy faces.

I’d love to go into the detail of the interesting science behind what we are doing, but since we are planning to move forward with our plan, I can’t have you stealing my golden ideas.  You can check out the news clippings from the announcement of our win at the OSU website or the Baylor website.

UHV Electron Beam Fluorescence of UOx

Let’s get this thing started. This is a new blog which will be used to act as a frontpage for my projects. Since I have a few years of interesting stuff worth posting, I’m going to post old things every week. Each of these posts will be categorized as “backlog” and will be dated if possible.

I will start this with a gif I found from one of my old experiments.

This video was taken using my cellphone of a sample inside our UHV-XPS.  What you are looking for is in the center of the image.  There is a dark square which has some glowing spots.  The dark square is uranium oxide powder which is held to the sample holder by an advanced fixative (double-sided scotch tape).  In this image, we are not running the x-ray source.  Instead, we are blasting the surface with electrons to clean it off for the analysis.  In this process, a beam of electrons are shot at the sample, and the energy imparted will remove any adsorbed contaminants one layer at a time.  When we shoot these electrons at uranium oxide, there is a luminescent phenomenon.  The incident electron knocks around the electrons of the molecule and  the molecule wiggles away the energy by ejecting a photon.  This one happens to have a pretty green glow, which unfortunately doesn’t come across in the gif.

Another interesting part of this is the way the glowing portion seems to go from one blob, to two blobs, then back again to one blob, and so on.  This appearance is due to the shutter speed of the camera.  The electron gun is programmed to raster the beam across an area.  Imagine rastering an area similar to mowing a lawn.  You push the mower back and forth in lines to cover the area of the lawn.  Our electron beam is sweeping across the uranium oxide like a high voltage power-washer.  It just so happens that the zig-zag of this sweeping pattern syncs up with the shutter speed of the camera in such a way as to make it appear like there are little dancing blobs.  Pretty neat!