Custom Mechanical gaming Keyboard *Idea* could use help
-
- Main keyboard: Gigaware
- Main mouse: Razer Lachrises
- Favorite switch: NO idea atm
- DT Pro Member: -
Hi, Came across Deskthority while looking for info on cherry buttons and other stuff to help keep costs low and quality high on a keyboard I would like to buy, time for the real topic.
I would like to build a 100% custom keyboard to game and do every day stuff (even though that's mostly gaming) that is like the Luxeed LED keyboard in that, I could assign individual buttons unique colors, having the entire button light up while still being visible during the day.
This keyboard would also have more than the standard 104 buttons and every one of them could be mapped uniquely (most would stay what they are), also some special function buttons at the top for media and desktop utility, and some sort of gaming layout that I like ot use since I use the arrows instead of wasd.
The "body" or "frame" i would like to make out of black acrylic (plexi glass) because the place I was going to have the layers of acrylic cut do laser cutting, cnc rastering and etching, and their picture of black acrylic with a heavy rastering looks like it would be nicely visible during the day for the logo and what ever else, also acrylic looks nice, with True Clear acrylic buttons, the problems that this choice of material poses is, the keyboard will be HEAVY (not that it matters to me), and true clear acrylic buts are rare to find, and the way I was going to do it I think will look unfinished because it won't have the edge beveling that all keys have, and in terms of lighting is that clear acrylic "is" glass so light would just pass through and "slightly " illuminating the button, but all the actual buttons that I'm looking at were going to cause the leds to be off to a side, which could cause issues with proper illumination of the caps.
In terms of electronic functionality I was originally planning on using tactile push-button for the switch and using copper tape to layout the electrical grid for the buttons on the bottom layer, another sheet of black acrylic to hold the buttons in place and provide insulation followed by a 3rd sheet with the leds in it and more copper tape to provide teh lighting grid, however a friend suggested that I use Cherry MX black or red buttons, and now I kinda am obsessed with having them, the problem is out side of the microcontroller board I don't want to spend and a lot so finding out the cheapest I can get is Cherry MX black and for enough buttons to make the keyboard and have some spare would cost $133 vs the $30 for the tactile buttons, also the MX buttons are bigger and sort of need a PCB so that kind of makes having multicolor LEDs a no go and having a single board made up is going to nearly $2000, for that kinda money I'd rather have mini LCD screens for buttons then I could make them what ever I wanted, and for the micro I plan on over kill a cypress CY8C5568 PSoC basically its an ARM M3 that is completely configurable but it has full speed usb, and finally I'm not sure if I want a LCD of sorts on the keyboard or not atm.
If anyone has any ideas or suggestions I'd love to hear em, especially in the way of what size LED's can be fit into MX blacks/reds (hoping 5mm), and any suggestions for say maybe a very inexpensive mechanical keyboard that uses MX reds or blacks that I could gut to get supports, buttons, and the pcb, also if anyone has some awesome suggestions for "lightable"caps that are low-cost and work for MX style buttons.
Thanks for any help.
I would like to build a 100% custom keyboard to game and do every day stuff (even though that's mostly gaming) that is like the Luxeed LED keyboard in that, I could assign individual buttons unique colors, having the entire button light up while still being visible during the day.
This keyboard would also have more than the standard 104 buttons and every one of them could be mapped uniquely (most would stay what they are), also some special function buttons at the top for media and desktop utility, and some sort of gaming layout that I like ot use since I use the arrows instead of wasd.
The "body" or "frame" i would like to make out of black acrylic (plexi glass) because the place I was going to have the layers of acrylic cut do laser cutting, cnc rastering and etching, and their picture of black acrylic with a heavy rastering looks like it would be nicely visible during the day for the logo and what ever else, also acrylic looks nice, with True Clear acrylic buttons, the problems that this choice of material poses is, the keyboard will be HEAVY (not that it matters to me), and true clear acrylic buts are rare to find, and the way I was going to do it I think will look unfinished because it won't have the edge beveling that all keys have, and in terms of lighting is that clear acrylic "is" glass so light would just pass through and "slightly " illuminating the button, but all the actual buttons that I'm looking at were going to cause the leds to be off to a side, which could cause issues with proper illumination of the caps.
In terms of electronic functionality I was originally planning on using tactile push-button for the switch and using copper tape to layout the electrical grid for the buttons on the bottom layer, another sheet of black acrylic to hold the buttons in place and provide insulation followed by a 3rd sheet with the leds in it and more copper tape to provide teh lighting grid, however a friend suggested that I use Cherry MX black or red buttons, and now I kinda am obsessed with having them, the problem is out side of the microcontroller board I don't want to spend and a lot so finding out the cheapest I can get is Cherry MX black and for enough buttons to make the keyboard and have some spare would cost $133 vs the $30 for the tactile buttons, also the MX buttons are bigger and sort of need a PCB so that kind of makes having multicolor LEDs a no go and having a single board made up is going to nearly $2000, for that kinda money I'd rather have mini LCD screens for buttons then I could make them what ever I wanted, and for the micro I plan on over kill a cypress CY8C5568 PSoC basically its an ARM M3 that is completely configurable but it has full speed usb, and finally I'm not sure if I want a LCD of sorts on the keyboard or not atm.
If anyone has any ideas or suggestions I'd love to hear em, especially in the way of what size LED's can be fit into MX blacks/reds (hoping 5mm), and any suggestions for say maybe a very inexpensive mechanical keyboard that uses MX reds or blacks that I could gut to get supports, buttons, and the pcb, also if anyone has some awesome suggestions for "lightable"caps that are low-cost and work for MX style buttons.
Thanks for any help.
- Icarium
- Location: Germany
- Main keyboard: These fields just
- Main mouse: opened my eyes
- Favorite switch: I need to bring stuff to work
- DT Pro Member: -
The cherry switches are only suitable for 3mm LEDs. If you want multi-color you also need more pins than the two available in a cherry switch. You will also need plenty of extra traces to get them all lit the way you want. That's why, I think, no one has built one yet. 
I think a prototype for the led only part would be a good start. You can get a decent amount of leds lit up with charlieplexing but I've never used RGB leds so I don't know if there is any way to multiplex those. Chalieplexing doesn't work on those leds that are green if powered one way and red if powered the other.

I think a prototype for the led only part would be a good start. You can get a decent amount of leds lit up with charlieplexing but I've never used RGB leds so I don't know if there is any way to multiplex those. Chalieplexing doesn't work on those leds that are green if powered one way and red if powered the other.
Last edited by Icarium on 15 Oct 2012, 09:17, edited 2 times in total.
- Kurk
- Location: Sauce Hollondaise (=The Netherlands)
- Main keyboard: Kinesis Advantage // Filco MJ2 + HID liberation
- Main mouse: ITAC Mousetrak Professional
- DT Pro Member: 0027
Welcome to DT!
If you want a good keyboard you'll need good switches. Period. I wouldn't advise going with cheap pushbuttons. You will spend a lot of money anyway if you want custom-cut acrylic plates, an LCD display and RGB LEDS. The price for the switches really will be the least of your concerns.
If you want a good keyboard you'll need good switches. Period. I wouldn't advise going with cheap pushbuttons. You will spend a lot of money anyway if you want custom-cut acrylic plates, an LCD display and RGB LEDS. The price for the switches really will be the least of your concerns.
-
- Main keyboard: Gigaware
- Main mouse: Razer Lachrises
- Favorite switch: NO idea atm
- DT Pro Member: -
Thanks for the replys.
@Kurrk: The LCDs I'm thinking of is, if I go with a monochrome LCD i've got 2 of em, if I go for a color 3.8in I have one of those also, but thats the last thing i'd work on. Acrylic plates I'm looking at $50-75 for teh entire keyboard for .220-.354in black and a sheet of clear for teh buttons, but i wouldn't be able to get the caps to look like regular button caps
. I could probably justify using cherrys if they wouldn't require a PCB to mount to and run traces, since that would cost $500-2000, depending if I go with a one peice or multiple little pieces.
@Icarium: Thanks for confirming its 3mm, yea it would require more wiring but I feel having a min 7 colors but i think i could squeak out 255 colors using PWM, and the LED's are "supposedly" common.. anode, and its 4 pin so i could control each color in charlie plexing.
@Kurrk: The LCDs I'm thinking of is, if I go with a monochrome LCD i've got 2 of em, if I go for a color 3.8in I have one of those also, but thats the last thing i'd work on. Acrylic plates I'm looking at $50-75 for teh entire keyboard for .220-.354in black and a sheet of clear for teh buttons, but i wouldn't be able to get the caps to look like regular button caps

@Icarium: Thanks for confirming its 3mm, yea it would require more wiring but I feel having a min 7 colors but i think i could squeak out 255 colors using PWM, and the LED's are "supposedly" common.. anode, and its 4 pin so i could control each color in charlie plexing.
- Icarium
- Location: Germany
- Main keyboard: These fields just
- Main mouse: opened my eyes
- Favorite switch: I need to bring stuff to work
- DT Pro Member: -
Now, now! I wouldn't want to be responsible for that.
I think you will still get the original ratio of charlieplexing as long as the number of pins is a multiple of three plus 1 or something. Let's assume that would be correct for now. You would need about 90 leds (for a tkl) meaning about 270 single leds which would need 17 pins on a microcontroller. So probably 19 max if my calculations are correct. Still manageable.
There, idea back on track!
I think you will still get the original ratio of charlieplexing as long as the number of pins is a multiple of three plus 1 or something. Let's assume that would be correct for now. You would need about 90 leds (for a tkl) meaning about 270 single leds which would need 17 pins on a microcontroller. So probably 19 max if my calculations are correct. Still manageable.
There, idea back on track!

-
- Main keyboard: Gigaware
- Main mouse: Razer Lachrises
- Favorite switch: NO idea atm
- DT Pro Member: -
I was thinking about it last night, and I think I figured a way to do it especially after checking to see that the cy8cy5568 only has 60 usuable I/Os, 30 of which are needed for the buttons as inputs, so if I attempted to use 3 PWM channels, and the same matrix that would require 33 pins for a total of 63 pins.....ooops no usb that way, so then i started thinking of how to use fewer pins, which lead me to thinking what if I treat the Led matrixs as if they were a 3d object, then it dawned on me 5 rows 5 columns in 5 groupings, basicly making it so that the 1st 5x5 button buttons would be group one, the next 5x5 group 2 etc, for a grand total of 15pins + the 3 PWM pins for a grand total pin use of 48 pins, still leaving my with enough pins to do a UART to an LCD, the 3 pins for the color select encoder, the 4 pins for USB and the 2 for the crystal, using up ALL 60 pins.
However I still think I could reduce pin count somehow, except the only thing I'm coming up with is instead of 5 5x5 matrixs maybe have 10 3x5 matrixs and light the Function or spectial function row, it would be nice though if i could find a way to reduce the number of pins needed for inputs.
However I still think I could reduce pin count somehow, except the only thing I'm coming up with is instead of 5 5x5 matrixs maybe have 10 3x5 matrixs and light the Function or spectial function row, it would be nice though if i could find a way to reduce the number of pins needed for inputs.
- Icarium
- Location: Germany
- Main keyboard: These fields just
- Main mouse: opened my eyes
- Favorite switch: I need to bring stuff to work
- DT Pro Member: -
I can't quite follow your calculations. Let's spell things out a bit more, shall we?
So for input you can easily take a few shift registers to drive the columns. This means you will need only one pin to clock them. If you have, say, six rows you will get perfectly suitable readings with 7 pins.
I can't find any information on the chip you mentioned - ...wait...ripster?
So for input you can easily take a few shift registers to drive the columns. This means you will need only one pin to clock them. If you have, say, six rows you will get perfectly suitable readings with 7 pins.
I can't find any information on the chip you mentioned - ...wait...ripster?
-
- Main keyboard: Gigaware
- Main mouse: Razer Lachrises
- Favorite switch: NO idea atm
- DT Pro Member: -
http://www.cypress.com/?rID=37581 for the chip.
My apologies I got too into the thought and skipped some stuff.
Ok, so its gonna be 25 columns wide and 7 rows high, heres the catch first column does not need to be tied to 2pins, just one, same for either the top or bottom row doesn't need to be tied to 2 pins just one per button, for a total number of inputs for regular keyboard inputs to 30 pins.
The LEDs will require 3 pins for PWM, now let's say we light ALL the LEDs that would be 7 rows and 25 columns, total of 35, but if every 5th led left to right is in parallel, except they are seperated by a fet or bjt, so that it would be selected like light column 1-5 and row 1-7, or column 20-25 and rows 1-7, now instead of needing 35pins for LEDs I'll need 18, but I think I could group the rows together into 2 or 3 groups to trim another one or 2 pins needed.
My apologies I got too into the thought and skipped some stuff.
Ok, so its gonna be 25 columns wide and 7 rows high, heres the catch first column does not need to be tied to 2pins, just one, same for either the top or bottom row doesn't need to be tied to 2 pins just one per button, for a total number of inputs for regular keyboard inputs to 30 pins.
The LEDs will require 3 pins for PWM, now let's say we light ALL the LEDs that would be 7 rows and 25 columns, total of 35, but if every 5th led left to right is in parallel, except they are seperated by a fet or bjt, so that it would be selected like light column 1-5 and row 1-7, or column 20-25 and rows 1-7, now instead of needing 35pins for LEDs I'll need 18, but I think I could group the rows together into 2 or 3 groups to trim another one or 2 pins needed.
- Icarium
- Location: Germany
- Main keyboard: These fields just
- Main mouse: opened my eyes
- Favorite switch: I need to bring stuff to work
- DT Pro Member: -
7 rows? What are you going to do with those?
7x25 = 175 so a 13x13 or 14x14 matrix should do if you want to skimp on pins. Still much more than the minimum of 2 that would be required using shift registers (okay you would probably use 8).
I'm not quite sure what your point is here: "heres the catch first column does not need to be tied to 2pins, just one"
Anyway, shift registers man, only 8 pins instead of your 30!
Now for the leds. Let us assume you have 175 rgb leds that you want to drive and you want to put them them in 3 dimensions. 8^3 = 512... 9^3 = 729 ...175*3 = 525 so something between 24 and 27 pins should work, right?
Here I don't understand what you're trying to say about PWM.
This thread needs some pictures.
7x25 = 175 so a 13x13 or 14x14 matrix should do if you want to skimp on pins. Still much more than the minimum of 2 that would be required using shift registers (okay you would probably use 8).
I'm not quite sure what your point is here: "heres the catch first column does not need to be tied to 2pins, just one"
Anyway, shift registers man, only 8 pins instead of your 30!

Now for the leds. Let us assume you have 175 rgb leds that you want to drive and you want to put them them in 3 dimensions. 8^3 = 512... 9^3 = 729 ...175*3 = 525 so something between 24 and 27 pins should work, right?
Here I don't understand what you're trying to say about PWM.
This thread needs some pictures.
- uberben
- Location: Canada
- Main keyboard: Modified Kinesis Essential
- Main mouse: Logitech M570
- DT Pro Member: -
This might be a bit late to the discussion, but you should be able to charlieplex RGB LEDs. This video claims to use it and the colour mixing looks pretty sweet: http://www.youtube.com/watch?v=OxdbRxDIuxI
Charlieplexing requires there to be many common cathode/anode connections anyway, so that isn't a problem. What I see as a larger problem is
a) The mapping might look a little more chaotic since the elements in each LED might not fit nicely next to each other in a schematic (or if you use an RGB element with 4 pins, the wires might be going all over the place).
b) charlieplexing is somewhat dependant on LEDs having the same activation voltage. Since all three colours are in the same package, it is unlikely you will have any issues here, but when you are shopping for LEDs, try to ensure that the red, blue, and green voltages are as close as possible.
Charlieplexing requires there to be many common cathode/anode connections anyway, so that isn't a problem. What I see as a larger problem is
a) The mapping might look a little more chaotic since the elements in each LED might not fit nicely next to each other in a schematic (or if you use an RGB element with 4 pins, the wires might be going all over the place).
b) charlieplexing is somewhat dependant on LEDs having the same activation voltage. Since all three colours are in the same package, it is unlikely you will have any issues here, but when you are shopping for LEDs, try to ensure that the red, blue, and green voltages are as close as possible.