[Arduino IDE] Feinheiten und Tricks

Etwas mehr Uebersicht bei den COM Ports

Zum hochladen eines Programms auf einen Arduino wird man in der Regel den passenden COM Port auswählen müssen.
Arduinos mit 16U2, 8U2 und 32U4 erscheinen in der Port Auswahlliste mit dem Boardbezeichner
z.B. COM9(Arduino UNO)

Viele andere Boards erscheinen anonym, z.B. als COM14, COM15 usw.
Auch erscheinen in der Liste andere serielle Geräte, welche nichts, aber auch rein gar nichts, mit Arduino zu tun haben. Diese können sich sogar "verschlucken", wenn sie als Arduino angesprochen werden.
Es wäre also schön diese kennzeichnen zu können.
Im später folgenden Beispiel betrifft das zwei meiner DMX Kontroller/Interfaces.

Was macht Arduino?
Beim anzeigen der Portliste, schaut es sich die VID und PID des Seriellen USB Gerätes an, untersucht die eingebundenen Boarddefinitionen, und wenn die VID/PID dort gefunden wird, wird der Boardname im Auswahlmenü angezeigt.

Diesen Mechanismus kann man "ausnutzen" in dem man eigene unvollständige Boards anlegt.

Hier ein paar Beispiele um ansonsten anonym erscheinenden Seriell Adapter mit einem Namen zu versehen.
Der passende Ort ist eine selbst angelegte boards.local.txt, neben einer der schon vorhandenen boards.txt Dateien.

Inhalt (Beispielhaft):

# wenn schon nicht das Board erkannt wird, dann wenigstens der Schnittstellenbaustein
boardFTDI232R.name=Board mit FTDI232R
boardFTDI232R.build.board=BOARDFTDI232R
boardFTDI232R.hide=
boardFTDI232R.vid.0=0x0403
boardFTDI232R.pid.0=0x6001

boardCH340.name=Board mit CH340
boardCH340.build.board=BOARDCH340
boardCH340.hide=
boardCH340.vid.0=0x1A86
boardCH340.pid.0=0x7523


boardCP210n.name=Board mit CP2102/CP2104
boardCP210n.build.board=BOARDCP210N
boardCP210n.hide=
boardCP210n.vid.0=0x10C4
boardCP210n.pid.0=0xEA60

boardCP2108.name=Board mit CP2108
boardCP2108.build.board=BOARDCP2108
boardCP2108.hide=
boardCP2108.vid.0=0x10C4
boardCP2108.pid.0=0xEA71

boardbluepill.name=BluePill
boardbluepill.build.board=ARM_BOARDBLUEPILL
boardbluepill.hide=
boardbluepill.vid.0=0x0483
boardbluepill.pid.0=0x5740

boardmarple.name=STM32 Marple Bootloader
boardmarple.build.board=ARM_BOARDMARPLE
boardmarple.hide=
boardmarple.vid.0=0x1EAF
boardmarple.pid.0=0x0004

boardDMX512.name=DMX Adapter
boardDMX512.build.board=BOARDDMX512
boardDMX512.hide=
boardDMX512.vid.0=0x16C0
boardDMX512.pid.0=0x05DC
boardDMX512.vid.1=0x6244
boardDMX512.pid.1=0x0451


# Arduino DUE native USB Port
boardBossa.name=DUEnative/Bossa
boardBossa.build.board=ARM_BOARDBOSSA
boardBossa.hide=
boardBossa.vid.0=0x03EB
boardBossa.pid.0=0x6124



# Raspberry Pi Pico RP2040
rpipico.name=Raspberry Pi Pico
rpipico.build.board=RASPBERRY_PI_PICO
rpipico.hide=
rpipico.vid.0=0x2E8A
rpipico.pid.0=0x00C0



Ein billig Nano erscheint dann als COM33(Board mit CH340) in der Liste und ein originaler Nano als COM3(Board mit FTDI232R)

** die Zahlen hinter dem COM werden von Win vergeben, werden also bei dir anders sein

Nachtrag:
Der Menuepunkt "Werkzeuge->Boardinformationen holen" wird auch, zum Teil, aus diesen Einträgen gespeist.

Nachtrag:
Raspberry Pi Pico hinzugefügt.

1 Like