ruiqimao / keyboard-pcb-guide Goto Github PK
View Code? Open in Web Editor NEWGuide on how to design keyboard PCBs with KiCad
Guide on how to design keyboard PCBs with KiCad
I'm interested in updating this guide to use a STM32F103 series chip. I feel more keyboards are going in this direction. More on board memory and other good stuff.
I'd also update it to use a type C USB connect and maybe use footprints for hotswap sockets (probably Kailh's).
Would you, @ruiqimao, be interested in doing this with me, or would it be better that I fork and write a separate guide?
I'd like to know how to connect LEDs to the board, and how to add more holes for the space bar, shift, and all of the long buttons holder thing. I look forward to hear from you soon!
As of version 4.0.6 the crystal footprint and name have changed in KiCad.
Here is an image of the crystals I think are closest:
They also have them for the TSX3225.
And the FA328 Footprint looks like this:
With the TSX3225 looking identical.
With the tutorial's information being for a older version, it could confuse people just starting out, and confused me as well when I updated.
The link you have for kicad seems to be outdated. There new domain is this: https://www.kicad.org/
I was reading /r/AskElectronics and found this post: https://www.reddit.com/r/AskElectronics/comments/8rtowl/circuit_only_works_when_i_physically_touch_a/
It shows the need of decoupling capacitors, but the shown design doesn't have any.
Now, I'm not sure if you need one per Vcc pin on the ATMega, but certainly the total # is >0.
Also, it looks like a resistor is missing on the RESET line according to this app note: http://ww1.microchip.com/downloads/en/appnotes/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf
I don't see the option under preferences to add component libraries. Am I missing something?
nvm, i found help elsewhere... :/
Hi, is there any plan on tutorial for lighting?
Sorry if this question is irrelevant as I am totally new to all of this.
The icon for VCC
inside of my version of kiCAD is an upward arrow. I your screenshots, this icon is a hollow circle...
Am I doing something wrong or is this normal?
Thanks!
The ATmega32u4 is available from most sites in a QFN44 package, which is a few mm smaller than the QFP44 package the guide recommends. This smaller package allows the MCU to be placed between switches, so a keyboard can be designed with edges flush to the switches, while still being hand-solderable.
It's not that difficult to change the footprint to this alternative, and greatly improves the finished keyboard imo. This could be a useful addition.
We want to print out a PCB to test with Keyboards and Macro keypads cases\keycaps we've designed but aren't sure what software we can use to get it to be recognized by a computer and to be able to assign the keys to the characters we want.
Their is no instructions for code. also you need to add places for pins so you can program it
When someone wants to make their own layout and don't want to spend time making the pcb itself, how about using JSON from keyboard-layout-editor to make a pcb automatically?
I think you meant TL3342 series button instead of TL3442.
Thank you.
Hey.
When you first put the components on the PCB, the keyswitches do not have pins to put the diode in between. In the next screenshot they do. Clearly the footprint used in the tutorial earlier is not the correct one, but which one do I want to use?
Hi and first of all huge thanks for hell of a work to put it all together. I build my own keyboard in past with just wiring switches with solder iron, but always had question in my head. Are mechanical keyboards pcbs manufactured in one layer? If not I was always curious how rows and column traces does not intercept each other? Only if somehow traces go under smd diodes between connections for those I have no idea. And yes, I know its clearly shown in cad software via bunch of screenshots, sorry for that, but I never used any and for me its hard to understand is it one layer or two. I recently obtained small cnc machine and want to make my own pcb for my homemade planck keyboard instead of wiring, and I dont need to place avr on pcb, those will be connected with wire, I just want to make pcb for actual diode matrix and switch mounting. I understand how to make it with double sided pcb - on one side I mill traces for rows and smd diodes, on other - traces for columns. But have no idea how (and if its even possible) to make it one layer.
Thanks and sorry for dumb question.
Maybe there's something I'm not understanding but some searching leads me to believe that ATMEGA32U4 is a chipset and none of what I see online appears to resemble your step in the guide.
KiCad 5 was released on 7-22-18, 2 years after the bulk of this tutorial was written. Because of this, this tutorial is harder to follow as it doesn't match up with the new version of KiCad.
Don't you need an ISP header to initially flash the bootloader to the atmega32u4? I know that after the initial bootloader flash, you can just use the USB-port for flashing but as far as I know this don't work out-of-the-box
I have follow your tutorial but can't find a way to extract a dxf with the mounting plate
do you know any solution about that ?
First of all, I would like to thank you a lot for the guide, great work!
I would like to know if changing the microcontroller (NXP LPC11U14F or LCP11U24F) makes much difference.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.