Skip to main content

Before you begin

Make sure you have:
  • A terminal application (see recommendations below)
  • A firmware project to work with (or start a new one)
Ghostty for the best experience on macOS and Linux.macOS (Homebrew):
Linux:

Step 1: Install and Launch Embedder

To install Embedder, use one of the following methods:
Enterprise customers have a custom install script. Contact your organization’s point of contact or reach out to founders@embedder.com for your installation instructions. After you install, you can proceed from step 2. Do not use the installation script below!
Native installations automatically update in the background to keep you on the latest version.
To launch embedder, run embedder in your projects directory:

Step 2: Log in to your account

Embedder requires an account to use. When you start an interactive session with the embedder command, you’ll need to log in:
Follow the prompts to log in with your account. If the web app doesn’t automatically open, click the link on your screen. Once logged in, your credentials are stored and you won’t need to log in again. To switch accounts later, use the /logout command.

Step 3: Start your first session

Open your terminal in any project directory and start Embedder:
You’ll see the Embedder project selection screen.

Creating a project

SELECT PROJECT dialog with search box showing create new project button and previous projects list

Project selection interface

Select your platform

After booting up, Embedder prompts you to select your hardware platform. Use the search box to filter platforms, then use the arrow keys to navigate and press Enter to select.
SELECT PLATFORM dialog with search box showing nRF9xxx platforms from Nordic Semiconductor

Platform selection interface showing Nordic Semiconductor options

Select the platform that matches your hardware. Embedder uses the official documentation for your platform to ground its code generation and answers. To add custom platforms, see common workflows.
The /console command lets you upload additional documentation to existing platforms and peripherals in your project.

Select your peripherals

After selecting your platform, Embedder prompts you to configure your peripherals — the external components your project uses. See Add a Peripheral for the full walkthrough, including how to upload a custom peripheral with its datasheet.
You can change your peripheral configuration later using the /peripheral command.

Step 4: Ask your first question

Once your platform and peripherals are configured, you can ask hardware-specific questions in natural language. Embedder references the relevant datasheets, reference manuals, and errata automatically. If a device is connected, it also reads serial output in real time. Try asking about your hardware:
Embedder interface showing a prompt about nRF9151 GPS capabilities, document search results with hardware requirements table, and serial monitor displaying satellite information

Embedder responding to a query about nRF9151 GPS capabilities with live serial output

Embedder presents relevant documentation, including hardware requirements, pin configurations, and timing specifications. The serial monitor displays real-time output from your connected device. You can also ask about your codebase:
Embedder reads your files and datasheets as needed - you don’t have to manually add context.

Step 5: Make your first code change

Now let’s have Embedder generate some firmware. Try a simple task:
Embedder will:
  1. Find the appropriate file
  2. Read the relevant register definitions from the datasheet
  3. Show you the proposed changes with citations
  4. Ask for your approval
  5. Make the change
Embedder always asks for permission before modifying files unless told otherwise.

Step 6: Use Git with Embedder

Embedder makes Git operations conversational:
You can also prompt for more complex Git operations:

Step 7: Fix a bug or add a feature

Describe the issue you’re seeing and Embedder will help you debug it:
Or paste an error:
Embedder will:
  • Check your code against the datasheet
  • Look for common configuration mistakes
  • Cross-reference known errata for your MCU
  • Suggest and test fixes

Step 8: Test out other common workflows

There are a number of ways to work with Embedder: Write a driver
Configure a peripheral
Generate initialization code
Port code to a new platform
See common workflows for more information.
Remember: Embedder understands your hardware. Ask it questions the way you’d ask an experienced firmware engineer who has memorized the datasheet.

Pro tips for beginners

Instead of: “configure the timer”Try: “configure Timer 3 for a 10ms interrupt interval using the 16MHz HSI clock”
Break complex tasks into steps:
Before making changes, let Embedder understand your code:
See best practices for more tips.

What’s next?

Continue with Best Practices for tips on getting the best results, or Common Workflows for practical examples.

Getting help

  • In Embedder: Type /help or ask “how do I…”
  • Documentation: Browse our guides for detailed information
  • Community: Join our Discord community for tips and support
Last modified on May 8, 2026