Before you begin
Make sure you have:- A terminal application (see recommendations below)
- A firmware project to work with (or start a new one)
Recommended terminals
- macOS / Linux
- Windows
Step 1: Install and Launch Embedder
To install Embedder, use one of the following methods:- macOS / Linux
- Windows
Native installations automatically update in the background to keep you on the latest version.
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 theembedder command, you’ll need to log in:
/logout command.
Step 3: Start your first session
Open your terminal in any project directory and start Embedder:Creating a project

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.
Platform selection interface showing Nordic Semiconductor options
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.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 responding to a query about nRF9151 GPS capabilities with live serial output
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:- Find the appropriate file
- Read the relevant register definitions from the datasheet
- Show you the proposed changes with citations
- Ask for your approval
- 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:Step 7: Fix a bug or add a feature
Describe the issue you’re seeing and Embedder will help you debug it:- 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 driverPro tips for beginners
Be specific with your requests
Be specific with your requests
Instead of: “configure the timer”Try: “configure Timer 3 for a 10ms interrupt interval using the 16MHz HSI clock”
Use step-by-step instructions
Use step-by-step instructions
Break complex tasks into steps:
Let Embedder explore first
Let Embedder explore first
Before making changes, let Embedder understand your code:
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
/helpor ask “how do I…” - Documentation: Browse our guides for detailed information
- Community: Join our Discord community for tips and support
