Nano 33 BLE Sense not detected via USB (even after 2-click RESET trick)

Hi everyone,

I've just received a new Arduino Nano 33 BLE Sense board (with headers) and went on to try it on a Mac OS system.

After installing the Arduino IDE and the necessary packages via the 'Board Manager', I've never been able to have Mac OS detect the board.
The LEDs in the board seem to work normally.
I've tried multiple cables and followed the '2-click' RESET trick explained here.
I find it very strange that dmesg doesn't show anything when plugging the USB cable in and out.
The same behaviour happens in another computer with a Linux system.
The only thing I haven't tried is connecting to the Nano via a USB Hub (as suggested here), but will do it as soon as I get my hands on one.

Should I assume the board is defective?

EDIT : Tried two other things :

  • Connected the board via a USB hub : it still doesn't work
  • Connected two other Arduino boards, Uno and MEGA 2560 : both worked without issues

Welcome to the forum.

Can you try a Windows PC?

It is possible but there is very little required to get the board running. Both LEDs are I/O driven. When they light up it means the MCU is running some code.

Almost all boards are PRE-LOADED with the BLINK example sketch so an LED should be flashing about 1 second intervals.

You did remove the antistatic foam before use ?
Is your USB cable both power AND DATA or just power ?
It needs to be BOTH.

Hi Klaus,

Thank you for your reply!

Can you try a Windows PC?

That's a good test. I'll try it as soon as I get access to a Windows system.

Hi Ballscrewbob,

First of all, thank you for all the tips I've seen you post around the forum about this issue.

Almost all boards are PRE-LOADED with the BLINK example sketch so an LED should be flashing about 1 second intervals.

Yes, the 'orange' LED is blinking at a 1 Hz rate, so I assume the 'BLINK' example came already loaded.

You did remove the antistatic foam before use ?

Yes: I've tested the board without the foam, both on and off a breadboard.

Is your USB cable both power AND DATA or just power ?
It needs to be BOTH.

Yes it is: I've tested the cable with my smartphone first, and I'm able to transfer data to/from my laptop.

Indeed. Code is evidently running on the device.

Futhermore, if you can get that led into a pulsating mode with the double tap of the reset button you can also get into bootloader mode.

Why the usb port (they are different) for either of those modes is not seen by your computer is the mystery.

Make sure the USB cable is completely plugged into both the Arduino board and the PC. The USB socket on a brand new board is sometimes a bit more difficult to plug the cable in to. A partial plug in can result in power connections being made (thus the LEDs lit up), but not the data connections (thus no port).

UPDATE: Unfortunately, I haven't been able to make the Arduino board show up in Windows as well (tried Windows 10).

I've ordered a new board which arrived today!
I've tried it now and it worked right out of the box on my Macbook running Catalina v10.15.5, even after plugging it in and out several times and uploading different sketches.
It shows up in my system as /dev/cu.usbmodem14201.

After this I've tried plugging in the 'old' board again, but it still isn't recognized by my system.
I'll keep the 'old' board around to try some more things in the future.

One interesting difference that I've noticed in the two boards : when I plug in the 'old' one to USB power, the mult-colored LED lights up.
This doesn't happen with the 'new' one, i.e. the multi-colored LED stays black.
Is this a hint to what might be wrong with the 'old' board?
... or is this a sign that the 'new' board is also defective :frowning: ?

That should not happen without you writing a sketch that uses the RGB LED.

No, I do not believe the RGB LED is used by the sketch shipped with the Arduino. Your Arduino is probably fine.

Here is a short sketch to test your LEDs. The sketch uses delay() to keep it simple.

Arduino Nano 33 BLE LED test example (click to view)
/*
  This example tests the on-board LEDs.

  The circuit:
  - Arduino Nano 33 BLE/ BLE Sense board.

  This example code is in the public domain.
*/

#define FLASH_ON_MS   100
#define FLASH_OFF_MS  300

void setup()
{
  pinMode( LEDR, OUTPUT );
  pinMode( LEDG, OUTPUT );
  pinMode( LEDB, OUTPUT );
  pinMode( LED_PWR, OUTPUT );
  pinMode( LED_BUILTIN, OUTPUT );

  // Arduino Nano 33 BLE onboard RGB LEDs are active low
  digitalWrite( LEDR, HIGH );
  digitalWrite( LEDG, HIGH );
  digitalWrite( LEDB, HIGH );
  digitalWrite( LED_PWR, LOW );
  digitalWrite( LED_BUILTIN, LOW );
}

void loop()
{
  flashLED( LEDR, true );
  flashLED( LEDG, true );
  flashLED( LEDB, true );
  flashLED( LED_PWR, false );
  flashLED( LED_BUILTIN, false );
}

void flashLED( int pin, bool activeLow )
{
  if ( activeLow )
  {
    digitalWrite( pin, LOW );
    delay( FLASH_ON_MS );
    digitalWrite( pin, HIGH );
  }
  else
  {
    digitalWrite( pin, HIGH );
    delay( FLASH_ON_MS );
    digitalWrite( pin, LOW );
  }
  delay( FLASH_OFF_MS );
}
2 Likes

Hi @Klaus_K, thank you for the reply and the sketch!

Just tried out your sketch and the RGB LEDs work fine on my new board !

After trying out and playing around with your sketch, I now understand that the 'old' board lights up all the colors at startup, only for an instant (i.e., red, green and blue LEDs, showing a white-ish color).

For the moment I'll continue with the new board (my plan was to work on tinyML projects with it), and close this thread. If by any chance I'm able to get the 'old' board to work again, I'll open another thread.