Ketch is a MiniVan-compatible PCB designed by Trash Man.
Following the closure of TheVanKeyboards.com, TheKey.Company acquired exclusive rights to produce and sell the MiniVan, including existing PCB and case designs. As a result, new MiniVan-compatible products that have been designed by Trash Man have avoided using the name "MiniVan" and the "Van" suffix altogether. After deciding to implement port scanning on new PCB designs, Trash Man has adopted a nautical-themed naming scheme for newer projects (e.g. Ketch, Skiff, and Hull).
Ketch uses a USB C port for its connection to the host computer. All switches are oriented in the south-facing position, although there are no through-hole pads for in-switch LEDs for any of the switch locations. There are 10 surface-mount RGB LEDs located between the first 11 switches in the top row. There is no LED between the last 2 switches as it would interfere with the USB C port. These LEDs are positioned in the same manner as the LEDs seen on the MiniVan HS PCB.
Ketch is not compatible with MHKB cases due to the extra indicator LEDs. MHKB has a 5.1mm thick switch plate with three notches in the underside to accommodate the indicator LEDs on the MiniVan-HS PCB. The remaining seven RGB LEDs on Ketch will interfere with the plate and prevent assembly. This can possibly be resolved by desoldering the extra LEDs from Ketch but nobody has tested this.
The board includes several unique switch locations such as a new centered position for spacebars up to 12.75u as well as an switch position located between the far-right keys on the middle rows to support the "JISVan" layout. >6.25u spacebars and JISVan Enter do not have PCB-mount stab holes due to conflicts with nearby traces and switches so plate-mount stabilizers must be used for both of those keys.
Ketch implements a new key press detection method dubbed "port scanning". To understand how port scanning works, let's first take a look at how most keyboard firmwares detect key presses. QMK firmware (and its predecessor TMK) rely on a grid-like layout of switches - known as a "matrix" - where the keys on the board are wired into rows and columns. The firmware is written to scan for keypresses with two nested loops. The main loop checks each row of the board, starting with the first row and pausing while the second loop scans each column position on that row to see if any of those keys have been pressed. Once all the keys in a row are scanned, the main loop moves to the next row and pauses again while the second loop scans all of the columns. This process is repeated row by until the end of the last row is scanned and then the main loop loops and starts the process over on the first row.
With port scanning, the matrix on the board is wired into blocks of 8 keys and the port scanning firmware is written so that an entire block can be read at once. This allows the main loop to check entire blocks of keys for keypresses, removing the need for the second nested loop to read each key in a block. This increases the speed at which the firmware can scan for key presses and leaves more time for the microcontroller to process debounce calculations. On boards with OLED displays or more elaborate RGB lighting, the extra free processing cycles can also be used for creating more advanced visualizations.
Implementing port scanning requires the PCB itself to be wired up with a key matrix that does not resemble the traditional "grid" layout, thus port scanning firmware will not run on boards that were not designed for it. Additionally, default QMK firmware does not natively support these sort of non-standard key matrices, meaning it cannot leverage port scanning and is incompatible with the matrix on Ketch. Users who are trying to build their own firmware will need to use a custom layout file to map the location of the switches in the custom matrix to a "grid" layout that QMK can understand. Thankfully, this work has been done for you by jetpacktuxedo, whom you may recognize as the creator of the JetVan layout and moderator extraordinaire over on the 40% Keyboards Discord server. Ketch firmware built using the Configurator supports port scanning as it is built using Trash Man's fork of QMK with custom matrix scanning code.
Firmware for the board can be generated using the Configurator
KLE available here: http://www.keyboard-layout-editor.com/#/gists/244c3590adf4d1c4384d67d959e2113c
Ketch supports all possible MiniVan PCB layouts as well as JetVan layout using PCB-mount stabilizers. There are 4 additional bottom row layouts using longer spacebars inspired by the BigBoi prototype PCB as well as the JISVan layout from rev 5.0 of the Low Rider PCB that are possible using plate-mount stabilizers. A 7u spacebar can be installed in either 9.75u spacebar switch position to make additional WKL layouts not show below.
The PCB has the same dimensions as previous MiniVan PCBs, including mounting hole pattern and USB port location, to ensure compatibility with MiniVan cases. The board is covered in a green solder mask with white silkscreen. The front of the board features an image of a two-masted ketch sailboat (from which the board derives its name) on the left side. The words "The Ketch PCB" are written in bold font on the right side. A pair of reset pins are located on the rear of the board below the USB port
Sketch PCBs are available for purchase here: http://trashman.club/sketch
The Revision 1.0 prototype boards have an improperly located USB C port that is mounted on the top side of the PCB, causing the boards to be incompatible with all existing MiniVan cases. The connector is still wired in correctly for the pinout and the PCBs are fully functional. Due to this error the board is jokingly referred to as "The Sketch PCB". The silkscreen on all of the PCBs has been modified with a black Sharpie to indicate the new board name.
Several cases were designed or can be easily modified to support Sketch PCBs:
Revision 1.1 boards have been updated with a properly located bottom-side USB C port to restore compatibility with MiniVan cases.
PCBs produced as part of the May 2021 group buy will be black instead of green. Not sure if the revision number is actually changing or not.