How to Design Mechanical Keyboard PCBs with Kicad

Sdílet
Vložit
  • čas přidán 23. 05. 2024
  • Today we're going to be taking a look at just how simple it is to design your own mechanical keyboard PCB within Kicad. We will cover everything from setting up the program along with applicable symbol and footprint libraries, designing the schematic, laying out the PCB, and finally some information on the differences between HASL and ENIG when ordering.
    ~ Links ~
    • How a Mechanical Keybo...
    • How to Build a Handwir...
    • How to Design Mechanic...
    Kicad: kicad.org
    ScottoKicad: github.com/joe-scotto/scottok...
    Find out more about the project: scottokeebs.com
    Donations greatly appreciated: bit.ly/41odBEu
    Patreon: / joe_scotto
    ~ Handwiring Tools ~
    TS100 Soldering Iron: amzn.to/3LCsrkb
    D24 Chisel Tip: amzn.to/3VFxiES
    63/37 Solder: amzn.to/3uBlMPu
    ~ Handwiring Parts ~
    1N4148 Diodes: amzn.to/3Ccljbb
    16g Copper Wire: amzn.to/3xLDVvJ
    Raspberry Pi Pico: amzn.to/3HglCVb
    Arduino Pro Micro: amzn.to/3HkR9Fn
    Ethernet Cable: amzn.to/3uyaOKr
    M2x6mm Screws: amzn.to/3UI1bDH
    M2x8mm Spacer: amzn.to/3Y4KzJ3
    M2 Heat Set Insert: amzn.to/3WjklB9
    Durock Stabilizers: amzn.to/3FgcLQR
    ~ 3D Printing ~
    Ender-3 Pro: amzn.to/3VIWryL
    PEI Magnetic Bed: amzn.to/3Hi7URx
    Dual Z Upgrade: amzn.to/3h7DTJy
    BLTouch Auto-Leveling: amzn.to/3UGEBv8
    ~ Favorite Cheap Switches ~
    Gateron Milky Yellow: amzn.to/3Bk0Cci
    Akko Lavender Purple: amzn.to/3VJy440
    ~ Social ~
    / joe_scotto
    / joe_scotto
    ko-fi.com/joe_scotto
    ~ Community ~
    ScottoKeebs Discord: / discord
    Handwired Keyboards Reddit: / handwiredkeyboards
    ~ Timestamps ~
    0:00 - Intro
    0:22 - Setup
    2:48 - Schematic
    7:35 - Footprint Assignment
    8:43 - PCB Setup
    9:14 - Grid System
    10:04 - Positioning
    13:55 - Routing Traces
    15:37 - Vias
    16:17 - Controller Wiring
    16:46 - Design Rules Checker
    17:00 - Edge Cuts
    17:38 - Filled Zones
    18:45 - Exporting Gerbers
    18:56 - Ordering PCBs
    19:15 - HASL vs ENIG
    19:58 - Outro
    ~ Disclaimer ~
    Some links may be affiliate links where I will make a small commission. Nothing in this video was sponsored by any outside party and I wasn't paid for the content in this video.
    #mechanicalkeyboard #kicad #pcb
  • Věda a technologie

Komentáře • 185

  • @joe_scotto
    @joe_scotto  Před 8 měsíci +49

    I l put a ton of work into this one so definitely let me know what you think! You can find the ScottoKicad library here: github.com/joe-scotto/scottokeebs/tree/main/Extras/ScottoKicad
    If you have questions on anything feel free to ask down below or join my discord: discord.gg/ftAUApaQs4

    • @sanketss84
      @sanketss84 Před 8 měsíci +5

      thanks for sharing this and making it accessible for lot of the ones just getting into this hobby.

    • @agatasoda
      @agatasoda Před 8 měsíci +1

      Fantastic! I didn't know I wanted to even build a keyboard until this channel popped up.

    • @zamp-skateboarding
      @zamp-skateboarding Před 2 měsíci

      How did you set the dark theme?
      Anyway nice tutorial! Keep going :)

    • @joe_scotto
      @joe_scotto  Před 2 měsíci

      Search up “Dracula Kicad”

    • @gonthyalavishalchandan1193
      @gonthyalavishalchandan1193 Před 2 měsíci

      Next video link please

  • @zachbrown7272
    @zachbrown7272 Před 4 měsíci +39

    EE and board designer here, you're style is pretty good but I have a few minor nitpicks. First, you're using global labels for your rows and columns. this isn't a huge deal, but net labels are preferred since they are just the scope of the page. You also directly connect two components together in the schematic, but best practice is to leave a grid unit of space and connect them with a wire so that it is clear that they are not one part. This also applies to wires coming out of any pin, so not connecting the labels straight to the MCU pins or running a wire straight across the switch pins.

    • @thisyologuy
      @thisyologuy Před 3 měsíci +1

      If I may add more to that. Firstly two layer boards are costly and in there is no need for that in such simple design. All traces can be routed on the top layer. Secondly if you are doing infill, use is. Good practice is to connect it to the ground (GND pin) of the MCU.

    • @riccardoiacob4560
      @riccardoiacob4560 Před 3 měsíci +5

      ​@@thisyologuy2 layer boards are the standard for almost any manufacturer, so unless you're planning on producing hundreds of thousands of boards you're probably going to spend more money because single-layer boards are considered "unusual" options thus have to be in a separate production line. Ground planes should be stitched together as often as possible, to reduce return path lengths and impedances.
      I stand with what Zach said, although using global labels in single-schematic projects may make them kind of clearer to see in the global scope.

    • @nickklaver11
      @nickklaver11 Před 27 dny

      @@riccardoiacob4560 unless you have a cnc machine for prototypes then it makes sense to put components on the back plate for through hole components. i got this advice from a teacher along with the ground mask and making the traces as thick as you can to make for eazy soldering

  • @aaronacj
    @aaronacj Před 2 měsíci +9

    Not interested in KBs, but your walkthrough on KiCAD is better than most dedicated tutorials.
    An in depth tutorial of kicad would be amazing with your style of to the point instruction.

    • @joe_scotto
      @joe_scotto  Před měsícem

      I'm glad it was helpful! I plan on making more Kicad videos in the future that might be of interest to you :)

  • @rakibshahid7913
    @rakibshahid7913 Před 8 měsíci +2

    Just wanted to say your channel is a godsend. Recently got into this stuff not too long ago and your channel is a phenomenal resource

  • @Bobbakerfield
    @Bobbakerfield Před 4 měsíci +1

    Great work. I was watching a few other peoples videos about how to do this and they didn't go into as much detail as you did on the routing. Very appreciated. Also thanks for making and sharing your kicad components list. You've almost taken all the guess work out of how to do this.

  • @alexmiller7879
    @alexmiller7879 Před 8 měsíci +5

    I wish this existed when I first started designing keyboards. This is extremely straight forward. I learned everything the hard way. Trail by fire.

  • @user-ch9iz3ib4i
    @user-ch9iz3ib4i Před 8 měsíci +1

    This literally came out exactly when I needed an easy Kicad guide, thanks a million! Loved the video and found it supremely helpful:)

  • @SpeedyPotato_
    @SpeedyPotato_ Před 8 měsíci +2

    i wish i had this when starting out, I self-learned with ai03's old guides a few years back and still found a few neat tricks I haven't seen before. Thanks!

  • @KyekOfficial
    @KyekOfficial Před 8 měsíci +4

    Great guide Joe, I know kicad already but I watched it to see if it would be a good guide to recommend. I think you explained every step really well so I'll be recommending this guide moving forward. Thanks!

  • @oaledo
    @oaledo Před 7 měsíci +2

    This is awesome work. I'm a complete novice to this field and was still able to follow along. Great job keeping it concise while still covering just about everything one could need to know. Now to figure out how to wire in some rotary encoders, can't be tooo complicated...

  • @kwahlman
    @kwahlman Před 7 měsíci +2

    For the "Select item(s)" it mean you can select several items at once, if it is a capitalized letter inside a pair of round brackets with a space between the word and the brackets it is a hotkey.
    If you hover over the tenth icon from the bottom you will see that it has the S hotkey "Add a hierarchical sheet (S)". They are a bit indecisive in how they label buttons though. The last icon "Delete clicked items" do not use the "item(s)" notation.
    Not trying to sound ungrateful or rude, just giving the reason for why S doesn't work for select.
    I love the video, I wanted to get into this myself and this video is a great place to start.
    Thanks for taking the time to make this!

  • @MrJibJub13
    @MrJibJub13 Před 3 měsíci +3

    you files and linked 3d files are really helping me set up kicad for keyboards. i looks like it was a lot of work and thank you for it!

  • @throughtheglasseye6678
    @throughtheglasseye6678 Před 8 měsíci

    quality series of videos!
    i am tuned in and look forward to seeing another part.

  • @katpuz01
    @katpuz01 Před 3 měsíci +1

    Thank you for sharing your Kicad Libairy. It was a massive help in designing my first PCB

  • @MrEdwardSP
    @MrEdwardSP Před 8 měsíci

    This is super concise and well structured tutorial, thank you so much for your time spent on making this video!!!

  • @iwantpig
    @iwantpig Před 7 měsíci

    Much easier than i was anticipating. Of course thanks to your provided libraries and helpful tips. Probably something ill try out in the future.

  • @sonicase
    @sonicase Před 8 měsíci

    nice,... i like how it's a short but concise video and easy to follow. I've been meaning to do this for quite a while, maybe i'll give it another shot now.

  • @WulffDen
    @WulffDen Před 2 měsíci

    Man, this walkthrough has been so helpful with a recent project. I've been back here probably like 50 times by now. Thank you so much for this.

  • @sergeikrivtcov9518
    @sergeikrivtcov9518 Před 8 měsíci +1

    Excellent and informative video as always, Joe! Very well done. I am looking forward to electrostatic capacitive keyboard PCB design video 😅

  • @jenniehan5871
    @jenniehan5871 Před 8 měsíci

    I have been trying to design my own PCB for a 2key macro pad and this is exactly what I was looking for! Thank you, I found it so much easier to follow than all the other tutorials out there.

  • @Aliens400
    @Aliens400 Před 8 měsíci +18

    Very good, easy, and clear to follow tutorial. You couldn’t have done a better job!
    The only thing I would mention worth adding is the KLE placer plugin, which is pretty much necessary for getting the key footprints in the right location for full sized keyboards.
    But overall this is a brilliant intro video!

    • @joe_scotto
      @joe_scotto  Před 8 měsíci +2

      I’ll have to look into that plugin. I’ve started designing my handwired boards with Kicad but a tool to convert KLE would be awesome!

    • @Aliens400
      @Aliens400 Před 8 měsíci +2

      @@joe_scotto Noah Kiser does a really good job at explaining how to use it, I included the link that starts at him using the tool, but for install instructions go to ~1 : 05
      czcams.com/video/6Z49bynRqj8/video.htmlsi=2ZARvlQ_-5lMZ-w2&t=2556
      Great work again! I think the software and case building episodes in this series are really going to be interesting! Can't wait!

  • @SanderMakes
    @SanderMakes Před 8 měsíci +2

    Hey Joe, I just wanted to let you know you really helped me out with this video. A lot of the things you showed me, really made me have KiCAD click for me. Thanks!

  • @bencunningham-walker493
    @bencunningham-walker493 Před 6 měsíci

    This is an amazing tutorial, so clear and such great quality

  • @endriuk02
    @endriuk02 Před měsícem

    This video is awesome, it gave me all I needed to design my first pcb, thanks man!

  • @compfixer87
    @compfixer87 Před 8 měsíci +18

    As an avid CZcams video consumer, this is now my favorite video on the entire platform. Thank you!
    I’ve been trying to teach myself KiCAD for a long time now so I can fabricate some more stable/professional boards for a few custom, Home Assistant-integrated sensors I created and hand wired on perf board, but I kept getting stuck.
    Your video has shown me how to properly get started, and planted the seeds of a desire to maybe design my own keeb in the future rather than using the (amazing) open source boards I’ve built to date. Maybe I can finally contribute back to the open source home automation and keeb communities with my own designs now.
    I cannot express how excited this video has left me, nor can I sufficiently convey my gratitude. Thank you again!

  • @nutellanutella
    @nutellanutella Před 8 měsíci +9

    You can directly type "19.05 / 8" in the grid settings and it will update the correct number

    • @joe_scotto
      @joe_scotto  Před 8 měsíci +3

      Oh wow… I’m fairly certain I tried this before and it didn’t work but just now I tried it and success!
      Thank you!

  • @ajoo0h
    @ajoo0h Před 8 měsíci

    Thank you for sharing this! Fantastic job and hope to learn more!

  • @pudgey952
    @pudgey952 Před 3 měsíci

    Very high quality video. Seeing you explain it is empowering. Thank you very much!

  • @Back-Air
    @Back-Air Před 6 měsíci

    Thanks for the really cool tutorial!
    I just Handwired my first keyboard not too long ago and thought that I had to try to do one with a PCB instead, and this really helped.
    Now I just need to find kicad files for rotary encoders

  • @vladventura1928
    @vladventura1928 Před 3 měsíci

    Loved the tutorial, I had no idea on how to use KiCAD

  • @sergeikrivtcov9518
    @sergeikrivtcov9518 Před 8 měsíci +6

    I highly recommend the excellent "Keyboard footprints placer" plugin for Kicad. It automatically places diodes, switches and stabs on the PCB according to the KLE json. Perhaps not that necessary for smaller projects like this pad, but will save a lot of elbow grease when designing 40%+ keyboards.
    Edit: grammar

    • @sanketss84
      @sanketss84 Před 8 měsíci

      thanks for sharing this will surely check it out.

    • @_adamws
      @_adamws Před 8 měsíci +2

      I'm the author, glad you liked it

    • @sergeikrivtcov9518
      @sergeikrivtcov9518 Před 8 měsíci

      @@_adamws thank you for this plugin! This is golden!

    • @sanketss84
      @sanketss84 Před 8 měsíci

      @@_adamws thank you for this.

  • @codexrat
    @codexrat Před 7 měsíci

    Great Video Scott. Always appreciated your detailed videos. You have really helped me on the software side of things i.e. setting up vial for custom boards.
    And Now that you have delved into the cad side of things i am quite thrilled tbh. Would love to see an onboard chip design guide for atmega32u4 with type-C port integration. I know its very handy to have a swappable pro micro but an onboard mcu is quite professional as well 😊
    Keep up the good work. Cheers.

  • @alexbalanovsky4708
    @alexbalanovsky4708 Před 8 měsíci

    Great video and important tips. Thanks

  • @overvoltagestudio
    @overvoltagestudio Před 8 měsíci +7

    Fantastic video! Great entry level explanation and guide for beginner keeb DIY:ers. Side note: Copper fills are usually used for grounding or EMI reduction, basically it only becomes necessary when antennas or high speed signals are involves. Completely unneccesary on boards like this where the MCU and USB is on a separate board, but yes it looks pretty :)

    • @joe_scotto
      @joe_scotto  Před 8 měsíci +1

      Yeah, the copper fill I kept simple because it's something that confused me when I first learned it. I want to do another video eventually covering on-board MCU circuits with direct wiring. That would allow me to show how you can use a filled zone in order to automatically connect all the direct pin switches to ground without having to run traces.

    • @overvoltagestudio
      @overvoltagestudio Před 8 měsíci

      @@joe_scotto That would be awesome to see!

    • @sanketss84
      @sanketss84 Před 8 měsíci

      yup thats correct. it would have worked really well for an example with a direct wired macropad vs row col.

  • @joostul
    @joostul Před 8 měsíci

    Best video ever! Makes me really excited to design my own keyboard, thank you so much!

  • @alexandrecosta2567
    @alexandrecosta2567 Před 6 měsíci

    This is such a niche video but at the same time so unbelievably targeted to me. I cannot thank you enough for your effort!

    • @joe_scotto
      @joe_scotto  Před 6 měsíci

      You’re welcome, glad I could help!

  • @ultrahalf
    @ultrahalf Před 8 měsíci +2

    Honestly
    THANK YOU 🙏

  • @Abu-Ubayda
    @Abu-Ubayda Před 8 měsíci

    Thank you! i was waiting for your giude.

  • @gunjja13
    @gunjja13 Před 8 měsíci

    Thank you so so much Joe 🙏🙏

  • @alexmelillo1247
    @alexmelillo1247 Před 8 měsíci

    Tremendously helpful!

  • @lpanebr
    @lpanebr Před 4 měsíci

    Amazing content. Thank you so much!

  • @Bianchi77
    @Bianchi77 Před 8 měsíci

    Nice video, thanks for sharing, well done :)

  • @sameesyed6507
    @sameesyed6507 Před 3 měsíci

    Amazing video for a mech eng learning trying to learn pcb design, whens the next video coming?

  • @aaulia
    @aaulia Před 8 měsíci

    Thank you, this is awesome.

  • @raidboy7858
    @raidboy7858 Před 8 měsíci +1

    thank you so much I really love your videos

  • @saidyeter
    @saidyeter Před 8 měsíci

    Man, this is awesome

  • @josed2828
    @josed2828 Před 2 měsíci

    I loved the video I learned a lot really thanks you

  • @brdevll
    @brdevll Před 3 měsíci

    I was struggling so much trying to add footprints to ergogen that I ended up ordering an existing pcb design (corne to be specific), but you basically demystified kicad for me. If I had watched this video before I think I would stick to making my own design. Well, next time for sure!

  • @user-he5ht7kk2z
    @user-he5ht7kk2z Před 8 měsíci

    great video much appreciate.

  • @5t4n5
    @5t4n5 Před 5 měsíci +1

    Thank you, Joe. A lot of coffee and not much sleep and i made a little test piece that i just sent off to be made to see i got it all right.
    I've never done anything like this before, so thank you lots and lots for taking the time to put all this together. This completely PCB/custom-keeb newb really appreciates all you do on this channel. 😀

  • @BlueOctopusDev
    @BlueOctopusDev Před 6 měsíci

    i love this video, it's my dream to live doing this

  • @sanketss84
    @sanketss84 Před 8 měsíci +1

    another way to save costs is by panelize the pcb especially for smaller pcbs and you could also build reversible pcbs if its a split keyboard.

  • @anaplayz9534
    @anaplayz9534 Před 6 měsíci

    I'm really looking forward to the firmware part as that's what I'm the most uncertain about. I'm building a custom keypad for gaming and trying to figure out what microcontroller I should use so hopefully you will touch on that as well on that video.

  • @tylergubala7355
    @tylergubala7355 Před 2 měsíci

    This is great, thank you. Any chance you will be putting the KB2040 into the Scottokeebs libraries?

  • @Qw3r3wQ
    @Qw3r3wQ Před 8 měsíci +1

    Thanks

  • @YoutubeBorkedMyOldHandle_why
    @YoutubeBorkedMyOldHandle_why Před 6 měsíci +1

    Thank you for sharing.
    I recently built a full keyboard for a project, which I designed with KiCad7. Might I suggest a couple of enhancements to your design?
    1. You are connecting the rows and columns directly to your microcontroller. For a 3x3 grid not too much of a problem, but for mine there are 5 columns and 8 rows, so this could start eating up the GPIOs, and also need a lot of connection wires. I've used 1 74hc164 and 2 74hc165 shift registers. The 164 is used to one-at-a-time pull the (logic low) columns low, and the 165s are used to collect the button press data, serialize it, and send it back to the microcontroller.
    2. In your design, the microcontroller needs to constantly monitor the state of the pins. I've used a 'trigger' pin which works like this: I've added 8 diodes, cathodes connected to each of the rows, anodes tied together and pulled high, which is effectively a cheap 8 input OR gate. The anode of the diodes is the trigger pin, which will go low if 'any' of the buttons are pressed and high if 'all' are released. This signal is used for 2 external interrupts on the microcontroller, one which fires on a falling edge, and the other on a rising edge.
    So, when a falling edge is detected an interrupt is triggered, which causes the microcontroller to send 5 bytes to the 164 in rapid succession with a short delay between them, causing one of the 5 columns to be pulled low for each. IFF the 'pressed' key is sitting on one of these columns, then the signal will be passed through to the corresponding row and is captured by the 165. The 165 is read after a short delay for each byte. The short delay allows for the detection of 'multi button' presses. I have 6 data wires plus VCC and GND, and the microcontroller need not constantly monitor the keyboard. The rising edge signals that the key(s) is(are) released, whereupon the microcontroller continues to monitor for 'double', 'triple' key presses etc.

    • @gillsejusbates6938
      @gillsejusbates6938 Před 3 měsíci

      1) Just use a bigger microcontroller, or duplex your matrix.
      2) its not like constant matrix scanning puts any strain on the chip or slows down registration, since USB polling is at 1000hz. This also requires custom QMK matrix scanning and debouncing.
      I think a better way to put your suggestions are complications, not enhancements, especially for a beginners tutorial.

    • @YoutubeBorkedMyOldHandle_why
      @YoutubeBorkedMyOldHandle_why Před 3 měsíci

      @@gillsejusbates6938 1. I'm kind of a minimalist ... I mean why use a $5 uController when a $0.50 one will do just fine? I don't know what you mean by "duplex (my) matrix." As mentioned in my comment, my keyboard has 5 columns and 8 rows 'multiplexed' with one 74hc165 for the rows and one for the columns.
      2. So, what I've achieved is a keyboard which allows both 'single/double/triple/quadruple' presses (where 1 or more keys are repeatedly pressed) and also 'multi-key' presses (where more than one key is pressed simultaneously), and/or a combination of these. This happens with frames as follows:
      - A frame is from the first detection of a rising edge (a key was pressed) until the falling edge is detected (all keys have been released.)
      - Any key press starts the frame which causes a timer to kick in and wait for a 'human' amount of time.
      - Typically, for 'multi-key' presses, the difference between 1 key being pressed and another will be ~10 to 20 ms. But a 'single/double/triple/quadruple' press (i.e. the amount of time the button is actually held down), will typically be 200+ ms. So, at ~80 to 100 ms I'm pretty much guaranteed to have a stable press, so I take a measurement at this point by polling with the 74hc164 (MUCH faster than 1 kHz) and reading the output of the 74hc165s. This also addresses your concern about debouncing ... which is 'unnecessary' because everything will have settled down by this point.
      - After measuring the keys at the 80 to 100 ms mark, I then wait for a falling edge to end the frame, and then repeat the process in case this is a 'multi-key' press, or a 'time out' of around ~300 to 500 ms ends the session.
      - Data is accumulated and at the end of the session, it is evaluated, and stuff is done about it.
      - In the meantime, the uController can wait for days or weeks if necessary, in sleep mode, consuming minimal power.
      I appreciate that beginners want things nice and simple ... but not everyone is a beginner. Some of us want things to actually happen.

  • @nemtudom5074
    @nemtudom5074 Před měsícem

    Damn. I didnt know it was this easy to make PCB's!
    Very educational video!
    Now to just figure out which of the three controllers i fried on my keyboard now that two columns dont work. The one for F3 3 E D C and space and the F4 4 R F V and alt gr column. I really dont know why my keyboard has three damn controllers, but its probably the LED's.... Wish i still had my multimeter....

  • @nbredia
    @nbredia Před měsícem

    For grid sizes, is it by switch size or keycap size? I was planning on using Work Louder caps on a macropad, which are choc with MX spacing.

  • @semputs
    @semputs Před 8 měsíci

    Thanks for this vid. Your other vids on OLED and handwiring helped me build my own keeb from scratch (made a few vids on those). Your vids are always just nice to watch and very engaging.
    Do you think you'll make a PCB design video for your ergo scotto keebs? I'm just wondering how you'd make the screw holes, aligning rotated switches and making the casing and how the design from Kicad would be used in fusion360, or just use Kicad 100% for the case design, etc.

    • @joe_scotto
      @joe_scotto  Před 8 měsíci +1

      Glad you enjoy them!
      I don't think I'll make a video talking about my ergo boards as PCBs but I might do one using a tool that converts a KLE to Kicad that many have suggested. I'm currently working on a second PCB video that will go over some more advanced things, specifically for direct wiring but will include mounting holes in there to give people an idea.

  • @Dave-gj7ss
    @Dave-gj7ss Před 2 měsíci

    Thank you so much dude

  • @loneventhorizon
    @loneventhorizon Před 11 dny

    excellent

  • @mattaaron4383
    @mattaaron4383 Před 8 měsíci

    Thanks!

  • @jjang_won
    @jjang_won Před 8 měsíci

    Thank you for the video. I want you to make a video about KMK firmware.

  • @Antebios
    @Antebios Před 4 měsíci

    Holy shit!! This video was great!!!!!!!!

  • @riccardoiacob4560
    @riccardoiacob4560 Před 3 měsíci

    You could also use the draw bus tool instead of the labels

  • @CreamyCheese_
    @CreamyCheese_ Před 5 měsíci

    Hey Joe!
    Just had a few questions:
    I downloaded the GitHub but the files inside it are completely different!
    So, I used OctoPart to download the first result for "Mx Switch"
    It worked great and I completed ergogen and schematic with 0 electrical rules check violations.
    In PCB Editor, I get the layout down and everything wired up..
    Then it says the switches aren't connected.
    So I checked the schematic and my best guess is that the Green Dots on the wires (junctions) are ruining the connections?
    Thanks for any help!!

  • @kyu_273
    @kyu_273 Před 5 měsíci

    Thanks for the guide! It's really helpful. I was wondering, what if I run out of pins on the board in the schematic?

    • @joe_scotto
      @joe_scotto  Před 5 měsíci +1

      You’ll need to use a different controller then. Basically your controller needs to have enough pins to support your matrix.

  • @FringanSthlm
    @FringanSthlm Před měsícem

    Really great guide! I've been able to design a custom keyboard for the first time. Only thing missing is when a manufacturer is asking for a BOM (which I have) and a CPL file (Pick&Place File); I have no idea what the CPL file is but I'm sure google will help :)

  • @numtostr
    @numtostr Před 8 měsíci +2

    I think that (s) in "Select item(s)" is just a parenthetical plural verb. BTW great video as always. Next video idea: Adding RGB matrix to a PCB.

    • @joe_scotto
      @joe_scotto  Před 8 měsíci +4

      Maybe, but it would not make sense since all the other tools have the same thing… Wire tool (W), Add Tracks (X)

  • @Poide_Leather
    @Poide_Leather Před 5 měsíci

    Thx for amazing tutorial
    I followed your video
    But i can't see the component in3d viwer TT
    Only thing i can see is pcb with holes can you help?
    12:29

  • @whereIsJerome
    @whereIsJerome Před 8 měsíci

    This is a fantastic video, it's clear you put a lot of work and effort into it and for that, many thanks. Learned how to properly place elements in the PCB editor (finally!).
    I cloned your repo for the footprints and 3d models and have a quick question: how do you get to preview the mx switches in the 3d preview? I selected the same footprint as you did in the video and when I toggle the throughhole components on and off, nothing shows. Are those something extra?
    Quick note, not sure if you're aware, but you can do basic math inside KiCad, like 9 / 4 in the custom grid layout dialog box instead of using spotlight and copy pasting solutions.

    • @joe_scotto
      @joe_scotto  Před 8 měsíci

      Glad it's helpful!
      It sounds to me like your path isn't configured properly. You need to make sure that the "SCOTTOKEEBS_KICAD" path is set to the root folder where "ScottoKicad" is. If that's not configured properly, the library won't know where to look. It's also possible the footprint you chose doesn't have them but it sounds like you're using the same as me. Specifically, hotswap only has the SMD sockets and not the switches.

  • @crevm6888
    @crevm6888 Před 8 měsíci

    Nice vid :)

  • @theresaapocalypse5893
    @theresaapocalypse5893 Před 5 měsíci

    Would you mind if I were to borrow some assets from the library for some future program development?

  • @Amir-zi1hj
    @Amir-zi1hj Před 5 měsíci

    Hi, how did you flip the PCB for right side in kicad?

  • @lophixarts
    @lophixarts Před 5 měsíci +1

    How to include a volume knob?
    Or even a mini display?

  • @vzx
    @vzx Před 8 měsíci

    7:16 When we have the keyboard larger than 3x3, how do we wire to the pin? Is there any specific reasons the traces to be put on those specific pins?

    • @joe_scotto
      @joe_scotto  Před 8 měsíci +1

      That’s one of those things you need to decide based on your design and controller choice. You need enough pins on your controller for each column and row, so 6 for a 3x3 matrix (3 columns and 3 rows).
      The traces then need to be ran to where you defined them in your schematic but you can choose which pins as long as they’re GPIO.

  • @aaronstone628
    @aaronstone628 Před 4 měsíci

    How did you get your color scheme like that? Those are awesome colors

  • @ahmedmamdouh523
    @ahmedmamdouh523 Před 6 měsíci

    Hi joe, choc V1 not previewed in 3d preview. Could you check.

  • @vzx
    @vzx Před 8 měsíci

    13:26 How do you rotate the D9 with finer angle step?

  • @owen-nd9eb
    @owen-nd9eb Před 3 měsíci

    Whenever using the Arduino, when running the design rule checker I always get 50-ish errors consisting of "Silkscreen clipped by board edge" and "Silkscreen clipped by solder mask". I looked it up and some sources said that it should still be fine im still uneasy about it. Thoughts?

  • @tylergubala7355
    @tylergubala7355 Před 2 měsíci +1

    They seemed to have changed it in version 8 where s is no longer the grid origin hotkey for the PCB editor. Instead you have to go Toolbar -> Place -> Grid Origin

    • @joe_scotto
      @joe_scotto  Před měsícem

      They did along with changing other hotkeys but luckily you can remap them in the settings. Version 8 also has a bunch of other issues and I've been telling people to avoid it for now until they're fixed.

  • @marty_m211
    @marty_m211 Před 2 měsíci +2

    I am almost finished doing my first pcb keyboard board and when i try to finish it with the plugin it says this: 'FOOTPRINT; object has no attribute 'HasProperty'. Can anybody help me fix it?

    • @joe_scotto
      @joe_scotto  Před 2 měsíci +1

      This is caused by Kicad 8 and the author of the export plugin has fixed it but it's not implemented into the official plugin manager yet, that said you can do the following to fix the error:
      1. Download this (V4.0.0 of the plugin): github.com/bennymeg/JLC-Plugin-for-KiCad/releases/download/4.0.0/JLC-Plugin-for-KiCad-4.0.0.zip
      2. Open Kicad -> Plugin and Content Manager -> Installed -> Uninstall Fabrication Toolkit (If you installed it before)
      3. Install from File -> Install the ZIP you downloaded
      4. Should be fixed, try exporting again.

  • @ruairihair
    @ruairihair Před 8 měsíci +5

    Noah Kiser did a tkl build that's worth checking out

  • @madhunugg
    @madhunugg Před měsícem

    Instead of using a calculator, you can actually do the fourth or eighth grid settings in the kicad dialog box directly.

  • @AmazingSpanoMan
    @AmazingSpanoMan Před 3 měsíci

    I'm following this guide and so far so good except for some reason the 3d files aren't rendering in the 3d model

    • @AmazingSpanoMan
      @AmazingSpanoMan Před 3 měsíci

      Never mind. Apparently had to relink all the 3d model locations manually in the footprint properties.

  • @malikilam
    @malikilam Před 7 měsíci

    I downloaded your Symbol library, but the placeholder switch is not rotated to 45 degrees like in your video. That rotation makes it a lot cleaner to use in the schematic. Though I've searched google far and wide I can't seem to find how to rotate a symbol at 45 degrees, only increments of 90 degrees. (I have found how to do it in older versions of Kicad but not the latest version.) Can anyone point me in the right direction?

    • @Graham_Wideman
      @Graham_Wideman Před 3 měsíci

      searcg google for "kicad rotate symbol 45 degrees" -- there are several ways to do it.

  • @shaybcakes6309
    @shaybcakes6309 Před 7 měsíci

    Super helpful tutorial. KiCad isn't showing any of my components in 3d viewer, just the board itself. Any idea why?

    • @joe_scotto
      @joe_scotto  Před 7 měsíci

      Not all components have 3D models but you can double check by making sure the 3D viewer has them toggled on with the controls on the top

    • @jamesonwallace4558
      @jamesonwallace4558 Před 6 měsíci

      Mine is doing this as well.

  • @slabua
    @slabua Před 8 měsíci

    You can use the fill zone as a global ground trace.

    • @joe_scotto
      @joe_scotto  Před 8 měsíci +1

      Yup, I didn’t want to go too in depth on this first video as that’s something that could confuse a beginner. I’m going to do another video talking about direct wiring with a filled zone as ground.

    • @slabua
      @slabua Před 8 měsíci

      @@joe_scotto that would be nice to see, thanks!

  • @peastfist1602
    @peastfist1602 Před 6 měsíci

    Hi Joe , it is me again. So after I clicked the "Fabrication Toolkit" , I have my project zip file.
    Inside it I have 12 files, So which one should I use for ordering pcb ?

    • @joe_scotto
      @joe_scotto  Před 6 měsíci

      You need to upload all the files as a zip archive as they’re all the production files.

    • @peastfist1602
      @peastfist1602 Před 6 měsíci

      @@joe_scotto allright. Thank you very much

  • @manouchehrmail
    @manouchehrmail Před 2 měsíci

    Thanks for the effort but it seems the symbols are not compatible with KiCAD 7 and 8. The error massage is this: "Expecting '(' in ....ScottoKeebs_sym', line 7, offset 1."
    I opened this file and compared it with a standard symbol files from KiCAD and I noticed your file is in a totally different format that those standard ones. So I can't import your libraries. Am I doing something wrong?
    Thanks anyway for your great job and sharing it.

    • @joe_scotto
      @joe_scotto  Před 2 měsíci +1

      I’m not sure what’s going wrong but I and others are using them in both Kicad 7 and 8. I would recommend joining my Discord and seeing if anyone there knows: scottokeebs.com/discord

    • @manouchehrmail
      @manouchehrmail Před 2 měsíci

      @@joe_scotto I tried but I can't manage to create an account on Discord. Your Sym file is in HTML but standard ones are not. I expect KiCAD to do required conversions but it fails. By the way, I just installed KiCAD. Shall I do anything else before importing your library?

    • @joe_scotto
      @joe_scotto  Před 2 měsíci +1

      @manouchehrmail Oh, you’re downloading the files wrong. Go to the link below, click the green “Code” button, and download it as a ZIP. Then find the ScottoKicad folder and use that.
      scottokeebs.com/github

    • @manouchehrmail
      @manouchehrmail Před 2 měsíci

      @@joe_scotto Thank you so much. Now it works :)

  • @lpanebr
    @lpanebr Před 4 měsíci

    I just discovered that in the user grid you can just type 18/4 and it will do the math for you!

  • @CheeseFriesAndCoffee
    @CheeseFriesAndCoffee Před 6 měsíci

    How do you download the ScottoKicad library? I to the link but there is no download or save or anything.

    • @joe_scotto
      @joe_scotto  Před 6 měsíci +1

      Click the green "Code" button on this URL and download it all as a ZIP, Github can be weird with downloads at times: github.com/joe-scotto/scottokeebs/tree/main

    • @CheeseFriesAndCoffee
      @CheeseFriesAndCoffee Před 6 měsíci

      Thanks a ton! That worked. Also the vid is amazing and provides a set of tools that will be fun to learn to use too.. :) Seriously though you rock!@@joe_scotto

  • @therick0996
    @therick0996 Před 8 měsíci

    i don't think there is a hotkey for select. when it say item(s) i think it's saying you can select plural. note the rest of the hotkeys are noted with a space and then a capital letter in parenthesis

  • @thewolfsshadow6702
    @thewolfsshadow6702 Před měsícem

    what do you do when your microcontroller doesn't have enough pins for all your columns and rows?

    • @joe_scotto
      @joe_scotto  Před měsícem

      I pick a different controller but a Raspberry Pi Pico for example should have more than enough pins for most designs. There are also more advanced matrix designs such as the Japanese Duplex but I haven't tried it before.

  • @scotts-tech
    @scotts-tech Před 3 měsíci

    Does anyone know of a video like this but for backlit mechanical keyboards? They make "rgb" switches. They make backlight compatible keycaps. It should be possible to make one. Would be nice to see if someone else has figured out all the details on building one of those. It seems like the led would go under the key switch. On a g910 keyboard, the leds are directly under each switch and the metal sheet that the switches snap into is raised up just far enough for there to be room under each switch for an led.
    Individually addressable led lights seem to be too hard to get in quantity (your only choice is to desolder them from light strips and they aren't even on mouser) but I just want to find a way to home build a solid color backlit mechanical keyboard.

  • @cxvcnxbzfdhjlaks
    @cxvcnxbzfdhjlaks Před 3 měsíci

    Does this accommodate rgb lcds?

  • @ismailsalih1299
    @ismailsalih1299 Před 8 měsíci

    Can you plz make a kmk tutorial for creating custom firmware

  • @samxu7183
    @samxu7183 Před 3 měsíci

    KEE CAD, It's French.
    Love the video, very informative.

  • @zc-maximus
    @zc-maximus Před měsícem +1

    for me the footprints do not appear is it common problem or not

  • @thanhanle3879
    @thanhanle3879 Před 6 měsíci

    I'm still waiting for the firmware video tho 😅, hope you could release that soon