Overview
Embedder for VS Code is a hardware-aware coding agent inside the editor your firmware team already uses. It's an agent, not an autocomplete: you ask for a driver, a refactor, or a fix, and it does the multi-file work — grounded in your MCU's datasheet, your schematic, and the live board. The same engine that powers our CLI, exposed where most firmware engineers spend their day.
What this white paper covers
- Why generic AI editors fall short on firmware — and what changes when the agent reads your datasheets.
- What it does — documentation-grounded generation, specification-first planning, closed-loop HIL verification.
- Integrating with your setup — PlatformIO, CMake, Zephyr, west, Cortex-Debug, vendor SDKs.
- Privacy and code handling.
- Getting started.
Why a firmware-specific extension
Generic AI editors are good at popular web frameworks because the internet is full of examples. Firmware doesn't look like that. Your code talks to a specific chip with specific register layouts, electrical limits, and timing constraints. None of that is in a public training corpus, and predictive autocomplete doesn't fix it — guessing register values from token distributions is how you brick boards.
Embedder reads the actual hardware context — reference manuals, datasheets, errata, schematics, build output, and the live board — and produces multi-file changes that compile, link, boot, and run on the first try far more often than what a generic model produces. It treats every assumption as something to verify, not assert.
What it does
- Documentation-grounded code generation — drivers, init sequences, HAL code, and peripheral configs written from the datasheet you're actually using. Native FreeRTOS and Zephyr; first-class STM32, NXP, ESP32, Infineon, Nordic, TI.
- Specification-first planning — the agent drafts a structured implementation plan with citations from the datasheet before writing code. You review the plan, not just the diff.
- SVD-aware reasoning — the agent uses the part's SVD device file to understand register layouts, so generated code matches the actual memory map.
- Closed-loop HIL panel — build, flash, and an integrated serial terminal run inside the editor; UART output, GDB state, logic analyzer captures, and power traces feed back into the same loop.
- Agentic refactors — multi-file edits with a diff you review before applying.
- Inline RCA — paste a fault, hard-fault log, or core dump; the agent cross-references against indexed docs to identify the root cause.
- Catalog access — pull from 500+ MCUs and 3,000+ peripherals via a peripheral picker, or upload custom hardware docs for parts that aren't indexed yet.
Integrating with your setup
The extension co-exists with PlatformIO, CMake, Zephyr (west), Arduino, Cortex-Debug, and the usual vendor IDE plugins. It doesn't replace your toolchain — it drives it. If your project builds today, the extension works today.
Privacy
You choose where inference runs. Cloud is the default; managed VPC (we operate it inside an Embedder-controlled isolated environment) and on-prem are available for larger orgs that need code or IP to stay inside a specific perimeter. The on-prem deployment runs in a container with zero external runtime dependencies and supports customer-controlled model hosting for ITAR and air-gapped programs.
Who it's for
- Firmware engineers who already use VS Code and don't want a separate AI tool.
- Mixed-discipline teams — drivers, applications, RTOS, networking, BLE/Wi-Fi stacks — sharing one editor.
- Hardware startups shipping their first board and wanting the editor to actually know the chip.
Getting started
Install the extension, authenticate, point it at your firmware repo. For a guided tour against one of your own projects, talk to an engineer or download Embedder.