Author: goodnewsgeorge

  • GNGKB75: A Custom Keyboard

    GNGKB75: A Custom Keyboard

    The Design

    Earlier this year, I spoke on The Board podcast about plans creating a custom keyboard of my own. I had no idea that it was going to be a project that I’d finish before the year ended.

    I was thinking about what kind of layout I wanted for my custom keyboard, I decided I needed something to replace my daily driver (a KBD 19X). I would have used one of my many HHKB layout keyboards at home, but they were missing the dedicated F-row which I needed for gaming. That became my starting point for the keyboard – an HHKB layout with an F-row.

    For those of you wondering why didn’t I just buy the EVE Meteor, when it was on sale I was still new to the hobby and wasn’t sure about dropping that much money on a custom keyboard (let alone one that I had to solder). The GNGKB75 was inspired by its design, along with the Plum 75. The TX-75 would have been my next choice if I didn’t commit to this project.

    The PCB

    I drew up what it would look like in Keyboard Layout Editor and pitched it to Don, who gladly took the design and started working on the PCB. During the process, contrary to what he initially assumed, we both learned that I knew nothing about making keyboards. It was an entertaining back and forth process (thanks for being so patient with me) which didn’t take very long.

    For the layout, it wasn’t anything special – just a regular HHKB layout with a row for the function keys. In my original layout, I had left some space in between the number row and the F-row – Don missed it out (it was only discovered after the PCBs had been sent for manufacturing), but it wasn’t that big of a deal to me – at least the gaps separating the blocks of F keys were still present, which was more important to me. The gaps beside F clusters allowed me to hit the keys on the sides without looking at the keyboard (important for gaming).

    There was the question of what to do with the additional key on the top row – Don suggested a rotary encoder, which I was immediately on board with. I thought it gave the keyboard a nice touch, was in a nice position, and I enjoyed using the one I had on my Planck. It also gave him the chance to experiment with using encoder footprints on the PCB.

    The Case

    For the case of the keyboard, I had wanted it to look like a Model F – however, after learning how much it would cost to create such a case, I scrapped those plans and decided on an acrylic sandwich instead. Again, Don whipped up the files for the plates in no time. I got them cut at a local shop (thanks Evolve3D!)

    However, I learned that the plate for the keyboard wasn’t perfect when trying to put it together. There was something wrong with the size of the holes for the switches – when one side had the switches put in, the other side would be crooked, and when I straightened the crooked side first, the other side would become crooked instead. To solve this, I used a filing tool to expand the affected holes by about 1mm, and all was fine.

    Unfortunately for me, I only noticed this issue after I had soldered the switches in (I have nobody to blame but myself) so I had to spend time desoldering the switches first – which lead me to lift one of the pads on the PCB. This meant I had to jump the switch using a wire – a new experience for me.

    The Flaws

    One of the problems building my prototype was the switches I used for the keyboard – Everglided Oreos (from Drop). The switch for the space bar was having trouble returning after I put the keycap it on. Initially, I thought that I had installed the stabilizers wrongly, but after checking them thoroughly, it wasn’t the case. I thought, maybe it was a problem with the plate – I filed the stab and switch holes down to no avail. I thought, maybe I had too much lube on the stab, so I wiped it off – no difference. I tried using the switch and stabs with no plate – again, it didn’t help. I went through about five different switches, still no improvement. In the end, I replaced it with a T1 switch, and everything was well again. Based on the solution, it certainly seems like a fault of the Oreo switch, but I’m not convinced – the switch spring isn’t even that light. Anyway, the space bar returns normally now, so I don’t have to worry about it.

    The hardest part about building the keyboard? The long wait for all the parts to arrive (diodes, standoffs, screws, etc) so I could build it. It was then about a day of troubleshooting, including desoldering switches, filing the plate, and jumping a lifted pad.

    Acrylic sheets not being exactly 3mm meant that my standoffs were slightly too long – I didn’t account for it, which meant I had some gaps in between the top layers of my case.

    The corners of the acrylic sheets are way too sharp – something I didn’t take into account during the design stage. The blockers for the F-row cluster gaps are also missing (an oversight).

    The Future

    This was my first time dipping my toes into the keyboard designing experience, and I had a lot of fun doing it. While my first keyboard isn’t perfect and there’s plenty of room for improvement, I’m happy that it has been completed and I have a functional input device to use. This post was written on it!

    If I were to continue to improve this keyboard (which I’ll probably do in the future since I still have some extra PCBs), I would make the following changes:

    • Include rounded corners so my keyboard doesn’t accidentally cut anybody
    • Figure out what caused the plate to be cut incorrectly so no additional filing needs to be done
    • Include blockers for the F-row clusters
    • Increase the size of the standoffs and screws to M3
    • Produce a metal case if I have the funds for it

    Edit 2/1/20 – forgot to include the typing test video I recorded for the keyboard

    GNGKB75 (Acrylic case)
    – JTK Hyperfuse
    – Everglide Oreo switches


    If you’re interested in building one of these yourself, I’ve got 4 spare PCBs available – I can sell them at cost ($15) + shipping (depending on your location) – you’ll have to source the onboard components and case yourself. Just drop me a message (on Reddit or comment here) to let me know.

    All files for the keyboard are open-source and available on Github.


    Once again, thanks to Don for all his help. Without him, this project wouldn’t have even taken off. I would still be at step zero.

  • 2019 Season Finale: Part Two, Hello Oxy

    Another post about being old, how boring


    I’m now thirty-four, and I realize that I’m still facing some of the same problems I have faced many decades ago: pimples. By the way, did you know that acne and pimples aren’t the same things? The more you know.

    I remember being the pimply-faced kid back in school. I was relieved when I grew out of it after many years. I’m not sure if it was the facial sessions I went to, me washing my face with skincare products, or just my body adapting to hormonal changes – my face eventually cleared up.

    While I’m free from outbreaks, I still get the occasional pimple popping up now and then (probably due to my bad sleeping habits). The other day, I was thinking to myself, I should do something about a pimple that kept popping up in the same spot. I visited a pharmacy and bought myself a tube of Oxy.

    I chose Oxy 10 instead of Oxy 5 because why would you pay for something weaker? (It didn’t occur to me that it would affect some people differently, fortunately for me, I haven’t experienced any side effects).

    Long story short – I’ve started using Oxy daily for the past week, and man this shit is pretty good! While it’s not instant like pimple popping at a facial (god, that shit hurts), it has been very effective in taking care of the pimples on my face.

    The other day a bright idea came into my head – why not try it out on the pimples on my ass? I’ve been bothered by a couple of pimples that have surfaced there and refused to go away.

    And if you’ve been wondering about the answer – yes, it works. Not that you’ll be able to verify my buttcheeks, but you can take my word for it (or try it out for yourself). I don’t know why I was so surprised to find out that it was just as effective. Skin is skin, and pimples are pimples, right?

    Well, I guess you do learn something every day.

  • 2019 Season Finale: Part One

    I’m not sure how many of these I’m going to write, but I thought it’d be good writing practice to just put my thoughts down about the year (and more) before the year ends.


    And so, we’ve arrived at the conclusion of another year. Time to recap what happened over the past fifty-two weeks and plot down what’s going to happen next. This is kind of silly since we all know that time is a man-made construct and only has any value because that’s what we’ve given it.

    Like who said one second had to be one second long? I feel like I’m rambling, but I guess it’s better than not writing anything on this blog. I’ve been slipping up, haven’t been updating as frequently as I have in the past, but that’s okay. I recognize it and I know that it’s not a big deal. I don’t have a thousand readers a day coming to find out what’s been going on in my life, and what’s running through my mind.

    I’ve grown older by another year, and I feel like life has begun to slow down for me. I don’t do as much as I used to because I don’t feel like it. These days, I’m happy just chilling at home with a nice show, some twitch stream or just sitting in a cafe with a coffee and a book, or having a conversation with a friend. I don’t miss partying at all, it’s weird.

    When I was younger, I enjoyed it immensely, don’t get me wrong. I don’t regret (most of) the times I used to spend with my buddies, getting smashed at clubs, eating Maggi Goreng at mamaks after and nursing a hangover the next day.

    Sure, it was a waste of time in hindsight, which is probably why I don’t do it anymore, but it was just something I did in the past. I mean, if I was to turn back time, what else would I have done back then? Spent those nights studying or learning a new language? Probably way more beneficial, but also I wouldn’t have had all these alcohol-fueled experiences I’ve mostly forgotten.

    I guess the main thing, is I had fun doing it, and it’s great to spend time with people close to you. That’s one thing that you shouldn’t take for granted. There’s no telling what’s going to happen to them in the future, you’ll never know when you’ll see each other again, and that reason alone is probably enough. Don’t regret spending time to have fun – if you feel like you could be more productive – start now. Unless something you want to do has a definite deadline (like traveling to the sun after 5 billion years (the estimated time it will take to die, in case you were wondering (wait, you’d be dead long before that))) – it’s never too late to do something.

    The worst thing you can do is sit around regretting something you didn’t do in the past. Be the change in your own life, make the most of the time you have left.

    On another note, I used to read my Facebook ‘what happened x years ago’ notifications daily. These days the only time I click on it is by accident or when somebody makes a comment or reaction to something in the past. Not sure why I stopped, but it hasn’t affected my life. Like religion. Or horoscopes. And personality tests.