33 BLE on OSX El Capitan creating new serial ports

I've just started with the Nano 33 BLE. Arduino v 1.8.13 running on OSX 10.11.6. I have lots of experience with Arduino, and with OSX serial ports.

This is a really obvious problem that I imagine has been pointed out before, but I don't see it mentioned in the "getting started" message pinned to the top of this section of the forum.

That is, having uploaded a sketch to the Nano 33 BLE, it reboots itself of course, recreates the USB CDC, and this results in the Mac creating a new serial device. The serial device is recognized by Arduino, if you go to Tools/Port the new port is shown (the old one has apparently disappeared) but not selected if you try running Serial Monitor. Yet in Terminal, the listing the device directory USB devices now shows 2 ports:

ls /dev/usb
/dev/cu.usbmodem1421 /dev/tty.usbmodem1421
/dev/cu.usbmodem6 /dev/tty.usbmodem6

And so it goes, adding another port every time you upload a sketch.

The workaround is reselecting the port each time (having waited for it to appear), and just tolerating the bazillion ports being created, given that they will disappear on the next reboot of your system.

I'm writing this up only because I think it should be added to "getting started" message.

The Arduino has two different USB endpoint configurations. One for programming and one for Serial Monitor. The OS remembers the other endpoint configuration when the Arduino restarts and gives it a different COM port. On Windows it will switch reliably between two COM ports. Maybe OSX is not smart enough or too smart. :slight_smile:

You have to re-select the COM port in the IDE on Windows on a regular basis. I do not even think about it anymore. Once you know the right order it works fine. I agree its different then the older boards but in the long run the native USB is likely worth it. For instance you do not need to worry about baud-rate settings anymore.

You might want to send the author of the getting started a short PM with the link to your post. Otherwise he might not read your post. I am not sure if this is useful for many users but that is for you and him to decide. Your post can already be found in Google. So, it might already help someone with the same issue.

I came up with a workaround.

I have connected to Serial1 via the Rx/Tx pins of the Nano 33 BLE, via a USB-to-Serial convertor.
I use Terminal to talk to my sketch with the command "screen [USB device] [baudrate]".
Then the USB is only used to upload the sketch, and it never changes.

BTW: I discovered that when mbedOS crashes, it dumps debug info to Serial1!

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.