• Vim Plugin using Vim9 Script

    If you are a longtime user of Vim there are occasions where you may want to extend the functionality of Vim by writing your own plugin. The release of Vim9 script has made the task less intimidating since the new scripting language resembles Python. This blog post is not a beginner guide but rather a collection of thoughts from my experience developing autosuggest and vimcomplete.

  • Keyboard: How Quickly Can You Press a Key

    If you ever wondered whether a key-press happens in milliseconds or microseconds in a keyboard wonder no more.

  • Optical Keyboard: Circuit Design

    This guide will walk you through some concepts that will help you design a basic optical keyboard PCB. No special knowledge is assumed beyond engineering basics. The circuits used here are rudimentary and they will provide performance comparable to a mechanical keyboard. Low latency specialized circuits are not covered in this guide.

  • KiCad 6 Python Scripting: Place Footprints, Create Tracks, Curved Tracks, Vias, and Edge Cut Lines

    If you find yourself in a situation where you are placing component footprints at multiple locations on PCB using KiCad, or routing a pattern of tracks repeatedly (like in a keyboard) you’ll save time by automating through a Python script.