Python to automatically select serial ports (for Arduino)

Use the following code to see all the available serial ports:

import serial.tools.list_ports
ports = list(serial.tools.list_ports.comports())
for p in ports:
    print p

This gives me the following:

('COM4', 'Arduino Due Programming Port (COM4)', 'USB VID:PID=2341:003D SNR=75330303035351300230')
('COM11', 'RS-232 Port (COM11)', 'FTDIBUS\\VID_0856+PID_AC27+BBOPYNPPA\\0000')

To work out if it’s an Arduino you could do something like:

    if "Arduino" in p.description:
        print "This is an Arduino!"

Leave a Comment