CircuitPython on the Seeeduino XIAO--working!

Nice board. Remember to get a USB-C cable if you don’t have one already.

Support was just added (2020-01-15) to CircuitPython for this board–you’ll have to build from the source, though, until they post the pre-built uf2 file. (Or see below.)

If you can’t wait, you can use the uf2 for the SAMD 21 Mini in the meantime, but the pinouts will be mixed up, probably as follows: 1=A0, 2=A3, 3=D1, 4=D0, 5=D4, 6=D3, 7=A1, 8=A2, 9=D9, 10=x, 11=D8, and the LED is on the same D13.

Note that the recommended Mu editor won’t recognize the XIAO for serial communication yet unless you add the USB VID (0x2886) and PID (0x002f) to the Mu code (see or in the Mu app), but works fine for writing/saving programs to it. The most recent (alpha) version of Mu may work if you used the SAMD21 Mini uf2, but you may need to add the VID/PID to the current stable version of Mu.

(I have attached a uf2 for the XIAO based on the circuitpython codebase as of 2020-01-15. Please go to the circuitpython website to get the most current version once they start listing it.)

Thanks for sharing, and the CircuitPython is super awesome.

1 Like

Update: as of 1/17/2020, uf2 files are now available for the Seeeduino Xiao.

I see the pre-built UF2 file is available now. How do you get it to the XIAO device? Is there an arduino UF2 bootloader available or something similar?
Thanks all

@dgrover Thanks to sharing, CircuitPython is a great software.

1 Like

Thanks for sharing! Looking forward to more interesting discovery on Xiao~

Since nobody answered (and this forum seems to be the only source of reliable information), I thought I would share my experience after spending a couple of hours figuring this out.

You have to reset the board using the two pad reset button (as detailed on the wiki page), Then you download the UF2 file from and drag it onto the drive that appears on your computer (called “Arduino”).

Reset the board again and you should have a “CircuitPy” drive appear. Create a “” file on there and you’re good to go!

1 Like

Hey folks, since I couldn’t seem to find a basic and clear tutorial about installing CircuitPython on the seeeduino Xiao I wrote up a little guide for people that discover this little board in the future (and for me because I’ll probably forget).

Check out the guide to installing Circuit Python on Seeeduino Xiao here


Great stuff! Could you show circuit Python is use with various grove modules ?

Unfortunately, I don’t have any grove modules so I can’t really help with that!

Very much appreciated dgrover, this is just what I needed!

My work around to being able to use REPL on the Seeeduino XIAO has been to 1.) compile CircuitPython for the board with one modification, that of borrowing the USB_VID and USB_PID values from the SAMD 21 Mini (sparkfun_samd21_mini) board, and 2.) using the alpha version of Mu. I do note that the SAMD 21 Mini firmware works great although as mentioned the pins change order.

Specifically, I copy circuitpython\ports\atmel-samd\boards\seeeduino_xiao to another directory and compile that after changing the first two lines of ‘’ to that of the SAMD 21 Mini:
USB_VID = 0x1B4F
USB_PID = 0x8D22