so you want to build a new mechanical keyboard that's awesome there are all sorts of components out there that can be used to build the keyboard of your dreams but what if you want something a little different maybe you want a non-standard layout maybe you want to try Custom ergonomics maybe you just want to have a keyboard that's truly one of a kind in this video I've partnered up with PCB way to show you my method for turning a bespoke keyboard idea into a functional prototype stay tuned mad mod designing a custom keyboard can be a complex process I believe the method that I'll be showing in this video is the simplest approach and it will be accessible to most people who don't have a ton of experience working on electronics so let's go ahead and clear up a few prerequisites before attempting this project you will not need PCB designing experience for this project I'll be creating another hand-wired keyboard similar to the process that you've seen in my other videos you will not need experience writing keyboard firmware it's possible to use a firmware generator to create a basic keyboard firmware so you don't need to know how to program qmk to do this you will not need expensive 3D modeling software all the software used in this video is free I will be using the community edition of fusion 360. before attempting this project you will need a computer this can be done on any platform but I'll be using a Windows computer you will need a soldering iron and some basic soldering experience you will need a fundamental understanding of 3D design software or the ability to search YouTube for video tutorials on what you would like to accomplish I'm just a self-taught fusion 360 user all the steps that I take to accomplish something may not be the correct way to do something this video is not intended to be a full Fusion 360 tutorial and lastly you'll need some patience a little patience can go a long way especially when you're trying to learn something new there is one optional requirement this build uses 3D printed parts so you will either need access to a 3D printer or a 3D printing service like the excellent services offered by PCB way with all that out of the way let's get started [Music] most custom keyboard projects start out right here on keyboardlayout editor.com this website is awesome it's a ton of fun to play around with you can use keyboard layout Editor to get a great idea of what you want your finished keyboard to look like there are several presets you can go through for inspiration ultimately you'll want to use the properties tab on keyboard layout Editor to design your own custom keyboard layout on keyboard layout editor you can get creative by adding or removing Keys you can also adjust the properties for each key including the Legends the size of the Legends the colors of the Legends the colors of the keycaps each Key's width and height and units and the position or rotation of each keycap for my custom keyboard layout I'll be starting off with a familiar 65-ish percent keyboard that I use every day then I'm going to completely take off the whole number row instead I'll relocate the number row keys to a new compact numpad on the right side of the keyboard of course this means I'll have to make some more adjustments so the rest of the keys fit like I think I'll have to move the brackets to the right side of the backspace key I had tried this a few different ways and ultimately settled on this at least in they're the hotkeys that make a brush larger or smaller I also want this keyboard to have a split space bar now that I'm fairly satisfied with the layout I'm going to go ahead and make some changes to the Legends I'm going to make these Legends centered and a little bit larger I'm also going to change the colors of these keycaps to better represent a keycap set that I saw recently also on the keyboard properties page you can change the background color or texture of your keyboard I'm pretty satisfied with this layout so this is the keyboard that I'll be designing in this video with your new keyboards layout finalized you can click on the permalink button at the top of keyboard layout editor this will create a permanent link to your keyboard's layout in the URL bar be sure to save this in case you need to reference Your Design again in the future and now we can move on to the next step [Music] while you're still on keyboard layout editor head over to the raw data Tab and copy all the data from the raw data field then we can head over to builder.swillkb.com this website can generate the cad files you need to build your keyboard's plate just paste your keyboard's layout into the layout field and choose the appropriate parameters for your build my custom keyboard will use MX style switches and Cherry style stabilizers I'll be leaving the rest of these options blank since I plan on doing the majority of the changes that I need during the 3D modeling step after the 2D sketch for your plate has been drawn click on the button to save it as a DOT dxf file the dxf file format supports saving the 2D plate sketch with the correct measurements so the plate will be the correct size when we import it into the 3D modeling software now that we have a dxf file for the plate we can move on to the next step hold on I know what you're thinking this is the hardest part of the design process at least for me it is but trust me on this one Fusion 360 is free and there's lots of great support out there for it if there's something you want to learn how to do there's a tutorial for it right here on YouTube I'm going to be showing my process so feel free to follow along with your own keyboard design and remember have some patience with yourself especially when you're trying to learn something new trust me Fusion 360 is a test of my patience all the time also if you happen to be proficient in a different modeling software like SolidWorks on shape or free CAD go ahead and try using that Fusion 360 is just what I'm most familiar with with Fusion 360 open I'm going to click on the insert button and select insert dxf then I'll navigate to where I saved the downloaded file from the plate generator earlier this will import the plate with the correct measurements in Fusion 360 a 2d drawing like this is referred to as a sketch now that I have the plate as a sketch I will click on the sketch and then select the extrude button I'm going to extrude this plate to a thickness of 1.5 millimeters the reason I'll be extruding 1.5 millimeters is because that is the mounting depth of a typical Cherry MX switch it's where this little clip resides I can't leave the Plate at a thickness of 1.5 millimeters otherwise it will be too flimsy to use next I will increase the thickness of the plate by selecting the bottom side and extruding it another 3.5 millimeters this will give us a total thickness of five millimeters also in the Extrusion options I will change the operation to new body so the second part of the plate can be modified on its own I'll go ahead and change the color of the top part of the plate and the bottom part of the plate to white and red respectively to make them a little easier to see next I'm going to subtract one millimeter from the top and bottom of each switch cutout only on the bottom side of the plate this will make it so the switch can still snap in to the now thicker plate I'm going to be doing these in rows by holding down the Ctrl key and selecting all the faces that I want to change once all those faces are selected I will then click the extrude button and key in -1 to remove one millimeter from each face this part may take a while but once completed you'll end up with this nice little shelf that your switches can clip onto here's a look at how much stiffer the new five millimeter thick plate is viewing the plate from the back side you should now be able to see the white front side of the plate on the top and bottom of each switch cut out up next we'll need to make some cutouts for the stabilizers this keyboard uses plate Mount stabilizers the stabilizer bar and part of the stabilizer body reside behind the keyboard plate so we will need to reduce this area to 1.5 millimeters as well I'm going to do this by creating a new sketch on the back side face of the keyboard plate then I will use the two-point rectangle tool to cut out a basic rectangle around each of the stabilized Keys when you're creating cutouts for stabilizers it's better that they be a little bit too large than too small it's okay if these ones at the space bar go all the way to the edge of the keyboard it's not going to affect the rigidity too much I will then be rounding the corners of the stabilizer cutouts this is mostly for aesthetic reasons let's take a look at how these stabilizer cutouts translate to a 3D printed plate as you can see it's important to leave plenty of room especially on the side that has the stable advisor bar up next I'm going to begin designing a case by designing the plate first and then designing the case around it you can get a good idea of how the case Dimensions will look I'm going to start off by creating another sketch on the top side of the plate this sketch is meant to represent the walls of the keyboard case it will be a rectangle that is the size of the plate and a rectangle that is five millimeters larger than the plate on each side I will then extrude this sketch to create a new body that will be the walls of the keyboard case up next I'm going to go ahead and pick some locations for screw holes in the plate these screw holes will need to line up with standoffs in the case so the keyboard can be screwed together to create the screw holes I'm going to create a new sketch on the top of the plate and then pick out a few points to draw a circle using the circle tool after all those circles are drawn you can just use the extrude tool to cut a circle all the way through the plate you can also use the chamfer tool on the rim of the screw hole to create a countersink next I'm going to modify the case to include some standoffs I'm going to start off by creating a new sketch on the bottom side of the keyboard case in this sketch I will create a circle directly underneath each of the screw holes I'm going to go ahead and make these circles quite a bit larger than the circles that I was making on the keyboard plate that's because I want these standoffs to taper upward as they approach the keyboard plate with the standoff sketch completed I will highlight each of the new circles and extrude it all the way to the back side of the plate this will create a bunch of small cylinders inside the keyboard case next I will highlight the top edge of each standoff and using the chamfer tool set to two distance give each standoff a taper these standoffs are being tapered so they'll be smaller at the top as not to interfere with the key switch cutouts next I need to put a bottom in this keyboard case since I don't want my keyboard to sit entirely flat I'm going to use this sketch on the side to create an angle at the bottom what I'm doing here is essentially creating a two millimeter thick rectangle that can be extruded all the way across the bottom side of the case to act as the case floor during this Extrusion I'll make sure the operation is set to join so the case and standoffs will now be treated as one body I will also be putting a rounded Edge on the corners of the plate I'm going to shave just a little bit of thickness off of the case walls this will allow the plate to have a little bit of wiggle room if the 3D printer tolerance is not perfect I will also round these interior corners on the keyboard case to match the radius of the rounded corners on the keyboard plate next I'm going to round off all the hard edges on the top side of the keyboard case this will make the finished product look a little nicer now I'm going to cut screw holes into the standoffs to do this I will use the same sketch that I used to create the holes in the keyboard plate we will also need a way to connect the keyboard's USB cable to keep things simple you could just punch a hole in the side wall of the case like this I've decided to take some detailed measurements from one of these USB type-c breakout boards and create this model this model will allow a USB type-c port to be permanently glued inside the keyboard case once it's printed out here is a look at the finished keyboard model I've gone ahead and created different copies of this model to print out on different 3D printers on the first model the keyboard's plate is all one piece and the keyboard's case is all one piece but on the second model the keyboard's plate has been divided into two pieces and the keyboard's case has been divided into three pieces this divided model could be printed out on most standard format 3D printers I think we're finally done with the 3D modeling let's move on to the next step [Music] so I really wanted to find a way to 3D print this long keyboard case all in one piece I spent a good while trying to figure out how I was going to print out a keyboard that was 372 millimeters long on a print bed that was 235 millimeters wide after a fair amount of head scratching the solution became obvious I should get some help from PCB way I must say 3D printing has never been easier even if you don't own a 3D printer for this project I just headed over to pcbway.com PCB weighs fast turnaround 3D printing service can print your 3D models in ABS pla petg nylon resin and many other materials ordering the 3D printed parts for this build was super easy all I had to do was go over to the 3D printing section on PCB Way's website here I could upload my STL files that I had created in Fusion 360 and then select what material I would like to have them printed in and what color PCB Way's website even has a cool 3D model viewer so you can see the model after you've uploaded it another great feature about having your 3D prints done through PCB way is the customer service before printing out my model the PCB way Engineers took a look at my design and actually made a few suggestions for revisions the most important of which being a modification to the cutout where the stabilizers are they suggested simplifying the shape of the cutout to make it more durable and keep this little piece from breaking off and you know what that's a great idea after my order was done processing shipping was actually really fast my order shipped out on the 16th and was delivered on the 18th that's two days two day international shipping good job PCB way needless to say I was pleased to see this box arrive on my doorstep inside the box under many layers of soft foam and bubble wrap is my new keyboard case and this thing looks exactly like how I wanted both the case and the plate are nice and flat with no signs of warping at all the cutout for my USBC Port looks good and the fitment on these two pieces is very snug just the way that I had designed it nice based on this experience I would definitely recommend checking out what PCB way has to offer the next time you need something 3D printed they even sent over some of these cool PCB way logos that are printed out in their Crystal Clear resin these 3D prints look great and I cannot wait to put this keyboard together thank you so much to PCB way for being the sponsor of this video now we can move on to my favorite part let's put this thing together if you have seen my other video about building a hand-wired keyboard this part will probably look familiar to you I'm going to start off by snapping the stabilizers and switches into the keyboard plate [Music] thank you now we can begin to wire all the switches together to form the keyboard's Matrix I like to start off doing the rows first to form the rows I'm going to take a diode and connect it to one leg of each switch [Music] I'm going to bend the lead of the diode to a right angle and solder it onto the next one to form the keyboard's rows it's important to make sure that all the diodes are facing the same direction during this process in some instances the switches may be too far apart to just use the diode lead to connect them in this case you can add a jumper wire in between the two to form the rest of the row throughout the entire wiring process it's important to try to dodge the screw holes that were put into the plate that way the wires don't get pinched when we're assembling the keyboard later after each switch has a diode and all four rows have been created I'm going to start creating the keyboard's columns the key switch legs that were not used to form the rows will now be used to form the columns to do this I will be using a different colored piece of wire for each keyboard column no more diodes are required for this part it looks like this keyboard will have a total of 18 columns [Music] since this keyboard has 18 columns and four rows I will need a development board that has at least 22 pins so for this project I've selected a Teensy 2.0 one of my favorite development boards here I'm going to select the location for the Teensy microcontroller that is least likely to interfere with any of the standoffs then I'll put down a layer of capton tape to keep the pins on the Teensy from accidentally making contact with any of the keyboard rows foreign this next part can also be done alongside the firmware creation step if that helps you stay organized but each of these row and columns need to be soldered to a pin on the microcontroller I'm going to be careful to run these wires so they're as short as possible and don't interfere with any of the standoffs [Music] there we go now the keyboard is all wired up it doesn't work yet mostly because the Teensy doesn't understand that it's supposed to be a keyboard so let's create some firmware foreign to create some keyboard firmware you will first want to copy your keyboard's raw data from the raw data field on keyboard layout editor after that we can head over to kbfirmware.com after importing your keyboards layout you can use the wiring tab on kbfirmware.com to create your wiring Matrix during this step you will want to make sure each key is in the correct row and column when compared to your wiring job done on your physical keyboard if you're looking at your keyboard's wiring from the back side make sure to click the flip option up at the top so that you can have a mirrored View also keep in mind that numbering for the keyboard's rows and columns start with zero and not the number one here's a look at what my keyboard's wiring looks like when compared to the keyboard firmware Builder interface after your keyboard's wiring looks correct head over to the pins tab while on the pins tab you will need to specify what pin on the development board is connected to each row and each column these are the pins that I've selected for each row and column up next on the keymap page you can set a function for each of your keyboard's keys this part is pretty self-explanatory as you will likely want layer 0 to perform whatever operation the key Legends specify do keep in mind that you can use function keys to create layer shifts that will allow you to make up for any keys that your keyboard may be missing on the macros tab you can record macros if you would like to have them pre-programmed into your keyboard these macros can be called with your function keys and maybe save you some time for this keyboard I will not be programming any macros or Quantum functions at this time before compiling you will need to give your firmware a unique name in the settings tab and select the correct bootloader size based on your development board once everything in the keyboard firmware Builder is to your locking you can head over to the compile Tab and select the download.ex button now that the firmware has been created we must flash it onto the Teensy 2.0 to flash a Teensy you need to have the Arduino IDE and the Teensy duino software installed I'm going to start off by opening up an example sketch here I will go to the file menu and then examples then Basics blink before flashing the correct board and Port should be selected in the tools menu clicking on the upload button will open up the Teensy duino software from the Teensy duino software I can navigate to the hex file that was downloaded from the keyboard firmware Builder with the firmware.hx file selected I'm going to press the button on the Teensy to reboot and program the device after flashing is complete the keyboard will work I always open up a keyboard tester to make sure all the key switches are connected and the firmware is operating the way that I wanted it to the keyboard appears to be working so now we can move on to the final step since the Teensy has a mini USB port and I want my keyboard to have a USB type-c port I'll need to adapt this connection by cutting the end off of a mini USB cable I will be using one of these USBC breakout boards when connecting the mini USB cable to the USBC breakout the red wire must be soldered to the VCC pin the white wire must be soldered to the data minus pin the green wire must be soldered to the data plus pin and the black wire must be soldered to ground to make this USBC Port compliant with USBC standards I will also be connecting a 5.1 kilo Ohm resistor from each of the CC pins to ground I'll be using some super glue to hold the USBC breakout board in place after the glue has dried the keyboard can be assembled by plugging in the Teensy and screwing in the plate these standoffs were designed to receive an M 2.5 bolt by threading it directly into the plastic housing this design could be easily adapted to use brass heat set inserts for the threads instead to finish up this build I'll add the keycaps I've selected a set of XDA keycaps because the symbol Legends and the uniform profile make it an easier fit for the keys in this layout that are an unusual size or in an unusual location I've learned that you can't make a keyboard video without including a sound test so here's a quick sound test for the build that's featured in this video hopefully the information in this video will be helpful to you as you design your own custom mechanical keyboards if you're interested in building the keyboard that was featured in this video and you want to support the Channel all the files you will need are available on my Cults 3D page I'll have a link in the video description you should leave a comment down below this video telling me what your favorite mechanical keyboard switches are or what switches you've been using in your main keyboard I need some new ones to try out if you like this video don't forget to click that subscribe button and go check out some of my other electronics videos thanks so much for watching this video and I will see you in the next one [Music] thank you