FWAuto QuickStart Guide
Get started quickly with FWAuto firmware development automation.
Installation
Prerequisites
| Item | Requirement | Description |
|---|---|---|
| FWAuto account | Registered | Register through the FWAuto Dashboard before continuing. |
| uv | Latest | Python package manager |
| Node.js | >= 20 | Includes npm, which is used to install AI CLI tools. |
The installer automatically checks uv and Node.js. It skips tools that are already installed at a supported version and provides installation guidance for missing tools. Windows users should see Appendix A for the Node.js installation procedure.
Linux / macOS
curl -LsSf https://fwauto.ai/install.sh | bash
Windows
powershell -ExecutionPolicy ByPass -c "irm https://fwauto.ai/install.ps1 | iex"

After the environment check succeeds, the script automatically installs fwauto and the required AI CLI tools.

Verify the installation
fwauto --help

Authentication
FWAuto uses Google OAuth for authentication:
fwauto auth login
- Your browser opens the Google sign-in page. Select an account.
- Authorize FWAuto access.
- After sign-in succeeds, close the browser window and return to the terminal.



Check your authentication status:
fwauto auth status
Project Initialization
Enter your firmware project directory and run any fwauto command, such as fwauto build. FWAuto automatically starts a three-step setup wizard covering SDK, build, and deployment configuration.
⚠ FWAuto project not initialized🚀 Starting setup wizard (3 step(s))...[1/3] SDK ConfigurationSDK path [/opt/ti-sdk]:[2/3] Build ConfigurationBuild type: 1. makefile 2. commandSelect [1]:[3/3] Deploy ConfigurationDeploy type: 1. network 2. serial 3. commandSelect [1]:
When setup is complete, FWAuto creates:
.fwauto/├── config.toml # Project configuration├── build/│ └── Makefile # Build script (edit for your project)└── logs/ # Log directory
Basic Usage
Build
fwauto build
If a build fails, the AI automatically attempts to repair it up to three times.
Deploy
fwauto deployfwauto deploy --binary-args "on"
Analyze logs
fwauto log "Are there any errors?"fwauto log "Analyze this log" --log-path /path/to/uart.log
Help and Chat Mode
fwauto --helpfwautofwauto "Make the LED blink quickly"
Chat mode supports explicit Slash Commands such as /build and /deploy, as well as natural-language requests such as “build my firmware” or “deploy to the development board.”
| Command | Function |
|---|---|
| /build | Build the firmware |
| /deploy | Deploy the firmware |
| /log | Analyze logs |
| /config | Manage configuration |
| /help | Show help |
| /exit | Exit chat mode |
Troubleshooting
Authentication fails
fwauto auth logoutfwauto auth login
FWAuto cannot find .fwauto/
Run FWAuto from the project directory or one of its subdirectories. FWAuto searches parent directories for .fwauto/.
Update FWAuto
uv tool upgrade fwauto
After updating, run fwauto --help and verify the version shown below the banner.
Change the AI conversation language
/config set project.language zh-TW
Supported languages are en (English) and zh-TW (Traditional Chinese). Configuration errors, such as a missing Makefile, do not trigger AI repair. Confirm that the failure is a compilation error rather than a configuration error.
Appendix A: Windows Prerequisites
Install uv
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Install Node.js
Download the Windows Installer (.msi), version 20 or later, from Node.js Downloads. Use the default installation options and ensure “Add to PATH” is selected. Close and reopen PowerShell after installation. When required, run Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process again.

Appendix B: Makefile Requirements
When you select the makefile build type, FWAuto copies a template to .fwauto/build/Makefile. Modify it for your project.
| Requirement | Description |
|---|---|
| Defined target | The default target is build and can be changed in config.toml. |
| Return code | Success = 0; failure = non-zero. |
| Output | stdout and stderr are captured for AI error analysis. |
| Variable | Purpose |
|---|---|
| ARAGO_ENV | SDK environment configuration path |
| SYSROOT | Cross-compilation sysroot |
| CC | Compiler |
| SRC_DIR | Source directory |
| BUILD_DIR | Output directory |
Appendix C: Configuration Management
Use /config in chat mode to view the project configuration. Modify values with:
/config set <key> <value>/config set project.language zh-TW
Appendix D: Arduino
[project]name = "Blink"[sdk]path = "~/.arduino15"[build]type = "command"command = "arduino-cli compile --fqbn arduino:avr:nano ."[deploy]type = "command"command = "arduino-cli upload -p /dev/ttyUSB0 --fqbn arduino:avr:nano ."[log]type = "serial"serial_port = "/dev/ttyUSB0"baudrate = 9600
Appendix E: AM62X Development Board
[project]name = "my-am62x-project"[sdk]path = "/home/alientek/ATK-AM62x-SDK"[build]type = "makefile"makefile = ".fwauto/build/Makefile"target = "build"[deploy]type = "network"[deployment]board_ip = "192.168.50.169"board_user = "root"deploy_path = "/home/root"
