How to write a customize boot loader for my product ?

Hi
Hope you all are good.

I am working on a new product which has the same features like Arduino Leonardo has, but i want a customize boot-loader for my product when i plug my device into any computer, Computer should recognize it with his name like xyz. I need a tutorial for this or any one guide me to follow steps. I want computer should assign name xyz with assigned port like arduino do. Plz find the attached pic

thanks in advance..

Capture.PNG

Changing this string is not that complicated. Hint: it's part of arduino-usbserial but that's used only for the Mega2560 and UNO models. The boards with the ATmega32U4 uses a completely different bootloader because the USB is part of the main processor.

Do you want this change just because of ego-centric motives or is there a need for this change? More than 99% of your customers will never see this string.

Keep in mind that you should also change the vendor and device IDs (otherwise you send your customers to hell just to have your own string displayed, nobody will like you) if you change the names and that means you should get your own vendor ID.

Thanks Pylon for your ans.
It means PID and VID's are must to have custom names? How i get PID and VID and where i edit in bootloader file as caterina is a hex file can not be changed ? May b iam wrong need your help :slight_smile:

sir can we change the string definition in .inf file for personal use ??

sir can we change the string definition in .inf file for personal use ??

I have no clue, that's Windows stuff and I don't have that OS.

It means PID and VID's are must to have custom names?

To go the correct way and don't let your customer tap into a trap: yes.

How i get PID and VID and where i edit in bootloader file as caterina is a hex file can not be changed ?

This page describes how to get a vendor ID: http://www.usb.org/developers/vendor/.
Once you have you own vendor ID you can define your product ID as you like.

The source code of the caterina bootloader comes with every Arduino IDE. The supplied makefile will run on most *nix-like operating systems, I guess you should get it running on Windows with Cygwin too.

Why is that string which most people will never see so important for you? Do you really need a bootloader on your "product"? It's much easier if you modify just the CDC. What type of product are we talking about?

Pylon actually i build the board which is arduino based and it is similar to Arduino Leonardo design is change and i dont want to use my board with the name Arduino Leonardo.
i want to have my own usb device name. :slight_smile:

i want to have my own usb device name.

That was my question: Why do you want to have a separate name? Is it worth the effort of registering a own vendor ID? I guess you're planning to the use Arduino's drivers, am I correct?

As you plan to use the caterina bootloader: is your hardware identical to the Leonardo? Do you also have LEDs to show the transmission of data over the virtual serial interface?

Yes i am using Caterina Bootloader and my hardware is not exact similar to the leonardo my board is made on 3.3V while leonardo is made on 5V

Yes i am using Caterina Bootloader and my hardware is not exact similar to the leonardo my board is made on 3.3V while leonardo is made on 5V

Caterina bootloader is for 16MHz CPU, with 3V3 you cannot use a 16MHz crystal so you have to modify the bootloader considerably.