Author Topic: Designing my own keyboard from scratch, how would I attempt this?  (Read 467 times)

0 Members and 1 Guest are viewing this topic.

Offline Gioedw

  • Thread Starter
  • Posts: 2
Hey guys!

I've had the idea of designing my own 65% mechanical keyboard from "scratch" ever since I got into keebs, but I have little to no knowledge on PCB and Case making.
I can't seem to find any guides on how to make my own PCB, or if not - whether there are any 65% open source PCB's I can map my case around.

I have AutoCAD 2020, but honestly would not know how to start this process. I am more than happy to learn or be guided in a way that could help!

The point of this post is to ask for feedback on other people who have gone down this path of designing and building their own cases/pcb's, and whether there are any guides/tips to follow!

Thank you for reading, and it would be greatly appreciated if you could respond with any help :)

Offline glibber

  • Posts: 21
Re: Designing my own keyboard from scratch, how would I attempt this?
« Reply #1 on: Wed, 31 March 2021, 08:19:15 »
I can't help you with the PCB, but for the rest, this path might work:

You can design your key layout on http://www.keyboard-layout-editor.com. With the data from there, you can get a plate designed on http://builder.swillkb.com/. You can see how to create a case in CAD pretty well in this video (the previous steps are shortly included there as well).
If you're new to CAD, you might want to look into some best practices for it before as well, will make your life much easier in the long run. That video isn't the best representation of those tbh ;)

Offline ifohancroft

  • Posts: 22
  • Location: /dev/tty
  • root
    • IFo Hancroft
Re: Designing my own keyboard from scratch, how would I attempt this?
« Reply #2 on: Wed, 31 March 2021, 11:47:25 »
Here is how I would do it (Some of the steps are what glibber already said, so I'm basically just adding on to that):

If it's a design with weird angles and things like that, I'd study it first to understand how it's done. By study and by understand I mean the following:

The ErgoDox's thumb cluster for example is at an angle, but in-order to create it in CAD, you need to constraint the sketch but in-order to do that, you need to understand how the thumb cluster is positioned, like relative to what for example.
In the case of ErgoDox, the thumb cluster is made so inner 2U key is sitting below the vertical 1.5u key then the whole cluster is rotated 30 degrees, using the bottom left angle of the B key as the center of rotation (i.e. the spot where B, the key next to it and the inner 2U key meet).

I'd study the design either directly in KLE (keyboard layout editor) or if I need to further measure sizes and things, here's what I'd do:

1. I'd create the design or get it from the presets in KLE
2. I'd paste the raw data in swillkb's builder and generate an SVG of the plate with the switch cutout and stab cutout I want
3. I'd open the SVG in InkScape and I'll copy it
4. I'd create a new empty InkScape file that's set to millimeters and I'll paste the design there
5. I'll turn off the stroke (border) of the switch cutouts and the plate and just fill it with color.
6. I'd check the sizes to make sure they are correct (1u switch cutout needs to be 14mm by 14mm, one keyboard unit (i.e. the space between the centers of two 1u keys) should be 19.05mm, etc)
7. I'd make a new sketch in FreeCAD and I'll recreate the plate using the design opened in InkScape as a reference and to measure things
8. I'll play around with it until I understand it.

Now, when I am ready to make the design here's what I'd do:

1. Figure out how you want your keyboard:
    1.1. Is it going to have integrated plate? If so, how do you open the case to insert the PCB? Will it separate in two on the center or will it have a bottom part that is removable, etc
    1.2. How do I want the plate to attach to the case and where, etc..
    1.3. How will the PCB sit? Like will you be making a tray style of case where the PCB sits on posts or will you just suspend it on the switch legs and solder joints? If you'd do that and specially if you also are going to have a metal case - how will you ground the chassis if it doesn't touch the PCB? (Spoiler alert: You can make your USB connector as a separate PCB that screws to the case and ground the chassis using that PCB)
    1.4. Ideally, you'd have the PCB done first so you know its dimensions and stuff but if you figure out everything about it, you can make the case and plate without actually having the PCB done already

2. I'd start FreeCAD and create the file that holds my variables for sizes and dimensions so I can share them between parts (You don't have to fill everything from the start. I do it as I go and find a size I need)

3. I'd create a sketch that's the PCB reference. I.e. it containts the PCB outline as well as the switch center positions and its height position in 3D space would be where the PCB actually would be relative to the other parts of the case
4. If the case would use a separate plate, I'd create the case first, positioning the sketch for it relative to the PCB (where it's going to be positioned will depend on whether you are making the top and extruding towards the bottom or vice versa and obviously how deep you want the case and how much space you want between its inside bottom and the PCB) or if you are going to create it layer by layer. Using the PCB outline as external geometry to use as reference
5. I'd create the plate then, relative to the case and the PCB, using the PCB's switch centers as external geometry to reference when creating the switch cutouts.

Hopefully that helped. Let me know if you have any questions.
I like to make, break & modify stuff via a soldering iron, code or both.

Offline Findecanor

  • Posts: 4736
  • Location: Koriko
Re: Designing my own keyboard from scratch, how would I attempt this?
« Reply #3 on: Wed, 31 March 2021, 11:59:23 »
Matt3o's 65% keyboard WhiteFox is Open Hardware: PCB, case.
But for the love of the keyboard gods, redo the routing on the PCB if you use it!

Otherwise, I think there is at least one PCB generator, in which you would input a Keyboard Layout Editor layout and could use as starting point for a PCB design.
Man must shape his tools lest they shape him
-- Arthur Miller

Offline adamws

  • Posts: 7
    • keyboard-tools
Re: Designing my own keyboard from scratch, how would I attempt this?
« Reply #4 on: Wed, 31 March 2021, 15:03:58 »
Otherwise, I think there is at least one PCB generator, in which you would input a Keyboard Layout Editor layout and could use as starting point for a PCB design.

For example this: https://adamws.github.io/keyboard-tools/kicad-project-generator/guide.html

Offline Gioedw

  • Thread Starter
  • Posts: 2
Re: Designing my own keyboard from scratch, how would I attempt this?
« Reply #5 on: Wed, 31 March 2021, 15:46:42 »
Thanks a million guys, this info really helps!

I also really appreciate the links for the PCB generators, and even the case guides :)

I'll get started on it asap!

:) Cheers