Virulent Keyboard Project

sad_destroyer

07 Jan 2013, 23:17

Hey everyone,

I'm working on a project similar to Phantom, but of my own design. I call it the Virulent Keyboard.
I posted a few months ago about creating this thing, and I've made some progress. So here goes:

I started with the basic ANSI layout and modified the bottom row and right edge. Took away function keys, numpad and arrow set. Then I placed a 5x5 pad on the left of the main layout. The purpose of this is to allow for centered hand placement! I find that I have my keyboard centered for gaming, and I lean to the left to type. So in this layout, gaming happens with the macro pad and mouse (righty here), and typing on the center matrix.
Image

Please, PLEASE address the "Considerations" section in my image. I need all the opinions I can get!

The keyboard has a "Function Switch" key in the lower left, that is my own layout modifier in place of scroll lock/num lock.

I just added the caps lock back into the design, it is not in code yet and it does not have a dedicated light yet.

In addition to this layout, I have made headway in the actual hardware/software.

I have:
100x plate-mounted (see Considerations) Cherry MX black switches
300x 5050 SMD RGB LEDs for the board
1x Teensy 2.0++

I did a lobotomy on a Cherry switch and found that the plastic to hold the LED could be cut off without changing key performance. This is my current planned method to make all the SMD LEDs fit underneath the keycaps... sacrilege, I know...

Adapted Phantom firmware that is in working order. I have tested this with larger RGB LEDs which I purchased before I discovered they would be too big. I also tested the Function Switch key and simulated the keypresses for each key in the layouts.
Here's the GitHub:
https://github.com/johnfonte/virulent

What is not yet complete is the PCB design, which I am creating with Eagle, and ordering from here:
http://oshpark.com/
Are there other (low-cost, low yield) options out there?
I actually have a schematic done but I need to modify it to use smaller Cherry chopped switches and add LEDs, then do wiring. I will upload the image of what I have when I am next on my desktop.

Thanks for reading!
-sad_destroyer

User avatar
damorgue

07 Jan 2013, 23:26

Always nice to see another project, although there seems to be an awful lot of competition these days. Consider making several and making them available to bring the costs down. perhaps I missed it, but have you though of a case yet?

sad_destroyer

07 Jan 2013, 23:44

damorgue wrote:Always nice to see another project, although there seems to be an awful lot of competition these days. Consider making several and making them available to bring the costs down. perhaps I missed it, but have you though of a case yet?
Good idea, thanks! Any more insights into my design decisions?
As for the case, that is currently one of my problems...I've made it an unwieldy size, and I would be reluctant to fit it into a case that is too large. So I was thinking figure that out last, and maybe get a slightly large one and slice it to size.

-sad_destroyer

hoggy

08 Jan 2013, 14:08

I like the pad on the left. Looking good.

I'd be tempted to swap ` and esc keys (you might want to consider swapping capslock and backspace, I love having capslock as backspace - in fact, I don't map capslock...) You get used to it real quick.

What about placing the function keys (f1-f12) as fn-1, fn-2 etc? I'd be tempted to have a layer for the cursor keys within the left 5x5 block.

Have you got a source for the translucent caps - I think qwerkeys has some.

Hope it helps

User avatar
Daniel Beardsmore

08 Jan 2013, 14:57

How do Ducky manage RGB LEDs without hacking bits off the switches?

What's the colour code for the layout? It seems to be almost fingers, but it's not.

Do you not have an Fn layer, e.g. Fn+1 = F1 etc?

The bottom row is just weird. A duplicate shift, duplicate backspace, a spacebar that probably won't match where anyone reaches for it, and alt and Win are back to front. Ctrl, alt, Win, in that order. Also, the odd key sizes will upset anyone trying to replace the keycaps.

I don't know what the deal is with PCB mounting. I imagine it depends on the number of standoffs in the case, and Cherry G30 keyboards have seemingly very few, which means that the PCB flexes alarmingly inwards. Some people find Pokers improve with just one more standoff in the middle, or so I recall reading. I don't mind PCB mount, so long as the PCB is properly supported! (Cherry G80 keyboards are made worse by just being thin and flimsy all round, more even than cheap Dell rubberdomes.)

sad_destroyer

08 Jan 2013, 16:16

hoggy wrote:I like the pad on the left. Looking good.

I'd be tempted to swap ` and esc keys (you might want to consider swapping capslock and backspace, I love having capslock as backspace - in fact, I don't map capslock...) You get used to it real quick.

What about placing the function keys (f1-f12) as fn-1, fn-2 etc? I'd be tempted to have a layer for the cursor keys within the left 5x5 block.

Have you got a source for the translucent caps - I think qwerkeys has some.

Hope it helps
Thanks hoggy.

Yeah, the caps/tilde/esc configurations are something i'm playing around with. Luckily, i will be able to change them in software very quickly. I may not end up mapping caps lock - it is useless more often than not. In fact I had esc in the caps lock position until recently, and with a stepped keycap I would be less likely to hit it accidentally.

A function layer may work, I'll look into it. Not quite sure how a keyboard handles that modifier - it may be that I have to translate fn+key presses before giving a command to the OS.

I may modify a few of the layouts to contain the arrow keys, I had them in there at one point. I'm liking the way you think - you're pointing out lots of things that I'm going around and around in my head about. I'm enjoying the feedback!

My current plan for translucent keycaps is a replacement Ducky set from mechanicalkeyboards.com, and I'll get the rest of the oddly-sized caps from qwerkeys.

-sad_destroyer

sad_destroyer

08 Jan 2013, 16:41

Daniel Beardsmore wrote:How do Ducky manage RGB LEDs without hacking bits off the switches?

What's the colour code for the layout? It seems to be almost fingers, but it's not.

Do you not have an Fn layer, e.g. Fn+1 = F1 etc?

The bottom row is just weird. A duplicate shift, duplicate backspace, a spacebar that probably won't match where anyone reaches for it, and alt and Win are back to front. Ctrl, alt, Win, in that order. Also, the odd key sizes will upset anyone trying to replace the keycaps.

I don't know what the deal is with PCB mounting. I imagine it depends on the number of standoffs in the case, and Cherry G30 keyboards have seemingly very few, which means that the PCB flexes alarmingly inwards. Some people find Pokers improve with just one more standoff in the middle, or so I recall reading. I don't mind PCB mount, so long as the PCB is properly supported! (Cherry G80 keyboards are made worse by just being thin and flimsy all round, more even than cheap Dell rubberdomes.)
Thanks Daniel.

The color code is fingers, but I ran out of discernible colors on the web editor that I'm using. So I re-used colors where they wouldn't touch.

There is no Fn layer as of now, I wanted to simplify code and have just the one modifier for layout switching. If I can place Fn so it doesn't annoy me or interrupt my Win/Alt keys, I'll do it.

Yep, there's lots of duplicates, and for a few reasons:
This layout is VERY customized to something I want. The space bar is exactly where my right thumb rests naturally, and the backspace is my attempt at not reaching a mile with my right pinky.
I want to use my left thumb for something. I don't use it for space, so I want to have it on modifiers (ctrl/shift especially) to give that left pinky a break.

I realize they may upset other people, but as this project is mainly for myself, anyone who wants a copy will really have to want it :)

Another advantage of having all those modifiers is that I can switch them around, for instance if I hated Alt for some reason I could nuke it. And thanks for the tip about the order, the standards confuse me. If it's really needed, the bottom keys could all be mapped back to the space key.

Yeah I think the PCB mount will be fine, I plan to build in some standoffs, and they'll be the feet until I get a case. The site I'll get my PCB printed from makes some quality stuff.

-sad_destroyer

sad_destroyer

08 Aug 2013, 19:55

Here's an update to my keyboard project.

It's been a really long time since my post in January, but I have a respectable-looking PCB design now. Here are some iterations, from oldest to newest:

Pretty sure this one is 17 inches, and I stupidly did all the routing by hand:
Image

Still hand-routed, but a little smaller.
Image

Using the auto-router. This one actually looks pretty good. Not spaced to fit the layout yet, though. Also doesn't have the RGB LEDs.
Image

RGB LEDs, auto-routing, Teensy up top. Indicator LEDs to the right.
Image

Moved keys into layout formation. Changed some pins around, I think.
Image

Moved the Teensy to between the macro pad and the main layout. Indicators to the left.
Image

Well, those are my iterations, comment away.
I'm still undecided on even using the RGB LEDs under every key. I may just add them to the macro pad and a few keys on the main keyboard.

Here's the GitHub again, I pushed some updates after the original post:
https://github.com/johnfonte/virulent

The last image is 80 sq. in., which comes out to a couple pricing options:
10x for $550 ($55/board) - Pentalogix
3x for $400 ($133.3/board) - OSHPark

Neither of which are fantastic. Any suggestions on this would be great.

Another note: The spacing in eagle is 0.05", which doesn't allow me to do 0.75" center-to-center distance.
Probably a quick fix, anyone know how to change the spacing down to 0.025"?
This would decrease the board size a bit, hopefully to 67.5 sq. in.
The pricing at Pentalogix wouldn't change, but OSH park would go down:
3x for $337.5 ($112.5/board) - OSHPark

sad_destroyer

25 Jul 2014, 21:38

Hey guys,

Posting an update to this thread in hopes people will see it. I did in fact complete my project, and I'm back to tell about it!
For more info go to reddit: http://www.reddit.com/r/MechanicalKeybo ... tory_shoe/

Here's the final PCB layout.
I went with RGB LEDs atop each key, which are optional if you take the time to cut off the extra plastic from Cherry switches
(Where a 2-pin LED normally threads).
Image

Here's the image I use to show the final version:
Image

Code:
https://github.com/johnfonte/virulent

Good things:
My custom bottom row placement means I never use my left pinky to hit shift or ctrl - my left thumb does these instead.
My right thumb is perfectly over the 1.25u spacebar.
Soldering went extremely well throughout.

Things to improve:
I placed the USB connector directly in the way of my ESC key! :(
My microcontroller has its LED test pin connected. Annoying constant orange light.
Three of the keys are faulty: left shift is intermittent, #4 sticks, and V sticks sometimes.
There's no case currently.
I want to upgrade the firmware, it's currently finicky IMO.

Next steps:
Fix PCB to place the USB connection away from keys.
Allow for multiple layouts on the PCB so others can build on it! This would include options for left-handed TK, TKL, or 5x5 macro, as well as normal main keys or tightened main keys.
Use 2-pin LEDs for each key, not 6-pin surface mount LEDs.
Upgrade firmware to C++ and add features.
CAD a metal, acrylic, or 3d-printable case.

Post Reply

Return to “Keyboards”