← Back to blog

DevBlog 2026 week 26

History so far

The initial commit of the web assembly port of KiCad was in November 2025. At that time KiCad was at version 9.99.0. Mostly Viktor and Claude played with it, and until May 2026, it was only a pet project.

From June 2026, we started to work on it more seriously, we started to make all the tools build and open up (pcb-new was already loading up, we added calculator, eeschema, gerbview, symbol-editor and footprint-editor). We started to build a webapp around it (with projects, upload, download). We played with ydoc so that multiple people can work on the same project at the same time. Libs were an another pain point, and ofc asyncify, CI, threads, random freezes get fixed as we started to test it. We did a wxwidgets port for the web, and we made the 3d viewer mostly work too.

Rebase

As I said the fork started on Kicad 9.99, and this weeks biggest effort was to move it to the current main: 10.0.4 The rebase alone was a huge work. It broke a lot of things, like some of the 3d viewer code was rewritten on upstream. Some of the lib loading code was rewritten also, and a single build is still about 1hr, just to start the e2e tests that sometimes broke. We also worked on the CI, to make the early releases more consistent.

UI/UX/Standalone features

A more noticeable work was done within the standalone/demo version of the app. We added github version/link to the demo page. Also, the page get an idb backed folder, so you can upload your project to the browser, open and modify it, and download it back.

We added a file browser into the project part, instead of a file list ;)

Libs

KiCad has a lot of symbols and footprints. We worked on a way to upload them to R2, and be able to download them while the app loads. These are cached to local idb, so net traffic is reduced, and the app loads faster.

Do you know what is the difference between loading 6 symbol lib vs 222? About 6 minutes. So we started to work on a better lib loading mechanism. Most of it is still work in progress, but at least we can now add footprints and symbols, even if its really really really slow to open up the add symbols/add footprint dialog at first.

What’s next

All of those was a work of two devs. Our third dev, Viktor, is working on some asyncify/errorhandling/multithreading magic, that reduces our apps size, and we hope it will make it faster. We will work on the lib loading too, its a slow mvp right now, we should make it faster, or at least pinpoint why its slow right now. We also have a lot of random bugs with wxwidgets event handling, some dialogs are not closeable, 3d model loading, app interactions (schema -> pcb sync), these will be a main topics this week.

Notes

We will try to keep writing weekly at the beginning of every week, so you can read what we are doing, and what are the problems we are facing. Stay tuned!