Desktop application for preparing PCB assembly maps and tracking manual soldering progress.
The editor lets an operator:
- create a project and attach TOP/BOTTOM PCB images;
- mark component locations directly on the images;
- group components and arrange them into assembly stages;
- search and filter the component list;
- track soldered components and overall progress;
- record an independent component verification status, measured value, unit, and verification comment;
- compare resistor and capacitor measurements with BOM values and percentage tolerances, including automatic unit conversion;
- see verification marks on the board, filter components by verification state, and review the board-wide verification summary;
- export all component verification results to printable PDF, UTF-8 CSV, or
filterable Excel
.xlsx; - import or update a CSV/TSV BOM with a preview of affected components, conflict confirmation, and selective reset of stale verification data;
- import Pick and Place plus JSON/CSV recognition results directly, inspect automatic matches, and explicitly resolve uncertain or ambiguous candidates;
- calibrate TOP and BOTTOM coordinates against board images, preview safe automatic placement changes, reuse unique placed components as control-point suggestions, and apply changes only after confirmation;
- keep the ten latest verification backups and restore either the complete snapshot or selected reference designators;
- keep the project data and source images together in a local folder.
- Node.js 20 LTS or newer;
- npm 10 or newer.
npm ci
npm run check
npm startApplication projects are stored in SolderMap Projects inside the current
user's Documents directory. Each project contains a project.json file and
its PCB images.
Use a UTF-8 CSV, TSV, or semicolon-delimited text file. The required column is the reference designator; value, component type, percentage tolerance, and side are optional. Russian and English headers are recognized, for example:
Обозначение;Номинал;Тип;Допуск %;Сторона
R1 R2;100 Ом;Резистор;5;TOP
C1-C3;0,1 мкФ;Конденсатор;;BOTTOMGrouped references and simple ranges are expanded into individual components.
New components are marked as unplaced: select one in the list, enable
Добавить элементы, and draw its area on the board. Duplicate designators
must be corrected in the source BOM before the update can be applied.
- Import the BOM so that the project contains the required reference designators.
- In Автосопоставление, choose the Pick and Place table.
- Choose the recognition result in JSON, CSV, TSV, or semicolon-delimited form. Coordinates and dimensions must describe the board in millimetres.
- Start matching. Exact results are accepted automatically; select a detected place explicitly for uncertain or ambiguous rows.
- Open calibration, verify or click at least three non-collinear control points for each side, calculate the transform, preview, and apply.
The advanced JSON-session button remains available for integrations that already generate the complete versioned exchange document.
# Windows installer and portable executable
npm run build
# Linux tar.gz
npm run build:linux
# macOS dmg and zip (run on macOS)
npm run build:macBuild artifacts are written to dist/. This directory is intentionally not
tracked by Git.
Ready-to-use builds are published as assets on the GitHub Releases page. Source code and generated installers are kept separate so that repository history remains compact and reproducible.
index.html Renderer markup
css/styles.css Application styles
js/app.js Renderer state and interactions
js/report.js Verification report rows and CSV/XLSX serialization
js/bom.js BOM parsing, update planning, backups and restoration
js/matching-*.js Automatic footprint matching, exchange format and result view
js/pick-and-place.js Placement-table adapter for expected matching footprints
js/recognition-import.js Recognition-result adapter for detected footprints
preload.js Safe renderer-to-main IPC bridge
main.js Electron lifecycle, filesystem and project IPC
assets/ Application icons
- Component verification module — approved requirements, acceptance criteria, BOM update rules, and reporting behavior.
- Automatic component matching — approved search-radius, footprint-geometry comparison, ambiguity, and result-status rules.
- Matching session JSON format — versioned millimetre-based exchange format for expected and detected footprints.
- Matching coordinate calibration — explicit affine conversion from millimetres to source-image pixels.
- Matching application plan — safe preview and stale-state validation before pixel geometry is changed.
- Matching calibration workflow — operator control-point entry, visual preview, and confirmed application.
- Pick and Place import — supported placement-table columns, coordinate units, normalization, and validation.
- Recognition import and operator resolution — supported detector output and explicit handling of uncertain candidates.
The stable branch is main. Normal changes start from an issue, use a
dedicated semantic branch, and are merged through a pull request. See
AGENTS.md and
.github/CODEX_WORKFLOW.md for the repository
rules.
No open-source license has been granted yet. The source is publicly visible, but reuse and redistribution rights are not implied.