mirror of https://github.com/pikvm/pikvm
bridge
parent
93b2dc352c
commit
e08308e727
@ -0,0 +1,93 @@
|
||||
# The Pico HID PS/2 Bridge
|
||||
|
||||
The Pico HID Bridge is a special case of the [Pico HID](pico_hid.md).
|
||||
It is a simple PS/2-only emulator with a USB interface. Unlike generic [Pico HID](pico_hid.md)
|
||||
and legacy [Arduino HID](arduino_hid.md), it doesn't require SPI wiring with GPIO.
|
||||
|
||||
At one end it connects to USB-A on PiKVM, on the other side it has two PS/2 connectors for keyboard and mouse:
|
||||
|
||||
<a href="pico_hid_bridge_ps2.jpg"><img src="pico_hid_bridge_ps2.jpg" width="500"/></a>
|
||||
|
||||
In addition, on PiKVM V2+, the use of Pico the HID Bridge does not exclude the use of a regular USB OTG port with Mass Storage emulation.
|
||||
Thus, on V2+ you will be able to use PS/2 and USB Mass Storage at the same time, and even switch between OTG HID and [Pico HID](pico_hid.md).
|
||||
|
||||
|
||||
-----
|
||||
## Making the Bridge
|
||||
|
||||
* *x1* [Raspberry Pi Pico board](https://www.raspberrypi.com/products/raspberry-pi-pico/) with soldered pins.
|
||||
* *x1* USB-A to Micro-USB cable.
|
||||
* *x1* 3.3V/5V bi-directional logic level shifter [like this](https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/).
|
||||
* *x2* PS/2 cable with male connector.
|
||||
* *x2* Small dip jumpers.
|
||||
|
||||
Make sure that the level shifter pinout matches the scheme, and connect everything according to the [Pico pinout](https://pico.pinout.xyz).
|
||||
|
||||
```
|
||||
_________________
|
||||
| |
|
||||
Pico GP11 ______| LV1 HV1 |______ PS/2 keyboard data
|
||||
Pico GP12 ______| LV2 HV2 |______ PS/2 keyboard clock
|
||||
Pico GP13 ______| LV HV |______ PS/2 5V
|
||||
Pico GND ______| GND GND |______ PS/2 GND
|
||||
Pico GP14 ______| LV3 HV3 |______ PS/2 mouse data
|
||||
Pico GP15 ______| LV4 HV4 |______ PS/2 mouse clock
|
||||
|_________________|
|
||||
|
||||
```
|
||||
|
||||
You can take the 5V power line from one of the PS/2, for example from the keyboard,
|
||||
or from both at once, but use a multimeter to make sure that both PS/2 female
|
||||
connectors have the same line.
|
||||
|
||||
<img src="../pico_hid/ps2_pinout.png" />
|
||||
|
||||
PS/2 female socket pinout on the motherboard is the same for the keyboard and the mouse.
|
||||
A purple socket usually corresponds to the keyboard, and a green one to the mouse.
|
||||
If your motherboard only has one port, it's probably universal and can be used for both
|
||||
the keyboard and the mouse. Most likely, it will be painted both colors.
|
||||
|
||||
Use a multimeter to determine the purpose of the wires in your PS/2 cables.
|
||||
|
||||
A good idea is to mount the level shifter on top of the Pico, as in this photo:
|
||||
|
||||
<img src="../pico_hid/ps2_level_shifter_soldering.png" width="300" />
|
||||
|
||||
Finally, install DIP jumpers to soldered pins of the Pico to enable PS/2 and Bridge modes:
|
||||
|
||||
* `GP2 <-> GND`
|
||||
* `GP5 <-> GND`
|
||||
|
||||
Like this:
|
||||
|
||||
<a href="pico_hid_bridge_ps2_jumpers.jpg"><img src="pico_hid_bridge_ps2_jumpers.jpg" width="500"/></a>
|
||||
|
||||
|
||||
-----
|
||||
## Flashing the firmware
|
||||
|
||||
To upload the firmware to Pico HID, you can use any computer with a USB port.
|
||||
|
||||
1. [Download](https://github.com/pikvm/kvmd/releases) the latest release of the firmware. The file is called `pico-hid.uf2`.
|
||||
2. Press and hold the white button on the Pico board.
|
||||
3. While still holding the button, plug it in the computer using a USB cable.
|
||||
4. Release the button.
|
||||
5. The Pico board appears as a flash drive on your computer.
|
||||
6. Copy the `pico-hid.uf2` file to this flash drive.
|
||||
7. Safely eject the USB device.
|
||||
|
||||
|
||||
-----
|
||||
## The final steps
|
||||
|
||||
Connect the Pico HID to the target host using PS/2 cable and USB to USB-A port on PiKVM.
|
||||
|
||||
Add following lines to the PiKVM configuration and reboot it:
|
||||
|
||||
* `/etc/kvmd/override.yaml`:
|
||||
```yaml
|
||||
kvmd:
|
||||
hid:
|
||||
type: serial
|
||||
device: /dev/kvmd-hid-bridge
|
||||
```
|
Binary file not shown.
After Width: | Height: | Size: 308 KiB |
Binary file not shown.
After Width: | Height: | Size: 118 KiB |
Loading…
Reference in New Issue