Arduino ide--How it works??

Hello everyone!!

I am working on a custom arduino compatible board(based on Atmega32u4,) for teaching students in India about programming and electronics. While working on it I learnt to make a json file, install in arduino ide, compile caterina.c (under Arduino\hardware\arduino\avr\bootloaders\caterina) with custom VID PID pair. I even flashed the generated .hex and successfully it shows up the name.

My board name: Infineo
VID:0x1209
Bootloader PID:0xABCD
Sketch PID: 0x9999

Link to my json file: https://raw.githubusercontent.com/Intelectron/Infinineo/master/package_intelectron.in_index.json

But i didnt managed to find out how the boards name appears beside the Serial port numbers under Tools → Port section. [Refer to the attachment]

I am curious to know that from where the board name is fetched and how can i implement the same.

Board name comes from boards.txt.
If you are using the same bootloader and pinout as a Leonardo, which is also 32U4, then you can just Leonardo as the board type. And select the COM port that shows up when you plug your board in.

Actually i have compiled cateriana.c(under Arduino\hardware\arduino\avr\bootloaders\caterina), used my own VID & PID pair with the build.variant set to "micro". The bootloader is custom and currently in arduino pro micro board for initial testing.

I want my board name: "Infineo" to show up in Serial port.

How is the board name being fetched?? Just like when i plug Teensy 3.0 and choose port it shows up the Port number and Board name(eg. COM5 (Teensy 3.0/3.1))

Its in the VID & PID of the USB device..

Hardcoded in most cases except with clones and a few other Chinese devices.

I have submitted a pull request to solve this issue to your repository: https://github.com/Intelectron/Infineo/pull/1 EDIT: link broken because @tamsaha deleted and then recreated the repository instead of merging my PR. See my reply #8 below for an explanation of the necessary change.

I have found the issue. The issue was in defining parameters correctly in boards.txt

Here is the updated link of my boards.txt file :
https://github.com/Intelectron/Infineo/blob/master/sources/module/boards.txt

Link of my json file: https://raw.githubusercontent.com/Intelectron/Infineo/master/release/module/package_infineo_index.json

Driver download:
https://github.com/Intelectron/Infineo/tree/master/release/driver

After putting the json file link in Additional Boards Manager URL under Preferences the board should appear at last in Board Manager section under Tools of Arduino IDE.

After flashing the bootloader into a Arduino pro micro your IDE should look like : [Refer to the Attachment]

Step1:
Flash the firmware into Arduino pro micro and it will appear as Codebridge

Step2:
Then install the drivers. The board should appear as Intelectron Codebridge in Device Manager

Step 3:
Upload any sketch. The board should appear as Intelectron Infineo in Device Manager.

All of the above links give a 404 error and https://github.com/Intelectron?tab=repositories shows no public repositories. Did you make the repository private?

tamsaha: I have found the issue. The issue was in defining parameters correctly in boards.txt

Wow, if only someone had already looked through your boards.txt, found the problem, fixed it, tested it and submitted a pull request. Oh, that's right, I did that. Then instead of accepting my pull request, you deleted the repository, made the exact same change yourself, and completely ignored me. Then you also ignored me when I pointed out that your links were broken. If you don't want to say thanks or give me credit that's your choice but you could at least explain what was necessary to have the port of your board labeled to help others who may have the same problem in the future. Because of what you did they can't even look at the pull request I submitted. You didn't even take a second to let me know that my fork of your crappy repository is now pointless so that I can delete it. I took time out of my day to try to help you out because I believe in open source and giving back to the Arduino community. It's people like you who make me want to give up on that and just be selfish, like you. There are plenty of other things I could have spent that time on.

So, because unlike you I do believe in giving back to the Arduino community, here's an explanation of what needs to be done to get a board's port to be labeled with the board name in the Arduino IDE Tools > Port menu: This can only be effectively done for boards that have a unique VID/PID. If your board uses a USB-serial chip (such as FT232, CH340, etc.) with the standard VID/PID it won't be useful because other different boards will also have the same VID/PID.

In the boards.txt entry for the board you must define the VID and PID of the board:

boardname.vid.0=0x0042
boardname.pid.0=0x4242

if the board is available with multiple VID/PIDs you can define all of them:

boardname.vid.0=0x0042
boardname.pid.0=0x4242
boardname.vid.1=0x0042
boardname.pid.1=0x4243

After adding these definitions in boards.txt (and restarting the Arduino IDE if it was running) you will see the board name defined in boards.txt listed after the port name in the Port menu, e.g. COM4 (Board Name).

Note that you should not confuse the above definitions with the build.vid/build.pid properties which may also be defined in boards.txt e.g.:

infineosucks.build.vid=0x0042
infineosucks.build.pid=0x4242

If you want helpful Tools > Port menu labels for boards using standard USB-serial chips with generic VID/PIDs you may be interested in a little something I wrote that does just that: https://github.com/per1234/zzInoVIDPID