A TINY HOMEMADE BOARD MAKES ONE KEYBOARD AND MOUSE FLOW BETWEEN TWO COMPUTERS

Move your cursor off the edge of one screen and it appears on the other computer, keyboard following instantly — all from a homemade USB device you can build in an evening.

by Hrvoje Cavrak

FULL CAD BOM FIRMWARE DOCS

Open-hardwareWorkshop

difficulty
●●●○○
time
an evening
license
GPL-3.0
repo
repo ACTIVE7,853 stars

WHAT YOU’LL NEED

  • 3D printer + filamentprintable parts — files are in the repo
  • Electronic partsfull list with part numbers in the repo BOM
  • Dev board / microcontrollerruns the project firmware

Partner

A portfolio for your buildsShow your work on a clean portfolio site — makers get up to 55% off annual plans.Try Pixpa
1

COMPAREE VERDICT

DeskHop is a hardware KVM switch built from two Raspberry Pi Pico boards that lets you share one keyboard and mouse between two computers by dragging the cursor off the edge of the screen. It is faster and cleaner than software alternatives because it is a real USB device: no drivers, no OS dependence, and it works in the BIOS. The clipboard follows across, and the author reports component cost at under fifteen euros. The PCB is simple enough for a first SMD build if you have a hot-air station, but if you have never soldered 0805 passives or a TSSOP chip before, order the boards pre-assembled from JLCPCB — the repository includes a ready-made assembly file. The single hardest part is not the build: it is configuring the screen-edge hotspot if your monitors have different resolutions or scaling, which is buried in a config file rather than exposed in a GUI. If you run mismatched DPI or virtual desktops, expect an afternoon of trial and error. For two identical monitors on a clean dual-PC setup, it is transformative. The repository has 7851 stars and active maintainer responses, but no video build guide — you are working from the schematic and your own logic.

NOT IN THE REPO

  • Full KiCad PCB files, Gerbers, and BOM are in the repository.
  • Firmware is pre-built; you flash two UF2 files to the Pico boards.
  • The README is detailed and there is a dedicated docs site with troubleshooting.
  • An optional 3D-printed case STL is included.
  • GPL-2.0 licence permits commercial use.
  • No assembly guide with photographs — you follow the schematic and silkscreen.

Can I build this?

PrintOptional case (STL in repo), or leave the board bare
BuyTwo Raspberry Pi Pico boards, a small PCB (or order pre-assembled with components from JLCPCB), USB cables
ToolsSoldering iron for through-hole Pico headers; hot-air station if you solder the SMD passives yourself, or pay for JLCPCB assembly
SkillsIntermediate if you self-solder (0805 passives, TSSOP-20 chip); beginner if you order assembled boards and only solder the Pico headers
TimeAn evening if the board arrives assembled; a weekend if you hand-solder the SMD components and troubleshoot the first flash
Cost$ — two Picos, PCB, and passives under €15 per the author; add €10-20 if you order JLCPCB assembly
SafetyNone beyond ordinary electronics care. USB-powered, galvanically isolated outputs, no mains voltage.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

A desktop 3D printer that prints in full colorPartner · Kickstarter
A desktop 3D printer that prints in full color

HeyGears G1: 10M+ colors and transparent parts in one print, plus UV printing on flat objects. Figures, parts and labels — no painting.

See how it prints

Videos

DeskHop PCB Assembly Guide

No official video. Community members have posted setup walkthroughs; search YouTube for 'DeskHop build' if you want to see the board populated.

Gallery

https://raw.githubusercontent.com/hrvach/deskhop/main/img/case_and_board.png
https://raw.githubusercontent.com/hrvach/deskhop/main/img/pcb_render.png
https://raw.githubusercontent.com/hrvach/deskhop/main/img/plocica2.png
https://raw.githubusercontent.com/hrvach/deskhop/main/img/deskhop-scr.png
https://raw.githubusercontent.com/hrvach/deskhop/main/img/config-page-big.png
https://raw.githubusercontent.com/hrvach/deskhop/main/img/connect-dialog.png
https://img.youtube.com/vi/LxI9NYi_oOU/maxresdefault.jpg

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Read the full documentation site (Start here, not the README — the docs site has the troubleshooting section and config examples you will need.)
  2. 2.Decide whether to self-solder or order assembled (The pcb/ folder has Gerbers and a JLCPCB assembly file. If you have never soldered 0805 or TSSOP before, pay for assembly.)
  3. 3.Flash the firmware to both Picos (Two separate UF2 files, one for board A and one for board B. The board silkscreen tells you which is which.)
  4. 4.Connect and configure the screen-edge trigger (If your monitors have different resolutions or scaling, this is where the weekend goes. Edit the config file and reflash until the hotspot lands where you expect it.)

Resources

Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.

KNOWN ISSUES

  • Ordering two Pico boards but forgetting the PCB — you need the custom board; this is not a breadboard project.
  • Assuming the screen-edge trigger will work immediately on mismatched resolutions — it will not, and there is no GUI to adjust it.
  • Flashing the same firmware to both boards — board A and board B have different roles and different UF2 files.
  • Buying a Pico W instead of a Pico — the W works but the wireless is unused and you pay extra for nothing.
  • Expecting plug-and-play if you use virtual desktops or ultrawide monitors — the default config assumes two simple rectangular screens.
  • Soldering the Pico headers before testing the bare boards — flash and test the Picos separately before you commit them to the PCB.

Does this work with more than two computers?

No. The hardware is built for exactly two outputs. For three or more, you need a different design.

Can I use wireless keyboard and mouse?

Yes, if the wireless dongle appears as a standard USB HID device. Most 2.4 GHz dongles work; Bluetooth depends on your adapter.

Does the clipboard sync actually work across Windows and Linux?

It works for plain text. Rich content and images do not transfer reliably across different OS clipboard formats.

Do I need to compile the firmware or is it pre-built?

Pre-built UF2 files are in the releases. You only compile if you want to change the default behaviour.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

7,851 stars and the author puts the component cost at under fifteen euros. If you have already built one, what was the actual hardest part — the soldering or the screen-edge config?

CompareeTEAM14d agoedited

Practical notes from our verification: the repository includes JLCPCB assembly files, which means you can order the board fully populated and only solder the Pico headers yourself — that drops the difficulty from intermediate to beginner. The firmware is pre-built, so there is no toolchain setup. The single weekend-killer is configuring the screen-edge hotspot if your monitors have different resolutions or run at different scales, because the config is a text file you edit and reflash rather than a settings GUI. On identical monitors, it works first try. The repository is actively maintained, the licence permits commercial use, and the design includes full galvanic isolation between the two computer outputs, which is a detail most cheap USB switches skip.

Hrvoje Cavrak

Hrvoje built DeskHop because every commercial USB switch he tried introduced perceptible lag or required a physical button press. The drag-to-switch behaviour comes from software KVM tools, but implemented in hardware so it works before the OS loads and across any platform combination.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.