The following is capturing instructions on how to add custom naming for an Arduino Leonardo (or generic pro-micro) for a DIY space mouse project.
Being new to Arduino IDE I found benefit in learning about several priciples from this video shared by the original poster.
Reference was taken from the following YouTube video (https://youtu.be/hoCOq9Ngp44?t=1156) approx 20min. Code section esp helpful.
Find the folder where the Arduino Hardware 'boards.txt' lives. Likely here:
'C:\Users<USERNAME>\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.7\boards.txt'
You may need to show hidden files/folders in the options settings to find the 'AppData' folder
Copy the boards.txt file and rename it as a backup. ie 'OLDboards.txt' just in case
Replace the content of 'boards.txt` with the following:
boards.txt
leonardo.name=DaemonBite
leonardo.vid.0=0x2341
leonardo.pid.0=0x0036
leonardo.vid.1=0x2341
leonardo.pid.1=0x8036
leonardo.vid.2=0x2A03
leonardo.pid.2=0x0036
leonardo.vid.3=0x2A03
leonardo.pid.3=0x8036
leonardo.upload.tool=avrdude
leonardo.upload.tool.serial=avrdude 'this was missing from the original as seems needed for new versions of the Arduino IDE
leonardo.upload.protocol=avr109
leonardo.upload.maximum_size=28672
leonardo.upload.maximum_data_size=2560
leonardo.upload.speed=57600
leonardo.upload.disable_flushing=true
leonardo.upload.use_1200bps_touch=true
leonardo.upload.wait_for_upload_port=true
leonardo.bootloader.tool=avrdude
leonardo.bootloader.low_fuses=0xff
leonardo.bootloader.high_fuses=0xd8
leonardo.bootloader.extended_fuses=0xcb
leonardo.bootloader.file=caterina/Caterina-Leonardo.hex
leonardo.bootloader.unlock_bits=0x3F
leonardo.bootloader.lock_bits=0x2F
leonardo.build.mcu=atmega32u4
leonardo.build.f_cpu=16000000L
leonardo.build.vid=0x2341
leonardo.build.pid=0x8037
leonardo.build.usb_product="DaemonBite (Player 1)"
leonardo.build.board=AVR_LEONARDO
leonardo.build.core=arduino
leonardo.build.variant=leonardo
leonardo.build.extra_flags={build.usb_flags}
Edit the following lines to create custom board / USB naming:
leonardo.name=DaemonBite
leonardo.build.usb_product="DaemonBite (Player 1)"
Ensure for each custom name you assign, you change the following line:
leonardo.build.pid=0x8037
pid refers to Product ID vid refers to Vendor ID
In this case, instead of incrementing to avoid conflicts the pid for the spacemouse should be used.
I changed the VID and PID values as per jfedor's instructions:
vid=0x256f, pid=0xc631 (SpaceMouse Pro Wireless (cabled))
Now when you launch the Arduino IDE, you should see the new board in the Tools > Boards menu. (or at the bottom of the dropdown "Select other board and port"
Make sure everything compiles/builds correctly, then upload. That should be everything. Use a GPT to help you troubleshoot If you haven't tried that before it is very helpful.
Similar to above but specific to your environment.
probably find the folder here: ~/.arduino15/packages/SparkFun/hardware/avr/1.1.13
Copy boards.txt to boards.txt.org (make your backup)
Modify below lines in boards.txt (review for possible changes needed first)
################################################################################
################################## Pro Micro ###################################
################################################################################
promicro.name=DaemonBite
promicro.build.usb_manufacturer="DaemonBite"
promicro.build.usb_product="Arcade (P1)"
promicro.build.vid=0x1b5f
############################# Pro Micro 5V / 16MHz #############################
promicro.menu.cpu.16MHzatmega32U4.build.pid.0=0x9208
promicro.menu.cpu.16MHzatmega32U4.build.pid.1=0x9207
promicro.menu.cpu.16MHzatmega32U4.build.pid=0x9207