Editing
KiCAD keyboard PCB design guide
(section)
From Deskthority Wiki
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Eeschema == Eeschema is the schematics editor in KiCAD. Here components are defined and connected to form the schematics for your project. === Controls === Right clicking an object in the schematic brings up a list of edit options applicable to it. Most of these commands are also available as keyboard shortcuts. Hovering the mouse pointer over an object and pressing the corresponding key, the command is applied to it. Sometimes when there are several objects under the pointer a list of choices pops up. Stacking things to tightly can get annoying... Many of the shortcuts are also available when a component is picked up for moving. The shortcut is then applied to the floating object. === Keyboard shortcuts === This is only a selection of available commands. '''m''' - Pick the component up for moving around. '''g''' - Drag the component (move it while extending wires connected to it maintaining connectivity). '''c''' - Copy the component. '''e''' - Open the edit dialogue for the component, reference field or value field. '''r''' - Rotate the component. '''y''' - Mirror component. '''Del''' - Delete the component '''Esc''' - Abort a move (including orientation changes during the move). It is also possible to select a block of items by drawing out a rectangle using the mouse. When a block is selected a left click brings up a list of applicable commands. === Creating a keyboard schematic === A [[keyboard matrix]] is really only a bunch of switches, each connected to a unique row-column pair to be able to tell them apart. To avoid [[Rollover, blocking and ghosting|ghosting]] this set-up is then improved by placing a diode in series with each switch. In KiCAD first drawing out a single switch-diode unit, making several copies to form a column, and then copying the columns into a complete matrix yields quick results. (Don't forget the ''junctions'' at the end of the leads.) Draw out a rectangle around the part you want to copy, right click and select ''Copy Block''. Place components straight and tidy! Each iteration doubles the amount of new switches for an exponential growth. When all the switch modules are laid out they need to be connected to form rows and columns. There is no need to draw a wire segment between each pair of junctions, a long one overlapping them all is sufficient. Each component also needs a unique ''reference''. References can be almost anything, but they need to end in a digit. The quick and dirty way to assign references is to use the ''annotation'' tool in the top toolbar. This will assign a generic reference number to each component left-to-right/top-to-bottom. A more elegant way is to name the components after their spot in the key matrix. This needs to be done by hand (why not write a script!), but it will pay off in the end. Also add ''labels'' to the row and columns. <gallery widths=250 heights=187> File:KiCAD_tutorial-Single_switch.png | Single switch-diode File:KiCAD tutorial-Block copying.png | Copying a block File:KiCAD tutorial-Exponential growth.png | Exponential growth File:KiCAD tutorial-Component references.png | References </gallery> Next up is the [[keyboard controller|controller]]. First off be sure to read and understand the 500+ page datasheet for the ATmega32u4... no, this is actually quite simple. Add labels for the rows and columns to the I/O-pins you would like to use. Any I/O-pins on the Teensy work equally well. You may want to swap pins around later to make routing a bit less tangled up. Add power symbols (VCC, GND), and also add some LEDs with current limiting resistors. Remember to set references for all of these components as well. Remove switches in locations you are not going to be using. And tidy up, always let your OCDs flourish. <gallery widths=250 heights=187> File:KiCAD tutorial-Controller.png | Controller File:KiCAD tutorial-Complete schematic.png | Complete schematic </gallery> Now the schematic is done and all that is left is to create a ''netlist'' file, and assign footprints to each component. If all references are in order this is as simple as clicking the ''Generate netlist'' button in the top toolbar. When your netlist is generated, click the ''Run CvPCB'' button to assign the footprints. Assigning footprints to all components includes a lot of mouse clicking. This can of course be avoided by opening the <tt>tutorial.cmp</tt> file in an editor, apply some regular expression skill, and magically make component names appear in the correct places... Save the component assignment file, quit and open PCBnew from the KiCAD main winwdow. <gallery widths=250 heights=187> File:KiCAD tutorial-CvPCB.png | CvPCB </gallery>
Summary:
Please note that all contributions to Deskthority Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Project:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Page actions
Page
Discussion
Read
Edit
Edit source
History
Page actions
Page
Discussion
More
Tools
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Navigation
Main page
Deskthority forum
Support Deskthority
Search
Main categories
Guides
Keyboards
Keyboard switches
Keycaps
Keyboard modding
Pointing devices
Brands & companies
Group buys
Other topics
Wiki info & links
Recent changes
Random page
All pages
Deskthority wiki help
MediaWiki help
Tools
What links here
Related changes
Special pages
Page information