BrownFox step by step
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
This is the follow up article to my previous Building a custom keyboard from the ground up. After all that theory I'm finally ready for some action.
Please note that I'm no guru, I'm learning in the process.
The BrownFox is the codename of my custom 65% keyboard. The case is laser cut with an aluminum plate+bottom and acrylic sides. Switches are hand wired (no PCB). This is the chronicle of its making.
Step 1: place the switches
The aluminum plate is 1.5mm thick, but I have the feeling that I could have done it 2mm for better stability. Next time I might try that. I had a similar keyboard done in steel and keys stick better on 1.5mm steel than they do on 1.5mm alu. Steel is too stiff though and typing is a bit tiring.
All switches are MX Blue plate mounted (but you can use pcb mounted as well) with few exceptions. Arrows are MX Red, spacebar is MX Green.
Step 2: diodes!
We need one diode per switch. I connect them to the top left pin of each switch with the diode black strip on the outside (in this case poiting down).
First of all melt a drop of soldering wire onto the pin.
Then bend the diodes wires in chunk of 10-20. Bending them together makes your matrix more symmetrical.
Approach the upper diode wire to the drop of lead and heat with your iron (I keep it a 310°C). It should take just 1 second to melt the lead, release the soldering iron and blow over the diode. I find this technique the fastest and most secure.
When all diodes are soldered to the switches you can start soldering them together.
This is a detail:
This is an overview (as you see the spacebar needs some extensions)
It is important to leave enough real estate on the left of the spacebar switch as we are using that space for the controller.
Step 3: connect the columns!
Now that we have the rows ready we can do the columns. I haven't found an ideal way of wiring them, so far the best thing I came up with is to prepare the wires like this in advance:
Since the case is very thin wires are going to touch each others so it's a good idea to have the columns insulated as much as possible to prevent shorts with the rows.
When I have all the wires ready I use them to connect the top right pins. This is the end result
I usually put the columns under the rows, this helps keeping the layout compact.
Step 4: preparing the case!
The sides are made of acrylic in the effort of saving some bucks and also to have a strip of color in the middle of the case. I must say that I like the final result.
The case is reduced to the minimum so to reinforce the three 3mm layers of acrylic I glue them together.
To prevent shorts with the aluminum I also placed a sheet of plastic in the inside part of the case bottom.
Now all it is left to do is to connect the controller a burn the firmware!
Please note that I'm no guru, I'm learning in the process.
The BrownFox is the codename of my custom 65% keyboard. The case is laser cut with an aluminum plate+bottom and acrylic sides. Switches are hand wired (no PCB). This is the chronicle of its making.
Step 1: place the switches
The aluminum plate is 1.5mm thick, but I have the feeling that I could have done it 2mm for better stability. Next time I might try that. I had a similar keyboard done in steel and keys stick better on 1.5mm steel than they do on 1.5mm alu. Steel is too stiff though and typing is a bit tiring.
All switches are MX Blue plate mounted (but you can use pcb mounted as well) with few exceptions. Arrows are MX Red, spacebar is MX Green.
Step 2: diodes!
We need one diode per switch. I connect them to the top left pin of each switch with the diode black strip on the outside (in this case poiting down).
First of all melt a drop of soldering wire onto the pin.
Then bend the diodes wires in chunk of 10-20. Bending them together makes your matrix more symmetrical.
Approach the upper diode wire to the drop of lead and heat with your iron (I keep it a 310°C). It should take just 1 second to melt the lead, release the soldering iron and blow over the diode. I find this technique the fastest and most secure.
When all diodes are soldered to the switches you can start soldering them together.
This is a detail:
This is an overview (as you see the spacebar needs some extensions)
It is important to leave enough real estate on the left of the spacebar switch as we are using that space for the controller.
Step 3: connect the columns!
Now that we have the rows ready we can do the columns. I haven't found an ideal way of wiring them, so far the best thing I came up with is to prepare the wires like this in advance:
Since the case is very thin wires are going to touch each others so it's a good idea to have the columns insulated as much as possible to prevent shorts with the rows.
When I have all the wires ready I use them to connect the top right pins. This is the end result
I usually put the columns under the rows, this helps keeping the layout compact.
Step 4: preparing the case!
The sides are made of acrylic in the effort of saving some bucks and also to have a strip of color in the middle of the case. I must say that I like the final result.
The case is reduced to the minimum so to reinforce the three 3mm layers of acrylic I glue them together.
To prevent shorts with the aluminum I also placed a sheet of plastic in the inside part of the case bottom.
Now all it is left to do is to connect the controller a burn the firmware!
Last edited by matt3o on 26 Jun 2013, 20:16, edited 2 times in total.
- graboy
- Main keyboard: Filco Tenkeless w/blues
- Main mouse: Logitech G9x
- Favorite switch: Cherry MX Blue
- DT Pro Member: -
Very cool! How much did this end up costing you? I might be interested in doing it myself if it's not going to break the bank.
I thought the acrylic was wood at first, using real wood would look awesome.
I thought the acrylic was wood at first, using real wood would look awesome.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
very hard to say. the case alone costed approx 80. The whole keyboard around 150 euros I'd say (without caps of course)graboy wrote:Very cool! How much did this end up costing you?
yeah, couple of hours First time it took me 2 daysJmneuv wrote:you're getting pretty quick with the handwired matrices, huh?
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
There's no downside to using PCB mount switches? Interesting. Good choice on going with red for the arrow keys. I'd do that … if I had arrows! Still a little intrigued by the notion of linears on the modifiers; perhaps to match the two different colours of my eventual Dolch caps. Thinking about it at least.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
you just have some more plastic bits in the way of wires, but you can cut them.Muirium wrote:There's no downside to using PCB mount switches?
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
Step 5: wire the controller
The case is very small and there's no room for connectors/headers so I have to wire directly on the controller.
I have 16 columns and 5 rows, so I need 21 pins. No LEDs because LED is for keyboards what neon is for cars. Looking at the picture I use 10 pins on the left and 11 pins on the right. Remember to skip VCC, GRN and pin D6. Refer to this page for complete Teensy pinout.
Before positioning the controller I put some insulation under the teensy.
Step 6: wire rows and cols
Rows first.
I use pins F0, F1, F4, F5, F6 for the rows.
Then it's time for the columns.
Pins from F7 to B0 clockwise.
I placed the wires under the matrix to keep the layout nice and compact.
Here's an overview
Step 7: USB extension
Nothing interesting to see here. I just built a small extention cable that goes from the teensy to the case top. I then glued the the female USB mini to the case with superglue first and epoxy glue then.
Step 8: burn the firmware
I use hasu's code, of course modified for my matrix. I always start from the GH60 code as a base and build over that.
The files to modify are in /keyboard/gh60 directory. You need to customize: config.h, keymap_plain.h (I use the plain file because it's the cleanest), keymap.c, led.c, matrix.c and Makefile.lufa.
I'll cover this step deeply in a dedicated thread. Once ready and compiled the firmware is ready to be burned. The easiest way to do that is with the Teensy Loader that you can find on the JRC website.
And now the BrownFox in all its glory...
Step 9: satisfaction
Please note that I still miss the feet, but the keyboard is already 100% working (fox-typing right now!)
*
*Cable courtesy of Paranoid
The case is very small and there's no room for connectors/headers so I have to wire directly on the controller.
I have 16 columns and 5 rows, so I need 21 pins. No LEDs because LED is for keyboards what neon is for cars. Looking at the picture I use 10 pins on the left and 11 pins on the right. Remember to skip VCC, GRN and pin D6. Refer to this page for complete Teensy pinout.
Before positioning the controller I put some insulation under the teensy.
Step 6: wire rows and cols
Rows first.
I use pins F0, F1, F4, F5, F6 for the rows.
Then it's time for the columns.
Pins from F7 to B0 clockwise.
I placed the wires under the matrix to keep the layout nice and compact.
Here's an overview
Step 7: USB extension
Nothing interesting to see here. I just built a small extention cable that goes from the teensy to the case top. I then glued the the female USB mini to the case with superglue first and epoxy glue then.
Step 8: burn the firmware
I use hasu's code, of course modified for my matrix. I always start from the GH60 code as a base and build over that.
The files to modify are in /keyboard/gh60 directory. You need to customize: config.h, keymap_plain.h (I use the plain file because it's the cleanest), keymap.c, led.c, matrix.c and Makefile.lufa.
I'll cover this step deeply in a dedicated thread. Once ready and compiled the firmware is ready to be burned. The easiest way to do that is with the Teensy Loader that you can find on the JRC website.
And now the BrownFox in all its glory...
Step 9: satisfaction
Please note that I still miss the feet, but the keyboard is already 100% working (fox-typing right now!)
*
*Cable courtesy of Paranoid
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
thanks! this is by far the best custom keyboard I've built so far. Coming next the Whitefox (that goes to wife) with ALPS switches.
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
A hand made keyboard, that's a gift to believe in! Matias or classic Alps? Has she tried a selection of switches, or are you keeping this a surprise?
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
Matias switches.Muirium wrote:A hand made keyboard, that's a gift to believe in! Matias or classic Alps? Has she tried a selection of switches, or are you keeping this a surprise?
no way to keep the secret, the house is a mess of wires, caps, switches, controllers... she actually liked the whitefox idea since the poster image:
but so far the keyboard she likes the most is the modded Model M
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
Beware those buckling springs. Quite how they ever went out of fashion is beyond me. Yes, they're loud; what's not to like? (Cost of manufacture, resilience to needing replaced most decades, sanity of others within earshot of your epic typing…)
I can only guess what you're going to with Whitefox. The only thing I can be sure about is that it'll be stunning. You keep getting better, Matteo.
I can only guess what you're going to with Whitefox. The only thing I can be sure about is that it'll be stunning. You keep getting better, Matteo.
- suka
- frobiac
- Location: Germany
- Main keyboard: custom split ergonomic "RedTilt"
- Main mouse: IBM trackpoint
- Favorite switch: MX red
- DT Pro Member: 0046
Nice write-up with lots of good advice, and a beautiful result: Congratulations!
I especially adore the metal/acrylic sandwich, looks absolutely gorgeous together with the floating look of the keycaps.
I especially adore the metal/acrylic sandwich, looks absolutely gorgeous together with the floating look of the keycaps.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
thanks suka and Muirium!
I agree the BS keyboards are gorgeous. We are used to MX Blue sound so, switching to BS wouldn't be that hard. Actually I'm desperately looking for more Model M for my experiments
Miscellaneous notes (mostly to self):
1) Acrylic sides help making the design less boring. Acrylic layers must be glued to give better stability, just ensure to use the right glue (both superglue and epoxy are not really that good at that). Acrylic is a bad beast to work with. It's brittle, very glossy thus you can't sand it or it looks like shit. Optimum would be to find the acrylic sheet of the right thickness, but so far I could find 10mm acrylic only in clear color.
2) First I thought 13mm was the minimum case height for hand wired keyboards, the brownfox is actually 12mm and maybe I could have done 11mm. Anyway I'm satisfied with the end result, so I hereby declare 12mm the optimum case height (9mm in the inside and 3mm top+bottom).
3) Aluminum sheet is less regular than steel sheet. I have the impression that the thickness could varies of up to +-0.2/0.3mm. The overall keyboard is nice and stable but I believe that the plate could be made 2mm thick. It would be a costly experiment to do...
4) A steel bottom would help to make the keyboard more stable and heavier. The brownfox is fine, just a little too light. I can add some weights but I think I will simply replace the bottom layer with a steel one. So Alu + Acrylic + Steel might be the ideal solution.
5) It's very hard to find the right position/size of the stabilizers. I used official documentation but they do not quite fit by default, you have to file them a bit until you find the perfect fit.
6) The time needed to build a custom keyboard from zero to hero is approx 10 hours once you get some skill at it. A PCB would of course make things faster. The raw cost is not that much (we are in the 120-150 euros range, less if you buy or reuse switches) but you are going to make mistakes (especially the first times), burn controllers, break acrylics, glue things the wrong way, melt switches ... and each error costs you money. You have to take it as an hobby, take your time, enjoy the process.
I agree the BS keyboards are gorgeous. We are used to MX Blue sound so, switching to BS wouldn't be that hard. Actually I'm desperately looking for more Model M for my experiments
Miscellaneous notes (mostly to self):
1) Acrylic sides help making the design less boring. Acrylic layers must be glued to give better stability, just ensure to use the right glue (both superglue and epoxy are not really that good at that). Acrylic is a bad beast to work with. It's brittle, very glossy thus you can't sand it or it looks like shit. Optimum would be to find the acrylic sheet of the right thickness, but so far I could find 10mm acrylic only in clear color.
2) First I thought 13mm was the minimum case height for hand wired keyboards, the brownfox is actually 12mm and maybe I could have done 11mm. Anyway I'm satisfied with the end result, so I hereby declare 12mm the optimum case height (9mm in the inside and 3mm top+bottom).
3) Aluminum sheet is less regular than steel sheet. I have the impression that the thickness could varies of up to +-0.2/0.3mm. The overall keyboard is nice and stable but I believe that the plate could be made 2mm thick. It would be a costly experiment to do...
4) A steel bottom would help to make the keyboard more stable and heavier. The brownfox is fine, just a little too light. I can add some weights but I think I will simply replace the bottom layer with a steel one. So Alu + Acrylic + Steel might be the ideal solution.
5) It's very hard to find the right position/size of the stabilizers. I used official documentation but they do not quite fit by default, you have to file them a bit until you find the perfect fit.
6) The time needed to build a custom keyboard from zero to hero is approx 10 hours once you get some skill at it. A PCB would of course make things faster. The raw cost is not that much (we are in the 120-150 euros range, less if you buy or reuse switches) but you are going to make mistakes (especially the first times), burn controllers, break acrylics, glue things the wrong way, melt switches ... and each error costs you money. You have to take it as an hobby, take your time, enjoy the process.
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
I think the optimum way to get Model Ms involves driving a good sized car to Denmark and getting them from Peter directly! He has more than just the pristine NIB ones. Perhaps I should hire a boat and cross the North Sea straight to him…
Veering back on topic, what are your present thoughts about the proposed group buy for laser cut metal sheets? I'm still quite sold on the idea of an all metal case for my 60%. I like the sheer density such a small keyboard could have, and my Dolch replica caps are shades of grey, of course.
Veering back on topic, what are your present thoughts about the proposed group buy for laser cut metal sheets? I'm still quite sold on the idea of an all metal case for my 60%. I like the sheer density such a small keyboard could have, and my Dolch replica caps are shades of grey, of course.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
I'm still in, just a couple of days to enjoy my new keyboard and we can start thinking at the next oneMuirium wrote:Veering back on topic, what are your present thoughts about the proposed group buy for laser cut metal sheets? I'm still quite sold on the idea of an all metal case for my 60%. I like the sheer density such a small keyboard could have, and my Dolch replica caps are shades of grey, of course.
I have to order the plate for the whitefox + steel bottom for the brownfox, so I have to place a new order anyway, anyone willing to join is welcome.
It would be impossible to calculate the per piece price so I would just divide the final cost by the total number of layers. Say we have 20 layers total and the cost is €200, the cost per layer would be €10, if your keyboard is made of 5 layers, you pay €50 + shipping. This should work if all keyboards are within 60% and TKL. PLEASE NOTE that prices are fictional, unfortunately it will be more expensive than that.
Also please note that square switch holes are cheaper than the bug shaped ones (to change spring and apply lube), so I would really like to use the simple ones only.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
Basically the better we fit the alu sheet (that is 3000x1500) the lesser the price is for everybody. A ballpark estimate might be 20 keyboards per sheet (very wild guess), so we better order 20 or 40pasph wrote:More kbs = less price?
- Jmneuv
- Location: DE
- Main keyboard: Phantomized QFR
- Main mouse: LX8 (mod)
- Favorite switch: 68g
- DT Pro Member: -
hmm looking at the layout i'm thinking that 65% is just a lot more added to a 60% than the 5 might suggest, it's also quite elegant (proportions, modifier row).
For glueing acrylic there's this pro glue the signmakers use, it melts the acrylic together just like in the plastic model world. They also use this glue to seal the edges of letters for instance. Brb, let me find the brand name.
Edit: it's called "Acrifix" here. (disclaimer: i haven't tested this particular product myself, i did use what i expect to be this stuff from an unmarked bottle at the signmakers)
For glueing acrylic there's this pro glue the signmakers use, it melts the acrylic together just like in the plastic model world. They also use this glue to seal the edges of letters for instance. Brb, let me find the brand name.
Edit: it's called "Acrifix" here. (disclaimer: i haven't tested this particular product myself, i did use what i expect to be this stuff from an unmarked bottle at the signmakers)
Last edited by Jmneuv on 28 Jun 2013, 11:38, edited 1 time in total.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
yeah I think it's just called "acrylic glue", but please let us know if you find more info.
edit: oh you just edited your post. okay, let's see if I can find it
edit: oh you just edited your post. okay, let's see if I can find it
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
I'll gladly take aluminium or steel, as you advise, and help cover the sheet.
How different in colour is Steely from Brownfox's aluminium? (Actually, I suggest a side by side pose for the good of the post anyway. Evolution!)
And you say that the aluminium sheet varies in thickness more than steel. Did this affect the tricky stabs more on Brownfox than Steely?
Relevant because I'm thinking of a hybrid of aluminium and steel layers. Two tone monochrome, like the caps.
How different in colour is Steely from Brownfox's aluminium? (Actually, I suggest a side by side pose for the good of the post anyway. Evolution!)
And you say that the aluminium sheet varies in thickness more than steel. Did this affect the tricky stabs more on Brownfox than Steely?
Relevant because I'm thinking of a hybrid of aluminium and steel layers. Two tone monochrome, like the caps.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
since the company works more on steel than alu they have a lot of steel leftovers and price of steel is not that much related to the size of the full sheet. so I'm going to have some steel anyway.Muirium wrote:I'll gladly take aluminium or steel, as you advise, and help cover the sheet.
steel is more shiny, alu is slightly brushed, but you can have brushed steel and also mirror-like steel. I'll take pictures of the two babies.Muirium wrote:How different in colour is Steely from Brownfox's aluminium? (Actually, I suggest a side by side pose for the good of the post anyway. Evolution!)
Aluminum is softer and easier to file. Sanding even 0.5mm out of steel is a hell of a job So, no, alu is better to fix stab holes. Anyway I'll do my best to have the stab holes perfectly aligned. I believe I just have to add 0.2mm to the top side, so or the official specs are wrong, or I have out of standard stabs, or the laser cutting processes is less precise than I though.Muirium wrote:And you say that the aluminium sheet varies in thickness more than steel. Did this affect the tricky stabs more on Brownfox than Steely?
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
Mirror-like steel? Oh man are you giving me ideas!
Could you take a picture with a key pressed down so I can get a visual on the space between plate and caps, around the edge? It could be time for a steel trim!
Could you take a picture with a key pressed down so I can get a visual on the space between plate and caps, around the edge? It could be time for a steel trim!
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
Sure, no problem
And a bonus image of the underbelly
I still have to cut those screws though
And a bonus image of the underbelly
I still have to cut those screws though
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
Thanks Matteo. Those feet are pretty neat! And it looks to me like I could indeed put a nice shiny steel trim layer above the plate, around the outside edge of the solid rectangle of caps, and have a fine old reflective halo! One with screws in it, of course, but that's fine by me. What do you think?