npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pcb-marker-desktop

v1.0.0

Published

Gerber PCB marker plotter for Klipper printers

Readme

💡 Why PCB Marker exists

PCB Marker was created with a practical goal: use an existing 3D printer to transfer a PCB layout onto a blank board with a marker.

You have a circuit designed in your PCB editor and a board ready to work on. Export the Gerber files, attach a marker to the printer, and secure the board on the bed. PCB Marker aligns the layout with the board, prepares the drawing route, and lets you check it in a preview and a dry run before the marker touches the surface. Then the printer draws the tracks and pad rings while you follow its progress in the app.

Board view in PCB Marker

✨ What you can do

  • Open Gerber ZIP files — drop an archive into the app or choose Open file from the menu.
  • View both sides — switch between top, bottom, or both layers without losing your zoom level.
  • Align with four corners — account for board position and rotation while keeping a 1:1 scale.
  • Preview before drawing — inspect the route and run it above the board without making contact.
  • Draw tracks and pad rings — optionally add the board boundaries.
  • Follow the progress — see completed paths, marker position, and progress, with pause, resume, and stop close at hand.
  • Tune the motion — set drawing, travel, Z lift, and Z lowering speeds separately.
  • Choose your language — English, Russian, or your system language. The included font works offline.
  • Export G-code and check for new versions from the menu.

📥 Installation

Windows app

Download the latest release →

| File | How to use it | | --- | --- | | PCB-Marker-Setup.exe | Run the installer and follow the steps | | PCB-Marker-Windows-x64.zip | Extract the entire archive and open PCB Marker.exe |

The Windows downloads include everything you need — no Python or Node.js installation required. Both versions save settings in your Windows user profile. Builds are currently unsigned, so Windows may display a warning on first launch.

Install with npm

Install pcb-marker-desktop with Node.js 22.12 or newer:

npm install -g pcb-marker-desktop
pcb-marker

This opens the full desktop app. You can also download the .tgz package from Releases and install it locally:

npm install -g ./pcb-marker-desktop-1.0.0.tgz
pcb-marker

The first npm launch may download the desktop runtime.

🚀 Getting started

  1. Home the printer with the board and marker clear of its moving parts.
  2. Open Settings, enter your printer address and SSH credentials, and connect. Set the contact Z and lift height.
  3. Open a Gerber ZIP from the menu or drag it into the app.
  4. Open Corner registration, move the marker to each corner, and read its coordinates.
  5. Choose a board side, inspect Visualization, and perform a Dry run.
  6. When the alignment is right, select Start drawing.

For a double-sided board, flip it from left to right, like turning a page. Keep the front edge facing the front of the printer, select Bottom, and check the alignment with a dry run before drawing the second side. You can reuse the corner registration if the board remains in the same position.

Register the corners again only if the board position or marker alignment changes. Saved coordinates do not replace homing after the motors have been disabled.

🖼️ A closer look

Settings — connection, drawing, and speeds in one place.

PCB Marker settings

Corner registration — four points and a clear view of your board's position.

Corner registration

Visualization — inspect the marker's route before starting.

Route visualization

🖨️ Compatibility

The initial printer profile targets Creality K1 SE with Klipper and SSH access. Its working area is X/Y: 0–220 mm and Z: 0–250 mm. Other printers need compatibility verification; changing the printer name does not change this profile.

PCB Marker reads top and bottom copper, board outlines, and drill files from Gerber ZIP archives, including common KiCad and EasyEDA layer names. Solid copper regions are not filled. The bottom side is mirrored automatically.

The app does not home the printer automatically. If the connection drops, the printer may continue the job; reconnect to see its state. Progress is an estimate, and completion is confirmed by the printer.

💬 Questions and ideas

Open an issue with your app version, a description, and a screenshot. Keep passwords and private settings out of reports.

About shows the version and author. Check for updates lets you know when a new release is available and links to its download page.

Want to contribute? See the development guide.


Released under the MIT License.