BrownFox step by step

User avatar
matt3o
-[°_°]-

26 Jun 2013, 19:56

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.
brownfox2.jpg
brownfox2.jpg (34.53 KiB) Viewed 256725 times
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.

Image

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.

Image

Then bend the diodes wires in chunk of 10-20. Bending them together makes your matrix more symmetrical.

Image

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.

Image

When all diodes are soldered to the switches you can start soldering them together.

This is a detail:
Image

This is an overview (as you see the spacebar needs some extensions)
Image

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:

Image

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

Image

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.

Image

To prevent shorts with the aluminum I also placed a sheet of plastic in the inside part of the case bottom.

Image

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.

User avatar
Muirium
µ

26 Jun 2013, 20:02

Sterling stuff! Greatly looking forward to trying this myself.

User avatar
graboy

26 Jun 2013, 20:18

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.

User avatar
Jmneuv

26 Jun 2013, 20:28

nice choice with the chocolate acrylic.. you're getting pretty quick with the handwired matrices, huh?

User avatar
matt3o
-[°_°]-

26 Jun 2013, 20:34

graboy wrote:Very cool! How much did this end up costing you?
very hard to say. the case alone costed approx 80. The whole keyboard around 150 euros I'd say (without caps of course)
Jmneuv wrote:you're getting pretty quick with the handwired matrices, huh?
yeah, couple of hours :) First time it took me 2 days :)

pasph

26 Jun 2013, 21:11

Very good!
Waiting to see how to connect the controller to the plate.

User avatar
tlt

26 Jun 2013, 21:46

Nice article. Informative and good photos.

User avatar
Muirium
µ

26 Jun 2013, 23:51

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.

User avatar
matt3o
-[°_°]-

27 Jun 2013, 08:28

Muirium wrote:There's no downside to using PCB mount switches?
you just have some more plastic bits in the way of wires, but you can cut them.

User avatar
matt3o
-[°_°]-

27 Jun 2013, 20:17

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.

Image

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.

Image

Step 6: wire rows and cols
Rows first.

Image

I use pins F0, F1, F4, F5, F6 for the rows.

Then it's time for the columns.

Image

Pins from F7 to B0 clockwise.

I placed the wires under the matrix to keep the layout nice and compact.

Here's an overview

Image

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!)

Image

Image

Image*

Image

*Cable courtesy of Paranoid

pasph

27 Jun 2013, 22:06

One of the best kb tutorial i've seen

User avatar
Muirium
µ

27 Jun 2013, 22:46

Indeed. There's nothing else quite like the smell of hot solder in the morning.

User avatar
Grond

27 Jun 2013, 23:41

That's wonderful! The brown acrylic really gives it a nice retro feel that matches the keycaps. :)

User avatar
matt3o
-[°_°]-

28 Jun 2013, 00:33

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.

User avatar
Muirium
µ

28 Jun 2013, 00:42

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?

User avatar
matt3o
-[°_°]-

28 Jun 2013, 08:41

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?
Matias switches.

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:
white_fox.jpg
white_fox.jpg (11.86 KiB) Viewed 256369 times
but so far the keyboard she likes the most is the modded Model M

User avatar
Muirium
µ

28 Jun 2013, 09:34

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.

User avatar
suka
frobiac

28 Jun 2013, 09:55

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.

User avatar
matt3o
-[°_°]-

28 Jun 2013, 10:32

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.

User avatar
Muirium
µ

28 Jun 2013, 10:48

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.

User avatar
matt3o
-[°_°]-

28 Jun 2013, 11:10

Muirium 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'm still in, just a couple of days to enjoy my new keyboard and we can start thinking at the next one :)

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.

pasph

28 Jun 2013, 11:15

More kbs = less price?

User avatar
matt3o
-[°_°]-

28 Jun 2013, 11:20

pasph wrote:More kbs = less price?
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 40 :)

User avatar
Jmneuv

28 Jun 2013, 11:31

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)
Last edited by Jmneuv on 28 Jun 2013, 11:38, edited 1 time in total.

User avatar
matt3o
-[°_°]-

28 Jun 2013, 11:38

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

User avatar
Muirium
µ

28 Jun 2013, 11:50

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.

User avatar
matt3o
-[°_°]-

28 Jun 2013, 12:05

Muirium wrote:I'll gladly take aluminium or steel, as you advise, and help cover the sheet.
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: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!)
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:And you say that the aluminium sheet varies in thickness more than steel. Did this affect the tricky stabs more on Brownfox than Steely?
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.

User avatar
Muirium
µ

28 Jun 2013, 12:08

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!

User avatar
matt3o
-[°_°]-

28 Jun 2013, 13:01

Sure, no problem

Image

And a bonus image of the underbelly

Image

I still have to cut those screws though

User avatar
Muirium
µ

28 Jun 2013, 13:15

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?

Post Reply

Return to “Workshop”