Hello,
I am sure a decent number of you on this forum know me but my name is Acerecon and I've been a fan of custom keyboards for a few years now. Today i am going to be sharing and discussing the design and build process for the first custom keyboard I designed and assembled... the Aergo.
Background:My brother and I are both pretty active keyboard users. He's a computer scientist who works on robots and I'm a biomedical engineer who writes hundreds of emails, presentations, and reports every year. My brother recently had wrist pain and he's improved that by using a more ergonomic keyboard. At the time I had only owned a few custom keyboards but I learnt a lot from those as far as how a keyboard is designed so I figured what the hell maybe i should start trying to experiment with designing and manufacturing a keyboard that’s easier on the wrists while also being a high quality, well designed case. My aspirations were high as the two customs I had owned so far were both very high quality: the QXP and the TMO50.
Design Goals:I did a lot of research into ergonomics when designing this keyboard. I noticed that a lot of users really loved the Alice. The alice reduces the strain on your wrists by angling the alpha row towards each hand independently. This in theory reduces the amount of twisting, known as pronation, that your wrists have to experience while typing.
Additionally, I noticed that a lot of the more ergonomically focused keyboards had more keys closer to the fingers so you don't have to as much wrist movement up, down and around the keyboard to type. I loved this on the TMO50 so I wanted this too. However, I am a pretty avid gamer (why does saying that somehow feel cringe...) so I personally needed more keys around the home row. Perfect for those moments where you need quick access and don't have the time to enter a layer and press a key. Things like buying an item or casting a rare but timing crucial spell in an MMO. Put all this information together and I identified a few key design goals.
Ergonomic spacing of the keys that puts all the alphas in positions that are closer to the fingers that are intended to use them.
Enough keys that I could still be able to play Mobas and FPS games.
Enough bottom row keys that I could have more flexibility with using multiple layers. I wanted enough keys near the thumbs you could have multiple layers for easier access to numbers and arrow keys without having to move my hands. This is the setup I have for TMO50 and I love it.
Tenting. I had tried this a few times with other keyboards and I just loved the way it reduced strain on the tendons. However, I do not like the aesthetics and usability of split keyboards, so I decided to try and build a keyboard that had tenting built in.
High quality, high profile, top mounted construction with a tightly spaced interior for good aesthetics and sound.
Now, I will be completely upfront here a huge inspiration for my design is the Esrille Nisse. I found that this design hit most of my goals described above. A lot of reviews online said this keyboard was really great so I knew I wanted to do something similar. However, from the Nisse I changed a few things to better meet my goals. In my opinion the nisse has a less pleasing aesthetic and I wanted to change that. Additionally, I have found that any bottom row key less than 2u is very unpleasant to use as a spacebar so I took the bottom row from Alice and adapted that to the Aergo.
Plates:I’m an engineer by trade and if my CAD teacher drilled into my head anything it’s that you need to define all your sketches. This posed a really big challenge for designing the plate for Aergo. I got a rough estimate of the location of the keys from the Nisse, but I had to actually define it myself. Here’s what I ended up with.
The main jist of plate layout is this. Instead of each row being staggered on a normal keyboard, each column is staggered. This is accomplished by sequentially increasing the angle to the horizontal each column is at. The alphas begin at 0, then 5, then 11, then 12, then 14 degrees. This very closely follows the natural spacing of your fingers if you were to just lay your hands out at rest on a piece of paper and draw where each finger laid. (I did this to create the angles). Finally, there’s one additional column used by the 3 and 0 keys that’s angled at 7 degrees to rest in between the W and E column angles. The angle of the bottom row is chosen to most closely match the column in the middle of where the key is spaced. This looked the most natural to me. Here’s a photo of the plate with each angle marked.
Finally, the mods. I chose to use really small modifier keys on this layout for a few reasons. First is that full size mods is a waste. No one needs that much space, especially when you no longer have to twist my wrists to reach keys like you have to on a normal keyboard. Second is that the more columns there are, the taller the center of the keyboard is due to the tenting. I originally had wider 1.5u mods but cut it down due to how tall the height was getting in the middle. It was starting to look ridiculous.
The last weird thing about this layout is the additional keys on the inside. The reason for this is simple. When you have a normal keyboard, the position of the home rows is a little too close together to be comfortable in my opinion. By adding two additional keys on the inside between the halfs, this spaces the home rows out to a position that’s much more natural. If you have a normal keyboard, imagine instead of resting your hands on F and J, you instead rested them on F and L. Much more comfortable, huh?
Finally, I put some alignment pins and cutouts to position it in the top housing and slapped some cutouts on the mofo cause everyone else seems to be doing it, and it affects sound… or flexibility.. Or something. I think. Here’s the end result:
Angles:This board uses a few angles on it. I chose 10 degrees for the tenting angle because it was a middle ground between significant enough to notice, but not significant enough it made the board look really really tall and ugly. Also, among users of tenting, it polled the most common tenting angle. Finally, I angled the board traditionally at 6.9 degrees because I like that angle.
EngravingI chose an engraving of the house because the Kb-Kustoms community made fun of the keyboard by saying the back design looked like a monopoly house. Of course I thought that was hilarious, so I put a house on there. It’s modeled the same as the front of a monopoly house!!
Mounting Structure:For this keyboard I chose top mount construction. I'd used the QXP, a sandwich mount keyboard, but i found that harsher and less comfortable to type on. Whether that was the build, the switches, or the mounting system, it's hard to know for sure, but it made me not want to experiment with sandwich for my first design. On the other hand, my favorite keyboard of mine I've typed on is my TMO50 which is top mounted, with 8 mounting points. Other than that I have only done a bit of typing at meetups and on friends' boards for isolation, gasket, or integrated plate mount. For these reasons, combined with the fact that top mount is the easiest to implement, I chose top mount.
Here’s a shot of the internals that shows how Aergo is mounted. It used a pretty normal 8 point mounting system, one in each corner of the two plates.
PCBs:As there are two distinct angles, there can’t be one PCB (unless it were a flexible one, but i looked into that and it’s not really practical or feasible at this size). Therefore I chose to go with two pcbs. I learnt afterwards I could have connected the internals using some smart protocol like master/slave on with multiple MCUs or with some other kind of protocol. However, this meant that I would have to solder multiple controllers, and I didn’t want to do that, so I chose instead to just use a 15 pin JST connector to directly connect the halfs. Take this, months of staring at kicad, rereading AI’s guide a million times, asking tons of questions throughout discord I ended up with the following PCB design. For the daughterboard I used AI03’s universal daughterboard design.
Final Assembly:I feel like I’ve written way more text than anyone would care to read, so I'll leave with some photos of the assembly process I took along the way. And the final result.
https://imgur.com/a/QWveqdITyping Test: https://www.youtube.com/watch?v=15XBXmr-gkQThanks for reading and a huge thanks to everyone who helped make this keyboard a reality. I absolutely love it not only for the object, but for all of the amazing people I’ve spoken to along the way.
Special Mentions:
Xondat, thanks for all of your help with design. Your feedback on my initial drawings was extensive and hugely helped. Thank you for taking the time to review it. Also thanks for supplying me the daughterboards (even if they took months to arrive, in typical Xondat fashion).
AI03, For all of your help with pcb and case design, as well as creating your discord channel which was a really great resource for getting feedback on pcb and case design.
Bisoromi, President of the dent gang, for all your design tips and assistance.
Duckboi, you acted as a constant springboard for ideas and thoughts and for that I am super thankful.
The entire kb-kustoms community for all their hilarity and friendship along the way. While I know many think that kb-kustoms is a group of bitter mocking *******s, I’ve learnt a great deal and enjoyed sharing a lot of this keyboard with you all.
Funderburker, for your design of TMO50 and friendship. I used a lot of the internals of TMO50 to help me understand how keyboards are made on the inside.
Reallaugh, for all of your help designing/building the pcb!!
And really a ton more I can’t think of right now.