qmk_firmware/assets/hand_wire.md.B69NBeYw.js

16 lines
30 KiB
JavaScript
Raw Normal View History

import { _ as _export_sfc, c as createElementBlock, o as openBlock, a8 as createStaticVNode } from "./chunks/framework.Clpp4x2N.js";
const __pageData = JSON.parse('{"title":"Hand-Wiring Guide","description":"","frontmatter":{},"headers":[],"relativePath":"hand_wire.md","filePath":"hand_wire.md"}');
const _sfc_main = { name: "hand_wire.md" };
const _hoisted_1 = /* @__PURE__ */ createStaticVNode('<h1 id="hand-wiring-guide" tabindex="-1">Hand-Wiring Guide <a class="header-anchor" href="#hand-wiring-guide" aria-label="Permalink to &quot;Hand-Wiring Guide&quot;"></a></h1><h2 id="parts-list" tabindex="-1">Parts list <a class="header-anchor" href="#parts-list" aria-label="Permalink to &quot;Parts list&quot;"></a></h2><p>You will need: (where <em>x</em> is the number of keys on your planned keyboard)</p><ul><li>QMK compatible microcontroller board (Teensy, Pro-Micro, QMK Proton C etc.)</li><li><em>x</em> keyswitches (MX, Matias, Gateron, etc)</li><li><em>x</em> through hole diodes</li><li>Keyboard plate and plate mount stabilisers</li><li>Wire</li><li>Soldering iron</li><li>Rosin-cored solder</li><li>Adequate ventilation/a fan</li><li>Wire cutters/snippers</li></ul><p>Optional but useful:</p><ul><li>Wire strippers/a sharp knife</li><li>Tweezers and/or small needle nose pliers</li><li>Soldering station/Helping hands</li></ul><h2 id="starting-the-build" tabindex="-1">Starting the build <a class="header-anchor" href="#starting-the-build" aria-label="Permalink to &quot;Starting the build&quot;"></a></h2><p>There are many ways to hand wire a PCB matrix, this guide will describe the fundamentals as well as some recommended ways to go about it.</p><p>As we are dealing with hand wiring, it is assumed that you already have a plate. If you are planning a completely custom layout, tools such as <a href="https://kbplate.ai03.me/" target="_blank" rel="noreferrer">ai03 Plate Generator</a> and <a href="http://builder.swillkb.com/" target="_blank" rel="noreferrer">Swillkb Plate &amp; Case Builder</a> can help when designing one.</p><p>Start by installing the switches and stabilisers in the plate. Depending on the thickness and material this may also involve hot gluing it in place.</p><h2 id="planning-the-matrix" tabindex="-1">Planning the matrix <a class="header-anchor" href="#planning-the-matrix" aria-label="Permalink to &quot;Planning the matrix&quot;"></a></h2><p>If you are following a pre-existing handwire guide (e.g. for the keyboards in the <a href="https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired" target="_blank" rel="noreferrer">handwire firmware section</a> you can skip this step, just ensure you wire the matrix as described.</p><p>What you want to achieve is one leg from each switch being attached to the corresponding switches next to it (rows) and the other leg being attached to the switches above and below it (columns) and a diode to one of the legs, mosy commonly this will be the leg attached to the rows, and the diode will face away from it (Column to Row) i.e. with the wire furthest from the black line on the diode connected to the switch (as current will only travel in one direction through a diode).</p><p>It is fairly simple to plan for an ortholinear keyboard (like a Planck).</p><p><img src="https://i.imgur.com/FRShcLD.png" alt="Example Planck matrix"> Image from <a href="https://blog.roastpotatoes.co/guide/2015/11/04/how-to-handwire-a-planck/" target="_blank" rel="noreferrer">RoastPotatoes&#39; &quot;How to hand wire a Planck&quot;</a></p><p>But the larger and more complicated your keyboard, the more complex the matrix. <a href="https://kbfirmware.com/" target="_blank" rel="noreferrer">Keyboard Firmware Builder</a> can help you plan your matrix layout (shown here with a basic fullsize ISO keyboard imported from <a href="https://www.keyboard-layout-editor.com" target="_blank" rel="noreferrer">Keyboard Layout Editor</a>.</p><p><img src="https://i.imgur.com/UlJ4ZDP.png" alt="Example ISO matrix"></p><p>Bear in mind that the number of rows plus the number of columns can not exceed the number of I/O pins on your controller. So the fullsize matrix shown above would be possible on a Proton C or Teensy++, but not on a regular Teensy or Pro Micro.</p><h3 id="common-microcontroller-boards" tabindex="-1">Common Microcontroller Boards <a class="header-anchor" href="#common-microcontroller-boards" aria-label="Permalink to &quot;Common Microcontr
const _hoisted_98 = [
_hoisted_1
];
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return openBlock(), createElementBlock("div", null, _hoisted_98);
}
const hand_wire = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export {
__pageData,
hand_wire as default
};