Step-By-Step Guide
This is intended to be a high-level overview of the steps required. For more details, please read the tutorial
GitHub Project Source
Project Steps
- Create Keyboard JSON Layout
- Convert JSON Layout to OpenSCAD Model
- OpenSCAD
- Board Builder
- JSON->OpenSCAD Converter (Python Module)
- Write Python script to set up and convert
- Make sure you inspect your models
- Export OpenSCAD Models to vector format (.dfx)
- Add additional features, such as a USB cable hole
- Convert vector files for Laser Cutter
- .lyz for me
- InkScape + LaserDRW Extension
- I made sure to add a hole for the USB Cable, could be done with SCAD
- Cut boards
- Clean and finish boards
- Assemble case
- Insert switches into faceplate
- Ensure they are all facing the same direction
- Design Circuit
- Keys are in a grid of rows and columns
- Find appropriate input/output pins on your microcontroller
- Wire switch circuit
- Typically a grid of rows and columns with diodes
- Diodes must all face the same direction, with the cathode towards the row
- Make sure to keep track of the wires
- Connect switch circuit to microcontroller
- Exact connections will depend on microcontroller of choice and firmware
- After soldering pins, use a hot glue gun to attach the microcontroller to the underside of the faceplate
- Ensure room for the USB cable
- Write firmware
- Setup the grid and it’s associated keystrokes
- Poll rows and columns
- Send appropriate keystrokes to the OS via USB
- Test firmware
- Final assembly