Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Board-specific menu content not populated if board is selected prior to platform installation #2640

Open
3 tasks done
per1234 opened this issue Feb 22, 2025 · 0 comments
Open
3 tasks done
Labels
topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project

Comments

@per1234
Copy link
Contributor

per1234 commented Feb 22, 2025

Describe the problem

Some of the Arduino IDE menus contain items populated according to data specific to the currently selected board.

Arduino IDE has a helpful feature where the user can configure Arduino IDE's Tools > Board menu selection for a connected board by simply selecting the entry produced by the board's port from the "board selector" menu on the toolbar. For most official boards, this can be done even before the board's platform has been installed (the board's identification properties are sent to the "Arduino Builder API"). Although the board can't actually be used until the platform is installed, this allows Arduino IDE to automatically offer the installation of the platform, supporting a natural user flow for the first use of a board.

🐛 The board-specific menu content is not populated after platform installation after completion of the platform installation if the user has already selected the board model prior to the platform installation:

  • File > Examples menu only contains entries for the "built-in" examples.
  • Sketch > Include Library does not contain any entries
  • Tools menu does not contain entries for any "custom board options" the board might have

To reproduce

Equipment

  • Any modern official Arduino board other than the classic Nano

Steps

  1. Select File > Quit from the Arduino IDE menus if it is running.
    All Arduino IDE windows will close.

  2. Rename or delete the "user data" folder, which is located at the following path (this is done to effectively simulate the real world conditions of the first time use of a board):

    • If you are using Windows:
      C:\Users\<username>\AppData\Roaming\arduino-ide\
      
      (where <username> is your Windows username)
      ❗ If looking for it with your file manager or command line, note that the AppData folder is hidden by default. On Windows "File Explorer", you can make it visible by opening the "View" menu, then checking the box next to "☐ Hidden items".
    • If you are using Linux:
      /home/<username>/.config/arduino-ide/
      
      (where <username> is your Linux username)
      ❗ The .config folder may be hidden by default in your file manager and terminal.
    • If you are using macOS:
      /Users/<username>/Library/Application Support/arduino-ide/
      
      (where <username> is your macOS username)
      ❗ The Library folder is hidden by default. You can make it visible by pressing the Command+Shift+. keyboard shortcut.

    ⚠ Please be very careful when deleting things from your computer. When in doubt, back up!

  3. Start Arduino IDE.

  4. If it is already installed, use Boards Manager to uninstall the platform of the board.

  5. Connect the Arduino board to your computer.

  6. Select the board from the board Selector menu on the Arduino IDE toolbar.
    A notification will appear:

    The ___ core has to be installed for the currently selected ___ board. Do you want to install it now?

  7. Click the "YES" button on the notification.
    This method of platform installation was chosen arbitrarily. The fault occurs no matter which method you use to install the platform.

  8. Wait for the platform installation to finish.

  9. Select File > Examples from the Arduino IDE menus.
    🐛 The menu only contains "built-in" examples, and does not contain an "Examples for <board name>" section (which would normally have a submenu for each of the platform bundled libraries of the selected board).

  10. Select Sketch > Include Library from the Arduino IDE menus.
    🐛 The menu does not contain any library entries. The platform bundled libraries (e.g., "SPI", "Wire") are missing.

  11. If the board has custom board options (e.g., "Processor" for Mega 2560, "Target core" for Portenta H7, "Partition Scheme" for Nano ESP32), select "Tools" from the Arduino IDE menus.
    🐛 The menu does not contain entries for the custom board options.

  12. Select any other board from Arduino IDE's Tools > Board menu.

  13. Select the board you are using from Arduino IDE's Tools > Board menu.

  14. Select File > Examples from the Arduino IDE menus.
    🙂 The menu does contain an "Examples for <board name>" section with a submenu for each of the platform bundled libraries of the selected board.
    🙂 The menu also contains entries for any globally installed libraries.

  15. Select Sketch > Include Library from the Arduino IDE menus.
    🙂 The menu contains entries for the platform bundled libraries.
    🙂 The menu also contains entries for any globally installed libraries.

  16. If the board has custom board options, select "Tools" from the Arduino IDE menus.
    🐛 The menu contains entries for the custom board options.

Expected behavior

Menus are populated with board-specific data for the selected board.

Arduino IDE version

2.3.4

Operating system

Windows

Operating system version

11

Additional context

Originally reported at https://forum.arduino.cc/t/bug-or-incomplete-documentation-access-to-examples-for-uno-r4-wifi/1356636

Workaround

  1. Select any other board from Arduino IDE's Tools > Board menu.
  2. Select the board you are using from Arduino IDE's Tools > Board menu.

Alternatively, you can exit and then restart Arduino IDE.

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the latest nightly build
  • My report contains all necessary details
@per1234 per1234 added topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project labels Feb 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project
Projects
None yet
Development

No branches or pull requests

1 participant