Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>EngineHallNew to Visual Studio Code? Get it now.
EngineHall

EngineHall

Newmatik GmbH

| (0) | Free
EngineHall, a Newmatik product: where hardware gets built, checked and released, together. This VS Code UI runs hardware/firmware checks, opens Altium .SchDoc files, and tracks project decisions as linted Markdown.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

EngineHall for VS Code

Where hardware gets built, checked and released, together. EngineHall is a Newmatik product.

This is the optional VS Code and Cursor UI for EngineHall, packaged as newmatik.enginehall for the VS Marketplace and Open VSX. The viewer and tracker work on their own; the whole-project consistency review also needs the Python engine (enginehall command) on the extension host's PATH.

Formerly PCBA Studio

This extension replaces newmatik.pcba-studio. Install newmatik.enginehall and uninstall the old one; nothing in your projects has to change.

  • Settings move from pcbastudio.* to enginehall.*. A pcbastudio.* value you set is still read while the matching enginehall.* key is unset (in any scope), so existing configurations keep working. VS Code marks the old keys as deprecated; move them when convenient.
  • Commands are now enginehall.* and appear under the EngineHall category. Update any keybindings that named a pcbastudio.* command.
  • The engine command is enginehall. If it is not installed and you have not set enginehall.engine.executable, the review falls back to the older pcba command.
  • The extension's MCP server registers as enginehall-extension (formerly pcba-studio); its schdoc_* and tracker_* tools are unchanged. Run EngineHall: Set up MCP server for AI chat once: it replaces the entry the old extension wrote and leaves entries you wrote by hand alone.
  • On-disk names stay as they are: the tracker lock project/tracker/.pcba-studio.lock (old and new extensions serialize on it), generated-section markers in tracker files, the engine config pcba-studio.toml, and the JSON model's $schema altium-schdoc-viewer/v1.

Features

Hardware/firmware review

Run EngineHall: Run Hardware/Firmware Review from the Command Palette or the action on an open .SchDoc. The extension executes the deterministic engine locally and publishes its findings to the Problems panel. The status bar shows the active finding count; the completion message also reports suppressed findings and skipped checks.

A finding shown inline at line 9 of main.c, with all six findings of the synthetic reference board in the Problems panel

Settings:

  • enginehall.engine.executable: engine command, default enginehall (falls back to pcba when left at the default and enginehall is not found).
  • enginehall.engine.target: optional target from pcba-studio.toml.
  • enginehall.engine.baseline: optional baseline path relative to the workspace.

Install the engine with python -m pip install enginehall, or python -m pip install -e ".[dev]" in a source checkout.

Altium schematic viewer

Open binary .SchDoc and .SchDot files without Altium. The custom editor provides component, pin, and net tables; a geometric heuristic netlist; an SVG preview; and grouped BOM CSV, Protel netlist, and versioned JSON exports. The viewer is useful for inspection, not an ERC or sign-off tool. Engine review findings always use the Python extractor, not this heuristic netlist.

The schematic viewer's Nets tab on the synthetic reference board: 3 components, 16 pins, 15 nets

Markdown project tracker

EngineHall: Initialize project tracking creates project/tracker/. Central registers hold open and closed actions, questions, and decisions; meeting notes are immutable narratives that reference their IDs. Six sidebar views, live lint diagnostics, quick fixes, and guided commands cover the normal workflow.

The tracker sidebar with decisions, questions, actions, meetings, and a clean lint, beside the open-actions register

Every mutation holds a cross-process project lock and replaces files atomically. IDs are allocated as max+1 per prefix across the corpus, touched front matter gets a revision bump, and historical meeting notes are never rewritten. The agent contract is skills/enginehall-tracker/SKILL.md at the repository root.

EngineHall: Import project into the workspace copies a tracker project into an EngineHall workspace project after a dry run. It reads enginehall.workspace.url and enginehall.workspace.anonKey (or the former pcbastudio.workspace.* values) and asks for them when they are empty.

MCP server

dist/mcp-server.js is a zero-SDK stdio server for single-sheet and tracker operations. Use EngineHall: Set up MCP server for AI chat to register it and EngineHall: Test MCP server to check the handshake.

It is separate from the engine's MCP server, which reviews whole projects.

  • Eleven schdoc_* tools read summaries, title blocks, components, pins, nets, BOMs, searches, netlists, and the JSON model. Parsed sheets are cached by path and modification time.
  • Thirteen tracker_* tools inspect, search, lint, format, initialize, and mutate tracker data. All mutation tools enforce the same locking and format invariants as the UI.

Development

Requirements: Node 20, 22, or 24.

npm ci
npm run build        # dist/extension.js, dist/webview.js, dist/mcp-server.js
npm test             # typecheck, bundle, Vitest
npm run package      # enginehall-<version>.vsix

Open this directory in VS Code and press F5 to launch the Extension Development Host. Schematic tests use the generated board under ../fixtures/synthetic/; real sheets belong only in the gitignored test/fixtures/local/ directory.

The Python and TypeScript record decoders share ../fixtures/conformance/schdoc-record-streams.json, and both parsers select placed pins of multi-part symbols by ../fixtures/conformance/schdoc-placed-pins.json. Update the corpus and both implementations in the same change when record-stream or placed-pin behavior changes.

Releases

From the repository root, python tools/release.py runs both test suites, builds the Python wheel and sdist plus the VSIX, and verifies both MCP handshakes. The manual GitHub release workflow uploads those artifacts. scripts/publish.sh publishes the VSIX named in package.json with publisher tokens; authenticated publisher web sessions can upload that same checked VSIX directly.

legacy/README.md holds the notice and the steps for the final newmatik.pcba-studio release, which points existing users here. It is not part of this package.

Proprietary software, © 2026 Newmatik GmbH. See the license.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft