Tools sub menu not being displayed

I have used the following code to change name of my product displayed in windows. This has worked flawlessly until recently. Not sure when it happened, but the menu option to select the product name no longer appears in the IDE. The only options I have are to select cpu and port.

I tried uninstalling and reinstalling the IDE as well as installing an older version (1.6.x) to see if that brought the menu option back, but it didn't.

What am I missing?

menu.usb_name=USB Product Name"Leonardo""Arduino Leonardo""Mega Shifter""Mega Shifter"

Where did you make this change?

The only options I have are to select cpu and port.

You have a Tools > cpu menu when you have Tools > Board > Arduino Leonardo selected?

I suspect the problem is that you modified the Arduino AVR Boards boards.txt file in the Arduino IDE folder and then did a Boards Manager update of Arduino AVR Boards. This installs the Arduino AVR Boards hardware package to a different location on your computer and the boards.txt found in the Arduino IDE folder is no longer used.

This is why you should never modify the stock Arduino files. Instead you should create your own custom hardware package, which will not be affected by updating the Arduino IDE or Arduino AVR Boards.

I made the change in boards.txt.

You are correct, I updated the boards manager. Any idea to what location it stores the new files or how to uninstall it?


Found it in Appdata\local\arduino15\pacakges\arduino\hardware\avr\1.6.19

Glad things are working for you now. If you decide to go with my recommendation for a custom hardware package I'm happy to help. It's just a folder under your sketchbook with the boards.txt and, if necessary, the bootloader file. Everything else can be referenced from Arduino AVR Boards.

I'd be more than happy to do it that way, I just wasn't aware I'd need to.

So what you're saying is that I can just move the boards.txt into the same folder as the ino file?

I just wasn't aware I'd need to.

You don't need to. It's fine if you want to just modify the Arduino AVR Boards boards.txt. The reason why that is not a good idea is:

  • It leads to the exact sort of confusion you encountered after updating to a new version of Arduino AVR Boards or the Arduino IDE. Now that you've been through that you will probably know what you need to do next time it happens.
  • You need to redo the same thing over and over again instead of just getting it right once.
  • Your changes might be lost when you update the Arduino IDE and then you'd need to figure out how you had it set up all over again.

So what you're saying is that I can just move the boards.txt into the same folder as the ino file?

You put it in a subfolder of the sketchbook folder (the sketchbook folder location can be found at File > Preferences > Sketchbook location). The folder structure would look something like this:

{sketchbook folder}

You can just copy Caterina-Leonardo.hex over from Arduino AVR Boards. The reason this is necessary is because you can't reference bootloaders from a different hardware package but you can reference everything else.