Skip to content
Docs
WebsiteRequest a demo

Getting started

Quickstart

Install Flash in your tool, open your project and verify a first change on the board.

Before you begin

  • Flash access. Flash is in private beta. Request a demo and our team sends you the installer for your tool.
  • A project or a target board. Open existing firmware or a hardware design, or use the wizard to create a new firmware project.
  • Optional: a board, connected with its programmer or debug probe, for the last steps.
While you wait for access
See Flash IDE in action, follow the BMI270 tutorial to see every step, or check that your build system and probe are in Supported debug tools.

Choose your tool

Steps 1 to 3 follow the tool you choose here; from step 4 on, everything is the same. Not sure which one fits? See Choose your tool.

1. Install Flash

In Flash IDE

  1. Install the Flash IDE package our team sends you.
  2. Open Flash IDE. You can create the project before signing in; step 3 sets up the agent.

2. Open or create your project

Open existing code

In Flash IDE

  1. On the start screen, choose Open project….
  2. Select the folder that holds the source and build configuration, such as CMakeLists.txt or platformio.ini.

Create a new firmware project

In Flash IDE

Choose Create project. In Project, select Firmware and enter a name and parent folder. In Firmware, select ESP32-S3 and ESP-IDF native. Keep the detected SDK in Environment, then the Minimal template, C and Default configuration in Application.

In Review, check the destination, then choose Create & verify. When the build finishes, choose Open project. These videos create and build the minimal ESP-IDF project for the BMI270 tutorial. Adding the driver, flashing and checking the board come later.

Create and build an ESP32-S3 firmware project in Flash IDE

3. Sign in and choose a model

In Flash IDE

If you have not signed in yet, choose Sign in and use your Flash account. Then pick a model in the selector under the chat.

On Free, Pro and Max, Flash manages the AI for you: pick Claude or Codex. No API keys needed.

Using Studio or Enterprise?

Set up your own provider or local model first. See Studio and Enterprise.

4. Prepare the project with /init

Type it in the Flash chat, or at the Flash CLI prompt:

In Flash
/init

/init gets Flash ready to work on your project. It:

  • analyses the code and the hardware design;
  • tries a baseline build;
  • prepares connections for serial, the debugger and other interfaces;
  • writes a project guide into FLASH.md.

It never edits your source, installs tools or touches the board.

Then check the result: is the board right, did the build pass, are your components listed? Add missing parts with /peripherals. More about /init.

5. Ask about your code and your board

Ask Flash
Trace the startup sequence from the firmware entry point. Show where clocks and peripherals are configured, and flag anything that depends on the board revision.

Type @ to reference a file. Correct any wrong assumption before you change code.

Is the board design in the project? Ask Flash to check the firmware against it:

Check the code against the board
Check that the pins the firmware configures at startup match the schematic nets they connect to. List any mismatch with the datasheet page for each pin.

In Flash IDE you can follow the answer on the design itself: select a part or net to see it on the schematic and the PCB, then jump to the code that configures it. See Hardware and firmware together.

6. Make a small change

Plan it first, then implement it in Normal mode:

Plan, then implement
/mode plan Add a startup log line with the firmware version. Keep the baud rate and pins unchanged. /mode normal Implement the plan and build the firmware.

Flash asks before editing files or running commands. See Tool approvals.

7. Program the board and watch its output

Verify on the board
/mode debug Program the build to the board and capture serial output for 15 seconds. Check that the version line appears and report any errors.

Before writing to the board, Flash shows the target and firmware and asks you to confirm.

Keep in mind
A build proves the code compiles. Only the serial capture proves the change works on the board.

8. Go further with the debugger

With a debug probe connected, Flash can inspect the running firmware without resetting it:

Inspect the running target
Attach the debugger without resetting the board. Halt, read the program counter and <a global variable>, then resume.

See the Debugging overview for everything Flash can observe.

Next steps