No Device Found - uploading from Mac

I have three Circuit Playground boards (2 Bluefruit and one Express) and am unable to upload Arduino compiled sketches to any of them. I keep getting "No device found on cu.usbmodem2101".

I've tried researching this on several different sites and although I've found lots of posts concerning similar problems, I have yet to find one that helps me resolve the issue, partly due to most of the posts involving Windows and I'm using a Mac.

Note: that I do not have any problems with these boards and CircuitPython. In addition, I am able to upload Arduino sketches to other boards without any problems.

Helpful (?) Context:

M1 Macbook Pro running macOS 12.6

Arduino IDE 1.8.19

Board Manager: Arduino SAMD Boards (32-bits ARM Cortex-M0+), version 1.8.13 is installed -- the selected board is Adafruit Circuitplayground Express

Port: when I plug the boards in, I can choose /dev/cu.usbmodem2101; when I unplug the board, the port is not visible anymore. --- The laptop has 3 USB ports and I have the same problem with all three.

I am using an adaptor since the Mac has USB-C connections and my cables are USB-B. But again, works fine with other boards.

The cable: I've tried a couple. They work fine uploading to other boards. They work fine with these boards when I'm using CircuitPython.

When I start the upload, the NeoPixels all turn solid green and the pin 13 (Red) LED starts blinking.

Upload log and error messages follow:

Arduino: 1.8.19 (Mac OS X), Board: "Adafruit Circuit Playground Express"

Sketch uses 34180 bytes (13%) of program storage space. Maximum is 262144 bytes.
Global variables use 4660 bytes (14%) of dynamic memory, leaving 28108 bytes for local variables. Maximum is 32768 bytes.
Forcing reset using 1200bps open/close on port /dev/cu.usbmodem2101
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
PORTS {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } / {/dev/cu.Bluetooth-Incoming-Port, /dev/cu.usbmodem2101, /dev/tty.Bluetooth-Incoming-Port, /dev/tty.usbmodem2101, } => {}
Uploading using selected port: /dev/cu.usbmodem2101
/Users/matt/Library/Arduino15/packages/arduino/tools/bossac/1.7.0-arduino3/bossac -i -d --port=cu.usbmodem2101 -U true -i -e -w -v /var/folders/0t/n7n1fk0s7vg7fvh3c5v8rw8h0000gn/T/arduino_build_506287/NeoAnim.ino.bin -R 
No device found on cu.usbmodem2101
Set binary mode
Send auto-baud
Set binary mode
An error occurred while uploading the sketch


This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Having a similar problem with Arduino Due this solved it for me:

  1. Pushing the ERASE-button for a few seconds while connected.
  2. Pushing the RESET-button.
  3. Changing the USB-port.

I am using bossac directly for uploading. It seems to be a problem with bossac. Maybe try another tool?

The following threads were helpful for me:
https://github.com/shumatech/BOSSA/issues/57
https://arduino.stackexchange.com/questions/1160/why-does-command-line-bossa-not-recognize-arduino-due

Maybe this helps.
But I am not fully content with this solution, yet.

Thanks for the reply!

I solved my problem, but forgot to come back here and post :frowning_face:

The issue is that the bootloaders on the boards were very out of date. When I upgraded them, everything worked without a hitch.

More details here: No device found - uploading from Mac - adafruit industries