Seeed Xiao no longer detected

I have just started using my Seeed Xiao and finally got it working with an SSD1306 display. However as soon as the display started working the device was no longer detected by my PC. I tried power cycling the Seeed but it still isnt detected and also is no longer driving the display!

I have also tried resetting and putting it into bootloader mode, but I dont think thats working either!

I wonder if the code I used caused it… but cant see how. Here is the setup and the loop does nothing.

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for SSD1306 display connected using I2C
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)

void setup()
  // initialize the OLED object
  if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Don't proceed, loop forever

  // Clear the buffer.
  // Display Text
  display.println("Hello world!");
  display.startscrollright(0x00, 0x00);

void loop() {

Hi TheGrovesy,
There are many different types of XIAO. What is your XIAO? (samd21?)
Is the problem that XIAO does not appear in the device manager of your PC?
I tried with XIAO (samd21) and I don’t think there is a problem with your sketch.

Yes its the SAMD21.
Correct, it does not appear in Device Manager. In fact, Windows no longer makes the usual USB inserted/removed sound when I plug/unplug it.
I have tried a different USB cable, and tried on a different PC, same issue.
The device is getting power as the green led lights up when I insert it, but the display no longer shows, so pretty sure the program is not running.
I have also removed the display so its only the Xiao on its own, but still same result.

Can’t you just short the reset pad twice to get into boot mode? If successful, the orange LED will flash (light up?). and a new window will open on the PC. This operation is difficult, so please try several times.
If you still cannot get into boot mode, the XIAO bootloader may be corrupted.

See the link below for instructions on how to repair the bootloader.
How to unbrick a dead XIAO using a XIAO(DAPLink) and OpenOCD

Yeah I have tried resetting multiple times and never get the orange LED, so I think it is bricked :frowning: Rather disappointing as this is the time i’ve use a Seeed product, and now I need to buy another to unbrick the first!

But thank you for the help :slight_smile:

@msfujino Doing some research, I see that the xiao ESP32 is both cheaper and appears to be more capable. So my question is, can this be used to re-program my bricked SAMD32? and are they any disadvantages of the ESP over the SAMD as I cant really see one!