Adafruit
Adafruit METRO M0 Express - designed for CircuitPython [ATSAMD21G18]
The Adafruit Metro M0 Express brings 32-bit ARM power to the familiar Metro/UNO shield-compatible form factor. Powered by the ATSAMD21G18 ARM Cortex M0+ proc...
Get notified when back in stock
The Adafruit Metro M0 Express brings 32-bit ARM power to the familiar Metro/UNO shield-compatible form factor. Powered by the ATSAMD21G18 ARM Cortex M0+ processor at 48 MHz, it offers 256 KB flash and 32 KB RAM — a massive upgrade over the ATmega328-based Metro. Designed from the ground up for CircuitPython, it also works seamlessly with the Arduino IDE.
With built-in native USB, the Metro M0 Express can act as a serial device, keyboard, mouse, or MIDI controller — no FTDI chip needed. The 2 MB SPI flash storage serves as a tiny drive for CircuitPython scripts, libraries, and data files. CircuitPython comes pre-loaded and ready to go.
Key Features
- ATSAMD21G18 ARM Cortex M0+ – 48 MHz, 256 KB flash, 32 KB RAM, 3.3V logic
- Native USB – Serial, keyboard, mouse, and MIDI support with no additional hardware
- 2 MB SPI Flash – On-board storage for CircuitPython scripts or Arduino data logging
- 25 GPIO Pins – 12 analogue inputs, 1 true analogue output, hardware SPI, I2C, and UART
- UNO Shield Compatible – Standard Metro/UNO form factor for plug-in shields
- Flexible Power – 7–9V DC (polarity protected) or Micro USB, with auto-switching and on/off switch
- UF2 Bootloader – Drag-and-drop firmware updates via USB storage mode
- CircuitPython Pre-Loaded – Ready to code out of the box
- Status LEDs + NeoPixel – Power (green), RX/TX, red LED, and an RGB NeoPixel
Ideal For
- CircuitPython beginners looking for a shield-compatible board
- Projects needing more power than an ATmega328 platform
- USB HID projects (keyboard, mouse, MIDI)
- Data logging with on-board flash storage
Package Contents
- 1× Adafruit Metro M0 Express (fully assembled with headers)
- 4× Rubber bumper feet
Resources
Jargon buster
Plain-language definitions for the technical terms used above.
- Bootloader
- Small starter software on a microcontroller that lets new code be uploaded before the main program runs. Knowing how to enter bootloader mode matters when you need to program the board or recover it after a faulty sketch.
- CircuitPython
- A beginner-friendly version of Python designed to run directly on microcontroller boards. If a product supports CircuitPython, you can often program it by copying code files onto the board rather than setting up a more complex toolchain.
- DC
- DC means direct current, where electricity flows in one constant direction, as supplied by batteries, USB ports and many plug-pack power supplies. When a product specifies DC, it runs from a DC supply rather than mains AC, so you need to provide the correct voltage and polarity.
- GPIO
- General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
- Headers
- Rows of connector contacts on a fixed pitch (commonly 2.54 mm) used to link a board to a breadboard, jumper wires, or another board. They come as male pin headers and female socket headers; when a module ships with pre-soldered headers it can be used straight away, whereas bare pads require soldering the pins yourself.
- HID
- Human Interface Device is a USB device class used for keyboards, mice, gamepads and similar controls. If a board supports HID over USB, it can act like an input device to a computer without needing a custom driver.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- IDE
- Short for Integrated Development Environment, a program used to write, run and manage code. It matters because some learners prefer a traditional coding workspace instead of a guided notebook-style lesson.
- LED
- A light-emitting diode (LED) is a small electronic component that emits light when current flows through it in the correct direction. Because it only conducts one way, its polarity matters, and a through-hole LED must be soldered the correct way around to light up.
- MIDI
- MIDI is a standard way for electronic instruments, controllers, and software to send musical control messages such as notes, velocity, and timing. If a board supports MIDI, it can be triggered from keyboards, drum pads, sequencers, or other music gear rather than only from buttons or code.
- native USB
- Native USB means the microcontroller itself handles USB communication, rather than using a separate USB-to-serial chip. This matters for programming, debugging, and projects that need the board to act directly as a USB device.
- NeoPixel
- A type of addressable LED system where colour data is sent along a single digital data line from one LED or controller to the next. Compatibility matters because the timing and signal format must match for the lights or driver board to respond correctly.
- RAM
- RAM (random-access memory) is fast, temporary memory a device uses for working data while it is running; in its common volatile form, its contents are lost when power is removed. Some devices offer a mode that applies settings to RAM only, which is handy for testing changes temporarily because they are not stored permanently and disappear at power-off.
- RGB
- Short for red, green and blue, the three primary colours of light that are mixed in varying amounts to make a wide range of colours. In electronics RGB can refer to an LED or pixel that blends these three colours, or to a colour signal or interface that carries separate red, green and blue channels.
- RX
- RX means receive, usually showing data being received by the board. An RX indicator LED can help with troubleshooting USB or serial communication.
- Shield
- An add-on board that plugs into a main controller board to give it extra features such as sensing, motor control or communication. Knowing a product supports shields helps you judge whether it can connect neatly into an existing maker-board setup.
- SPI
- A fast serial communication bus often used for displays, memory cards, and sensors. It matters because SPI devices need specific pins for clock and data, plus a separate chip-select line for each device.
- TX
- TX means transmit, usually showing data being sent from the board. A TX indicator LED can help you see when the board is communicating or uploading code.
- UART
- UART is a simple asynchronous serial interface that sends data over separate transmit and receive wires, usually labelled TX and RX, with both ends set to the same baud rate. It is a common way for microcontrollers and other serial devices to exchange data.
Find this product in
Brands
Microcontrollers
Related Tutorials
Free guides on learn.littlebird.com.au