logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·02.11.26
← Back to news

Show HN: KiCad in the Browser

Original article
demo.pcbjam.com|68 points|26 comments|by ViktorEE|Jul 5, 2026

Show HN: KiCad in the Browser

"Check out PCBJam, a specialized demonstration that brings the power of KiCad directly into your web browser."

The goal of this project is to eliminate the need for local software installation by leveraging modern web technologies. By utilizing WebAssembly (Wasm), PCBJam allows users to experience the PCB design workflow without leaving their browser tab.

🛠️ Project Overview

The demo showcases a cloud-integrated version of the open-source electronics design suite. It transforms the traditional desktop experience into a portable, accessible web application.

Key Objectives:

  • Accessibility: Instant access to PCB tools.
  • Portability: Run designs on any OS with a browser.
  • Integration: Seamlessly bridging the gap between design and fabrication.

📊 Comparison: Desktop vs. Browser

FeatureKiCad DesktopPCBJam (Browser)
Installation RequiredYesNo
Hardware AccessFullRestricted/Virtual
PerformanceNativeWasm Optimized
Setup TimeMinutesSeconds

⚙️ How it Works

The architecture follows a specific pipeline to ensure the C++ codebase of KiCad runs efficiently in a browser environment.

To initialize a basic session, the system essentially handles the environment setup via a configuration similar to this:

// Conceptual initialization of the KiCad Wasm module
async function initKiCad() {
    const module = await KiCadWasm.load();
    module.initialize_workspace('/home/user/pcb_project');
    console.log("KiCad is now running in the browser!");
}

📐 Technical Nuance: Trace Impedance

When designing boards in the browser, the underlying physics remain the same. For instance, calculating the characteristic impedance (Z0Z_0Z0​) for a microstrip is essential:

Z0=87ϵr+1.41ln⁡(5.98h0.8w+t)Z_0 = \frac{87}{\sqrt{\epsilon_r + 1.41}} \ln\left(\frac{5.98h}{0.8w + t}\right)Z0​=ϵr​+1.41​87​ln(0.8w+t5.98h​)

Where:

  • ϵr\epsilon_rϵr​ is the dielectric constant.
  • hhh is the substrate height.
  • www is the trace width.

🚀 Getting Started

If you want to test the demo, follow these steps:

  • Navigate to the PCBJam URL.
  • Wait for the Wasm binary to download.
  • Load a sample .kicad_pcb file.
  • Experiment with the schematic editor.

PCBJam Interface Placeholder

This project represents a significant step toward the democratization of hardware design tools.