Skip to content

Make error message from compiling w/o board selected more user friendly #62

Closed
@per1234

Description

@per1234

Describe the current behavior

On the first use, no board is selected. A new user may not realize it is necessary to select one. If they attempt to compile a sketch without selecting one, they will receive only this cryptic error message:

Compilation error: Missing FQBN (Fully Qualified Board Name)

and this notification:

Error: Request compile failed with message: Compilation error: Missing FQBN (Fully Qualified Board Name)

This doesn't mean anything to even very advanced IDE users, and the user will have difficulty understanding what they need to do to resolve it.

To reproduce

  1. Quit the IDE if it is running.
  2. Simulate a fresh install by deleting the configuration folder:
    • Windows:
      C:\Users\<user name>\AppData\Roaming\arduino-ide\
      
    • Linux:
      ~/.config/arduino-ide/
      
    • macOS:
      ~/Library/Application Support/arduino-ide/
      
    This step is done because the IDE currently makes it otherwise difficult for those with internal serial ports to achieve the required state of having no port selected, due to the odd fallback port selection behavior (e.g., Port defaults to first available com port with lowest number not the last used #180).
  3. Start the Arduino IDE.
    The board/port selector menu should show "❌ No board selected".
  4. Select Sketch > Verify/Compile from the Arduino IDE menus.

Describe the request

Show a user friendly error message. Something like:

No board selected. Please select your Arduino board from the Tools > Board menu.

Desktop

  • OS: Windows 10
  • Version: 2.0.0-rc3-snapshot.1d88263
    Date: 2022-01-24T16:22:30.529Z
    CLI Version: 0.20.2 [13783819]

Additional context

Even among Arduino CLI users, I have found that the concept of "FQBN" is not widely known. IDE users are even less likely to be familiar with this acronym, and even less anxious to spend their time learning what it means, since the it is not otherwise a part of the IDE user experience.


Note that the error message produced by the reproduction instructions above is currently different than described due to a recent regression in Arduino CLI: arduino/arduino-cli#1812

Related

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions