아두이노/이론

아두이노 레오나르도 VID,PID 변경하기

원원 2023. 12. 9. 10:56

안녕하세요. 오늘은 아두이노 레오나르도보드 VID,PID를 변경해보겠습니다.
VID : Vendor IDentifier
PID : Product IDentifier
VID는 제조사ID이고, PID는 제품ID입니다.
예를들어 아두이노의 VID는 0x2341이고, 로지텍의 VID는  0x046D입니다.

아두이노IDE에서는 보드의 설정을 변경할수있는 파일이 있습니다.
C:\Users\sw\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
(경로는 아두이노IDE 버전에따라 다를 수 있습니다)
위의 경로에서 boards.txt파일을 열면 아래의 사진에 나와있는 항목들이 보입니다


boards.txt 파일에서 보면 아래와같은 항목이 있습니다. leonardo.name은 위의 사진에서 보이는 이름입니다.
Arduino Leonardo에서 값을 변경해주면 됩니다

##############################################################

leonardo.name=Arduino Leonardo
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_port.0.vid=0x2341
leonardo.upload_port.0.pid=0x0036
leonardo.upload_port.1.vid=0x2341
leonardo.upload_port.1.pid=0x8036
leonardo.upload_port.2.vid=0x2A03
leonardo.upload_port.2.pid=0x0036
leonardo.upload_port.3.vid=0x2A03
leonardo.upload_port.3.pid=0x8036
leonardo.upload_port.4.board=leonardo

leonardo.upload.tool=avrdude
leonardo.upload.tool.default=avrdude
leonardo.upload.tool.network=arduino_ota
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.tool.default=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=0x8036
leonardo.build.usb_product="Arduino Leonardo"
leonardo.build.board=AVR_LEONARDO
leonardo.build.core=arduino
leonardo.build.variant=leonardo
leonardo.build.extra_flags={build.usb_flags}

##############################################################

그래서 결론적으로 아래항목들을 변경해주면 됩니다
leonardo.name = 아두이노IDE에서 보이는 Board명
leonardo.build.vid=사용할 VID명
leonardo.build.pid=사용할 PID명
leonardo.build.usb_product=보드설명

레오나르도를 넣었을때 USB정보입니다. String Descriptor 1의 Arduino LLC는, VID가 0x2341이면 나오는문자고 그 외의 값이면 Unknown으로 나옵니다. String Descriptor 2는 leonardo.build.usb_product에 설정한 값입니다.

 


그럼 이제 변경을해서 업로드해보겠습니다
leonardo.name = wowon_board
leonardo.build.vid=0xAAAA
leonardo.build.pid=0xBBBB
leonardo.build.usb_product=wowon