I am currently trying to use micropython on an arduino Nano 33 BLE using MacOS. Following the instructions from arduino website I was able to complete steps 1-3. At step 4, I can find the bossac file but when I try to run the provided command:

bossac -e -w —offset=0x16000 —port=usbmodem14201 -i -d -U -R file.bin

the terminal says no device found on usbmodem14201 which is a port appearing under the nano board in the IDE.

As a sanity check I ran serialportlist in matlab and the same port was returned when the Nano is plugged in.

I even ran ioreg -p IOUSB in terminal and found the nano: ‘’’ Arduino Nano 33 BLE@14200000 <class AppleUSBDevice, id 0x100008674, re$ ‘’’

That 142… number didn’t work either.

What am I doing wrong?

1 Answer 1


Welcome to Arduino StackExchange:

  1. Firstly your computer translates double dashes into single long dashes. the dashes should be double dashes (--) for options such as --offset, --port, etc. The command should be:
    bossac -e -w --offset=0x16000 --port=usbmodem14201 -i -d -U -R file.bin

but I can see that your computer translated these -- to those ?

  1. Before you try to upload code confirm that the board is recognized by the system using the ls command:

    ls /dev/cu.*

    This should list all serial devices and you should see something like /dev/cu.usbmodem14201 in the list if your board is connected.

  2. Ensure that you have the necessary permissions to access the serial port. You can try running the bossac command with sudo to run it as the superuser:

    sudo bossac -e -w --offset=0x16000 --port=usbmodem14201 -i -d -U -R file.bin
  3. Instead of just the port name usbmodem14201, you might need to use the full path like /dev/cu.usbmodem14201:

    bossac -e -w --offset=0x16000 --port=/dev/cu.usbmodem14201 -i -d -U -R file.bin
  4. Check that the Arduino Nano 33 BLE is in the bootloader mode. Typically, this can be achieved by double pressing the reset button. When it's in bootloader mode, the board might appear on a different port. Check the ports again with ls /dev/cu.* after you double press the reset button.

If you try all those and still it doesn't work maybe you should try installing latest drivers or check compatibility. Anyways, good luck.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.