![]() You could stop here and have a working keyboard, but I highly recommend adding a top and a bottom made from FR-4 PCB. The next step is to route your PCB traces. There’s also seven-unit stabilizers out there, but every SPACE bar I’ve ever come across is 6.25 units. The two-unit stabilizers are for SHIFT, ENTER, and BACKSPACE. The former stabilizers are for the SPACE bar. Stabilizers come in two sizes: 6.25 units and 2 units. Once you’ve got your keys laid out, you will need to add stabilizers. 25 ‘units’, and the rows are offset from one another, you will need to set your snap size to 93.75 mils while laying out the keys because 93.75 mils is ⅛ of a ¾” key. Because the key sizes are in increments of. The exception is the larger keys, like the SPACE bar, TAB, CAPS, SHIFT, ALT, etc. When laying out keys, we can just assume each key is 750 mils and we’ll end up with the correct spacing between keys because the key caps are a little less than 750 mils. For example, the square letter keys are spaced 750 mils on centre and the rows are offset by some fraction of 750 mils. This means the keys are spaced ¾” on centre, and every key size is some multiple (or fraction) of ¾”which is equal to 750 mils (for anyone more familiar with metric than imperial measurements, a mil in this context is a thousandth of an inch, NOT a millimetre). ![]() Typically, the ‘unit’ on a keyboard is ¾”. See Figure 1.Ī small gap between keys is required so that the keys don’t rub against each other. If you’re going to use BMK, my Arduino IDE firmware, the diodes must be placed from column to row. Most firmware will allow you to select the direction of the diode. It’s important to note that the direction of the diode depends on the firmware. It’s economical and it comes in through-hole, as well as surface-mount, packages. The 1N4148 switching diode is the only way to go. For the matrix to work properly, a diode is required for each key. This means that you have to use a matrix to scan each row and column, one at a time. Unless you’re designing a macro pad, you’ll find there’s not enough pins on any microcontroller to have each key on its own GPIO. Once you’ve got the switches placed on the schematic, draw the matrix. I’ve been there, done that! KEYBOARD MATRIX Just find a naming convention that works for you, and be careful not to place the ‘F1’ key in the place of the letter F key when you layout your PCB. If you label the F1 key as ‘F1’, then you will find that you’ve already got an F1 when you place the letter F key. The prefix naming conventions can get a little confusing, because EDA software usually names components ‘R-1, R-2, R-3’ and so on. Label each one carefully before moving on to the next row. This form factor is pretty much the gold standard for mechanical keyboard switches, and makes it easy to place a switch on the schematic for every button on the keyboard based on your layout. You’ll want to start by locating a switch symbol with a CHERRY MX-style PCB footprint. EasyEDA is really simple, yet it’s packed with every feature you could ask for. I recommend EasyEDA if you’re a first-time EDA user. Once you’ve got your layout planned, you can draw a schematic in your preferred EDA software. It’s no longer maintained and there are better ways of building firmware, which I’ll get to later on. It also generates custom firmware, but I don’t recommend using it for this. You can copy and paste the ‘raw data’ from Keyboard Layout editor into this nifty tool and it will give you a schematic diagram of how your rows and columns should be laid out. The other tool I used is the Keyboard Firmware Builder, at. This is a handy tool that allows you to drag and drop keys where you want them, adjust the size to your liking, change the legends, and otherwise customise your keys. I recommend designing your layout with:. I’ve open-sourced my schematic and key layout for you to use as a reference, or to customise to your own liking without you having to start from scratch, at this link:. If you want to take on this challenge, this article will save you from making some of the beginner mistakes that I made. ![]() The circuit isn’t complicated, but it is a really large circuit and a big PCB. Briefly put, I started by designing a layout, turned the layout into a schematic, and then placed 87 keys in the correct place on a PCB. Once the layout was complete, I placed a diode reasonably close to each switch.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |