Skip to content

Why Copilots Don’t Work for Embedded Systems

Simon Bennett
Simon Bennett

Over the past year, nearly every embedded team has started experimenting with AI. Some are using GPT. Others are using Claude. Many are building internal tooling on top of both. And to be fair—it’s working. Teams are seeing:

  • faster code generation
  • quicker debugging
  • reduced time on repetitive tasks

Productivity is up. In some cases, significantly. But if you look closely, something hasn’t changed. The hardest part of embedded development is still very hard.


The 30% Ceiling

Ask any team building edge AI systems, robotics platforms, or connected devices what AI has changed for them. You’ll hear a consistent answer:

“It helps—but we’re still doing most of the work.”

That work includes:

  • defining system architecture
  • mapping software to hardware
  • integrating across heterogeneous compute
  • validating against real-world constraints
  • debugging issues that only appear on-device

In other words: AI is accelerating code. It is not solving systems. That’s why most teams plateau around incremental gains—10%, 20%, maybe 30%. Beyond that, progress slows down. Because the bottleneck was never just writing code.

copilots_vs_agentic_systems_illustration


Embedded Development Is Not a Code Problem

Copilots are built around a simple assumption:

If you can generate better code, you can build systems faster.

That assumption works well in:

  • web development
  • scripting
  • application layers

It breaks down in embedded systems. Because embedded development is not linear. It is a tightly coupled system across:

  • hardware constraints (power, memory, latency)
  • firmware behavior
  • AI/ML pipelines
  • sensor inputs and real-world variability
  • vendor-specific SDKs and libraries

Changing one part affects everything else. And most of the complexity lives between the components, not inside them. So when a copilot generates a function—even a very good one—it doesn’t resolve:

  • how that function integrates into the system
  • whether it maps correctly to the target hardware
  • whether it compiles and runs in the real environment
  • whether it meets system-level constraints

The engineer still has to do that work.


The Missing Layer: System Orchestration

To move beyond incremental gains, something else is required. Not better code generation. Better system orchestration. That means:

  1. Translating intent into structured requirements
    Not just prompts, but complete representations of what the system must do.
  2. Defining architecture before code exists
    Establishing how components interact across hardware and software layers.
  3. Applying hardware context early
    Ensuring outputs are aligned with real deployment targets—not abstract environments.
  4. Generating code within that structure
    Not free-form, but constrained by architecture and hardware.
  5. Validating automatically
    Compiling, testing, and verifying outputs before an engineer ever touches them.

This is fundamentally different from how copilots operate. Because it treats development as a multi-stage system, not a single interaction.


From Copilots to Agentic Systems

What’s emerging instead is a new class of tools built around agentic workflows. Rather than a single model generating code, these systems coordinate multiple agents:

  • A requirements agent that expands intent into structured specifications
  • An architecture agent that defines system design
  • A hardware-aware agent that injects silicon-specific context
  • A code generation agent that produces implementation
  • A testing agent that validates outputs

Each stage feeds into the next. And critically, each stage combines:

  • LLM-based reasoning
  • rule-based execution
  • accumulated domain knowledge

The result is not a draft. It is a working system.

In many cases:

  • code compiles
  • pipelines execute
  • binaries are ready for deployment

This is the difference between:

  • assisting developers
  • and performing development workflows

Why This Matters Now

For years, embedded development was constrained by hardware. Now, hardware is accelerating:

  • more powerful edge compute
  • specialized AI chips
  • increasingly capable sensor systems

The bottleneck has shifted. It is now the ability to build and evolve the software that runs on top of that hardware. Teams feel this in different ways:

  • robotics companies struggling with perception pipelines
  • IoT teams dealing with long firmware cycles
  • automotive teams managing continuous updates and validation
  • industrial systems requiring reliability at scale

In each case, the pattern is the same: Hardware iteration is accelerating. Software iteration is not. Copilots don’t fix that gap. Because they operate inside the old workflow.


A Different Approach to Embedded Development

The teams that are moving beyond this are not just using AI differently. They are structuring development differently. Instead of:

  • experimenting with prompts
  • stitching together outputs
  • manually validating results

They are adopting systems where:

  • intent is formalized
  • workflows are encoded
  • outputs are generated within constraints
  • validation is built-in

In these environments:

  • engineers spend less time writing code
  • more time defining and refining system behavior

And importantly:

  • iteration becomes predictable
  • not experimental

The Shift Ahead

Copilots are not going away. They will continue to be useful—especially at the edges of development. But they are unlikely to become the foundation for embedded systems engineering. Because they solve the wrong layer of the problem. The shift that’s beginning is deeper:

From:

  • code generation

To:

  • system generation

From:

  • tools that assist

To:

  • systems that execute

And from:

  • individual productivity gains

To:

  • fundamentally different development workflows

Closing Thought

Most teams today are still in the experimentation phase. Trying prompts. Testing tools. Measuring small gains. The next phase will belong to teams that move beyond experimentation and adopt structured, system-level approaches to development. That’s where the real step-change happens. Not in writing code faster. But in building systems differently.

Share this post