Adafruit
Metro M4 Express
Are you ready? Really ready? Cause here comes the fastest, most powerful Metro ever. The Adafruit Metro M4 featuring the Microchip ATSAMD51. This Metro is li...
Are you ready? Really ready? Cause here comes the fastest, most powerful Metro ever. The Adafruit Metro M4 featuring the Microchip ATSAMD51. This Metro is like a bullet train, with it's 120MHz Cortex M4 with floating point support. Your code will zig and zag and zoom, and with a bunch of extra peripherals for support, this will for sure be your favorite new chipset.
To start off our ATSAMD51 journey we decided to kick it off with the classic 'Arduino compatible' shape and pinout you know and love. This Metro is the same size as the others, and is compatible with all our shields. It's got analog pins where you expect, and SPI/UART/I2C hardware support in the same spot as the Metro 328 and M0. But! It's powered with an ATSAMD51J19:
- Cortex M4 core running at 120 MHz
- Hardware DSP and floating point support
- 512 KB flash, 192 KB RAM
- 32-bit, 3.3V logic and power
- Dual 1 MSPS DAC (A0 and A1)
- Dual 1 MSPS ADC (8 analog pins)
- 6 x hardware SERCOM (I2C, SPI or UART)
- 16 x PWM outputs
- Stereo I2S input/output with MCK pin
- 10-bit Parallel capture controller (for camera/video in)
- Built in crypto engines with AES (256 bit), true RNG, Pubkey controller
- 64 QFN
Pretty good start right? So we put this chip on a PCB with all these nice extras:
- Power the METRO M4 with 7-9V polarity protected DC or the micro USB connector to any 5V USB source. The 2.1mm DC jack has an on/off switch next to it so you can turn off your setup easily. The METRO will automagically switch between USB and DC.
- METRO has 25 GPIO pins, 8 of which are analog in, and two of which is a true analog out. There's a hardware SPI port, hardware I2C port and hardware UART. Logic level is 3.3V
- Native USB, there's no need for a hardware USB to Serial converter as the Metro M4 has built in USB support. When used to act like a serial device, the USB interface can be used by any computer to listen/send data to the METRO, and can also be used to launch and update code via the bootloader. It can also act like an HID keyboard or mouse.
- Four indicator LEDs and one NeoPixel, on the front edge of the PCB, for easy debugging. One green power LED, two RX/TX LEDs for data being sent over USB, and a red LED connected. Next to the reset button there is an RGB NeoPixel that can be used for any purpose.
- 2 MB QSPI Flash storage chip is included on board. You can use the SPI Flash storage like a very tiny hard drive. When used in Circuit Python, the 2 MB flash acts as storage for all your scripts, libraries and files. When used in Arduino, you can read/write files to it, like a little datalogger or SD card, and then with our helper program, access the files over USB.
- Easy reprogramming, comes pre-loaded with the UF2 bootloader, which looks like a USB storage key. Simply drag firmware on to program, no special tools or drivers needed! It can be used to load up CircuitPython or Arduino IDE (it is bossa v1.8 compatible)
We have a working Arduino board support package, with lots of stuff working, but our primary target for this board is CircuitPython - with 120 MHz, and 192KB of RAM CircuitPython runs really well on this chip! At this time, we have CircuitPython 3.0 alpha working, and adding more API parts every week.
We're starting off with a BETA marking on this board because this is the first development board with this chip so you can expect 'excitement', 'adventure' and 'oops that doesnt work in this silicon revision'! Here is our text when we first blogged about it
So what are you waiting for? Pick up a Metro M4 today and be amazed at how easy and fast it is to get started with CircuitPython! Check out our learning guide for more details, schematics, Fritzing objects, files and more!


Jargon buster
Plain-language definitions for the technical terms used above.
- ADC
- An analogue-to-digital converter reads a changing voltage and turns it into a number the microcontroller can use. It matters when connecting analogue sensors such as light, sound, or variable-resistor sensors.
- API
- An API is a software interface that lets a program control hardware or features provided by the operating system. In this product, API support matters if you want your software to adjust display settings such as brightness or contrast automatically.
- 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.
- DAC
- A digital-to-analogue converter turns numbers from the microcontroller into a real analogue voltage. It matters if you want to generate simple waveforms, audio-style signals, or variable control voltages rather than just on/off outputs.
- 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.
- 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.
- I2S
- I2S is a digital audio interface used to send sound data between chips, such as from a microcontroller to an audio amplifier or DAC. It matters if your project needs cleaner digital audio output than a basic buzzer or PWM signal can provide.
- 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 is a small electronic component that lights up when current flows through it in the correct direction. In this kit, LEDs create the flashing effect, so polarity and correct soldering matter for the project to work.
- 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.
- PCB
- A printed circuit board is a rigid board with copper tracks that connect electronic parts without loose wires. For this kit, the PCBs also form the airplane shape, so they are both the circuit base and part of the finished model.
- PWM
- Pulse Width Modulation is a way for a digital pin to simulate variable output power by switching on and off very quickly. It matters for controlling things like LED brightness, motor speed, or servo-style signals from a microcontroller pin.
- RAM
- RAM is temporary memory used while a device is running, and its contents are lost when power is removed. A “Run in RAM” mode is useful for testing settings without permanently programming the module, but it may not support every feature.
- RGB
- Short for red, green and blue, usually referring to an LED that can mix those three colours. It matters because controlling an RGB LED teaches how separate outputs combine to create different colours.
- 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.
- UART
- UART is a simple serial connection that sends data over separate transmit and receive wires, often labelled TX and RX. It matters because this module is designed to replace a wired UART cable with a wireless link while keeping the same serial data format.
- USB to serial converter
- A chip that turns the USB connection from your computer into serial data that the microcontroller can understand. It matters because this board uses it for programming and debugging instead of appearing as a direct native USB device such as a keyboard or mouse.
Find this product in
Brands
Related Tutorials
Free guides on learn.littlebird.com.au