The VKVM periphery to control keyboard and mouse of the periphery can be ordered using the provided Gerber and placement or KiCAD files. It is recommended to use the latest hardware version for full function support.
- KiCAD
- Gerber, BOM and placement for orders at JLCPCB
- USB-A (J4) needs to be soldered by hand (may be required to sand a bit off from the PCB side)
- The pin headers J2 (ST-Link) and J3 (UART) are optional.
Important: Be sure that the USB connectors are fully inserted and aligned when soldering. Especially when handling the USB-A plug (J4). The plastic pins of the USB-A plug may need to be removed to accomplish this depending on the actual component type.
Use the following parameters when ordering the PCB. Note that the values have only been tested with JLCPCB.
- layers: 2
- base material: FR4
- dimensions: 35.8x18.5mm
- thickness: 1mm
- surface finish: lead free HASL
- impedance control: no
- outer copper weight: 1oz
With no special extras.
- J1 shall be connected to the remote periphery.
- J2 is used for debugging and firmware upload.
- J3 is used for tracing.
- J4 shall be connected to the controller.
- The 3D printed connector housings stlink-conn-A.stl and stlink-conn-B.stl can be used to connect J2 to a Chinese ST-Link/V2 clone. Just glue them to jumper cables with the correct pin out.
Wiring for debugging/tracing via ST-Link/V2.
VKVM | ST-Link/V2 | Target |
---|---|---|
RESET | RST | Controller |
BOOT | - | Controller |
SWDIO | SWDIO | Controller |
SWCLK | SWCLK | Controller |
GND | GND | Controller/Periphery |
SWCLK | SWCLK | Periphery |
SWDIO | SWDIO | Periphery |
BOOT | - | Periphery |
RESET | RST | Periphery |
The case can be 3D printed in for example in PLA.
Pre-created STL files for the variant without any pin header are included.
Tolerance can be adjusted to match the one of the printer using the spreadsheet within the included FreeCAD file. This also includes cases for board variants with pin header.
Use the given orientation for printing and the following parameters:
- layer height: 0.2mm
- infill: ≥15%
- solid layers: ≥5 top, ≥4 bottom
- perimeters: ≥3
- supports: none
Insert a transparent 1.75mm filament into the LED hole and cut it off at the case top edge. This acts as light guide. Note that both sides of the case should just snap together. No glue is required.
The firmware can be uploaded via J2 using an ST-Link/V2 programmer or by DFU upload at the first time with no firmware uploaded yet. Later can be done by connecting each of the VKM USB connects once to the PC and choosing DFU as upload method. Later uploads require an ST-Link/V2 programmer or similar device.
Previous attempts to design a VKM device have been made and are listed here for reference.
Parts used:
- HDMI Capture Variant 1
- The board inside was reused without the housing.
- 4-Port USB2.0 Extension Board Module
- USB-A to TLL CH340G Module with modified pin header
- TTL to Arduino ProMicro Board with Isolation
- Short Arduino ProMicro
- 3D printed case
- 1x 24..25mm M3 screw with nut
This is basically variant 1 without the HDMI capture device included.
Parts used:
- 4-Port USB2.0 Extension Board Module
- see variant 1
- USB-A to TLL CH340G Module with modified pin header
- see variant 1
- TTL to Arduino ProMicro Board with Isolation
- Short Arduino ProMicro
- see variant 1
- 3D printed case
- 2x 22mm M3 screw with nuts
The following variants have been tested.