Changes

Jump to navigation Jump to search
no edit summary
Line 6: Line 6:     
==Major Key==
 
==Major Key==
 +
 +
This project is a customizable extension for your keyboard, which will connect to your computer via USB. Your new keypad will be able to send arbitrary strings to your computer with each key press - meaning you can add keys for Slack emoji, shortcuts for your favorite program or game, or even just words or phrases you often use.
    
===Updating Your SVN===
 
===Updating Your SVN===
Line 25: Line 27:     
Right click in your Projects panel on "SSI.LibPkg" and hit "Compile." This will start the compilation process, which will take about a minute. This is important to do every time you update the SVN (unfortunately). Long term solutions to eliminate this requirement are being pursued but for now it's how things work.
 
Right click in your Projects panel on "SSI.LibPkg" and hit "Compile." This will start the compilation process, which will take about a minute. This is important to do every time you update the SVN (unfortunately). Long term solutions to eliminate this requirement are being pursued but for now it's how things work.
 +
 +
===Make Your Own Copy of Major Key===
 +
 +
From outside of Altium, go to altium-core/starter-projects/ and copy the folder "major-key-starter." Copy it into the folder called "working," and change its name to "major-key-<your-name>." Go into that folder and double-click on "major-key.PrjPcb" (possibly just showing up as "major-key") to open it in Altium.
 +
 +
===Check Out The Schematic===
 +
 +
From Altium, look at the Projects panel, and expand major-key. Open "TopSheet.SchDoc."
 +
 +
This document is the "top sheet" (hence the name) for the project. A board in Altium consists of one or more "sheets," pages of the electrical schematic. They are arranged hierarchically - every design with more than one sheet needs a "top" sheet and then "subsheets," which can be nested an arbitrary number of times (subsheets can have subsheets, which can have subsheets, which can have subsheets...) The green box (known as a "sheet symbol") represents a subsheet, containing the schematic for an Arduino microcontroller. You can open that sheet either from the Projects panel or by hitting {{altium-shortcut|ctrl + double click}} on the sheet symbol.
 +
 +
Open the subsheet as described above. We'll make one small edit to it for this project, and it may prove helpful to look at as an example of what an Altium schematic can look like.
 +
 +
====Add Missing Ports====
 +
[[File:Ports.png|thumb|200px|right|The four different I/O types of ports]]
 +
 +
The yellow symbols on the right edge of the sheet are called "ports." They pass signals from the subsheet up to the top sheet, kind of like parameters in a function. Each port has a name and a input/output type - "input," "output," "bidirectional," and "unspecified." Altium matches them to symbols on the upper sheet (called "sheet entries," discussed below) to make connections between the subsheet and its "parent."
 +
 +
We're going to add three new ports with Place &rarr; Port {{altium-shortcut|p &rarr; r}}. After you start placing, hit {{altium-shortcut|tab}} to bring up the options menu. The two fields to look at are "Name" and "I/O Type," which are how Altium matches ports to their corresponding sheet entries. We're going to add ports for pins 1, 3, and 5 - you'll note they're missing ports from the column on the right. Add three new ports, making sure their names are "1," "3," and "5," and their I/O types are all set to "bidirectional." Then switch back to the top sheet using your projects pane.
 +
 +
====Add Missing Sheet Entries====
 +
[[File:Sheet Entries.png|thumb|200px|right|The four different I/O types of sheet entries]]
 +
 +
The yellow symbols on the right edge of the sheet symbol are called "sheet entries." They match up with ports to pass signals from the subsheet up to the top sheet. Like ports, each sheet entry has a name and a input/output type - again, "input," "output," "bidirectional," and "unspecified."
 +
 +
We're now going to add three new sheet entries with Place &rarr; Add Sheet Entry {{altium-shortcut|p &rarr; a}}. After you start placing, hit {{altium-shortcut|tab}} to bring up the options menu. The two fields to look at are again "Name" and "I/O Type." We're going to add  for sheet entries for pins 1, 3, and 5. Add three new sheet entries, making sure their names are "1," "3," and "5," and their I/O types are all set to "bidirectional."
 +
 +
====Place Power Ports====
 +
[[File:Power Ports.png|thumb|200px|right|What you should have after placing the first two power ports and connecting them to the sheet symbol]]
 +
 +
Power ports are special symbols that represent power "rails" - specific voltages that are distributed across a PCB. These are commonly used for ground and power voltages. Power ports connect by name - meaning that all power ports named "GND" will connect to each other.
 +
 +
We're going to add two power ports - one for ground and one for 3.3 volts, by clicking Place &rarr; Power Port {{altium-shortcut|p &rarr; o}}. Hit {{altium-shortcut|tab}} to bring up the options menu, which has two important fields: "Net," which is the name of the power port, and "Style," which controls its appearance. Set the net to "GND" and set the style to "Bar." It's a standard in SSI PCBs to use bar symbols for ground, with the bar facing down. Hit okay on the options menu and place the power port near the GND sheet entry. Rotate it with {{altium-shortcut|space}} to make the bar face down.
 +
 +
After placing, hit {{altium-shortcut|tab}} again to bring up the options menu, and change the net to "+3.3V" and the style to "GOST Arrow." The SSI standard for supply voltages is a GOST arrow facing upwards (except when the voltage is negative, which should face down). Hit ok and place the new power port near the +3.3V sheet entry, rotating the arrow to point up.
 +
 +
====Place Wires====
 +
 +
Wires are the dark blue lines that electrically connect ports, sheet entries, and pins in your schematic.
 +
 +
Place wires with Place &rarr; Wire {{altium-shortcut|p &rarr; w}}. Draw a wire from the GND sheet entry to the pin of the GND power port, and another wire from the +3.3V sheet entry to the +3.3V power port. You should now have something looking like the picture at right.
 +
 +
====Pick Type and Number of Keys====
 +
 +
We're now going to add the actual key switches. We (as of this writing) have two switch types in the library - "white" and "blue." The different colors are for different mechanical properties of the switches; blue switches make an audible "clicking" sound when pressed, and white ones are quieter. You're free to pick either; please just be consistent.
 +
 +
You will also need to pick a number of keys to use. The board template is sized to fit up to 12 - enough to do a traditional number pad. Using fewer keys will save slightly on time, by reducing repetition, but will also limit what you can do with your finished product.
 +
 +
====Place Key Switches====
 +
 +
Bring up the Place Part menu with Place &rarr; Part {{altium-shortcut|p &rarr; p}}. On the window that comes up, hit "Choose" in the upper right corner. This will bring up the "Browse Libraries" window. From the drop-down at the top, make sure "SSI.IntLib" is selected. All of the parts in the SSI libraries will then be displayed in a large area on the left side of the window. You can search through these parts with the "Mask" field at the top of the window - type in "*" followed by your search term. Try this for a couple of common electronic components, such as "*LED" or "*OPAMP," to see some of the parts in the library.
 +
 +
The keyswitches we'll be using are manufactured by a company called Cherry; you can find them by searching "*CHERRY." Pick either blue or white, and then hit "OK," and then hit "OK" again when the window closes. You will now be dragging a switch symbol on your schematic. Neatly place as many as you would like (up to 12) on the schematic with a bit of space in between them. When you're done, hit {{altium-shortcut|escape}} to stop placing switches, and then hit {{altium-shortcut|escape}} again to exit the place command.
 +
 +
[[Category:Getting started]]
 +
[[Category:Altium]]
767

edits

Navigation menu