Important NoteThis entire repo was AI created - including all of the data within. The intent was to A) help me with my personal electronics inventory; and B) see how I could use AI to make that process a bit easier. DO NOT TRUST!
Adafruit Metro M4 Express feat. Microchip ATSAMD51

Overview
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 its 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.
Specifications
- Processor: ATSAMD51J19 Cortex M4 @ 120MHz
- Architecture: 32-bit ARM Cortex M4 with FPU
- Flash Memory: 512KB
- RAM: 192KB
- QSPI Flash: 2MB for CircuitPython storage
- Operating Voltage: 3.3V logic and power
- Input Voltage: 7-9V DC or 5V USB
- Dimensions: 72.0mm x 54.0mm x 15.0mm / 2.8” x 2.1” x 0.6”
- Weight: 20.6g / 0.7oz
Key Features
High-Performance Processor
- 120MHz Cortex M4: Fastest Metro board ever
- Floating Point Unit: Hardware floating point support
- DSP Instructions: Cortex M4 DSP capabilities
- Large Memory: 512KB Flash and 192KB RAM
- 32-bit Architecture: High-performance computing
Advanced Peripherals
- Dual 1 MSPS DAC: True analog outputs on A0 and A1
- Dual 1 MSPS ADC: High-speed analog inputs (8 pins)
- 6 x Hardware SERCOM: Configurable I2C, SPI, or UART
- 22 x PWM Outputs: Extensive PWM capabilities
- Stereo I2S: Audio input/output with MCK pin
- Parallel Capture: 10-bit camera/video input controller
Security and Crypto
- Built-in Crypto: Hardware encryption engines
- AES 256-bit: Hardware AES encryption
- True RNG: Hardware random number generator
- Pubkey Controller: Public key cryptography support
- Secure Boot: Hardware security features
Connectivity and Storage
- Native USB: Built-in USB support, no FTDI needed
- 2MB QSPI Flash: External storage for files and libraries
- UF2 Bootloader: Drag-and-drop programming
- Arduino Compatible: Works with Arduino IDE
- CircuitPython: Primary target platform
Hardware Components
Power Management
- Auto Power Selection: USB or DC input
- 7-9V DC Input: 2.1mm jack with on/off switch
- USB Power: 5V from micro USB connector
- 3.3V Logic: All I/O operates at 3.3V
- Power LEDs: Visual power indicators
User Interface
- 4 Indicator LEDs: Power, RX/TX, and user LED
- 1 NeoPixel: RGB LED for status and effects
- Reset Button: Manual reset capability
- Boot Button: Enter bootloader mode
- Rubber Bumpers: Included to prevent sliding
Expansion and Connectivity
- 25 GPIO Pins: Extensive I/O capabilities
- Arduino Shield Compatible: Standard shield pinout
- Breadboard Friendly: Easy prototyping
- Mounting Holes: Secure mechanical attachment
Software Support
CircuitPython
- Primary Platform: Optimized for CircuitPython
- 120MHz Performance: Fast Python execution
- 192KB RAM: Plenty of memory for complex programs
- 2MB Storage: Store libraries, files, and data
- Real-time Performance: Hardware-accelerated operations
Arduino IDE
- Full Support: Complete Arduino IDE compatibility
- Board Package: Adafruit SAMD boards package
- Library Support: Access to Arduino ecosystem
- Fast Compilation: Quick development cycle
- Hardware Libraries: Optimized peripheral libraries
Development Features
- UF2 Bootloader: Drag-and-drop programming
- Native USB: No drivers needed
- Serial Monitor: Built-in debugging
- File System: Access QSPI flash as drive
- REPL: Interactive Python development
Pin Configuration
Digital I/O (25 pins)
- GPIO: All pins can be digital I/O
- PWM: 22 pins support PWM output
- Interrupt: Most pins support interrupts
- 3.3V Logic: All pins operate at 3.3V
- Current: 7mA source/sink per pin
Analog Capabilities
- 8 Analog Inputs: 12-bit ADC resolution
- 2 Analog Outputs: 10-bit DAC on A0 and A1
- High Speed: 1 MSPS sampling rate
- Reference: Internal or external voltage reference
- Differential: Some pins support differential input
Communication Interfaces
- 6 SERCOM: Configurable as I2C, SPI, or UART
- Hardware I2C: Dedicated I2C interfaces
- Hardware SPI: High-speed SPI communication
- Hardware UART: Multiple serial ports
- I2S Audio: Stereo audio interface
Memory Architecture
Flash Memory (512KB)
- Program Storage: User code and libraries
- Bootloader: UF2 bootloader space
- Large Capacity: Room for complex applications
- Fast Access: High-speed program execution
RAM (192KB)
- Variable Storage: Runtime data and buffers
- Large Capacity: Support for complex data structures
- Fast Access: Zero-wait-state memory
- DMA Support: Direct memory access capabilities
QSPI Flash (2MB)
- File Storage: CircuitPython files and libraries
- Data Logging: Store sensor data and logs
- User Files: Images, sounds, configuration
- USB Access: Appears as USB drive
Performance Features
Processing Power
- 120MHz Clock: Fastest Metro board
- Floating Point: Hardware FPU for math operations
- DSP Instructions: Signal processing capabilities
- 32-bit Operations: Efficient data handling
- Pipeline: Advanced ARM Cortex M4 pipeline
Real-time Capabilities
- Hardware Timers: Precise timing control
- DMA Controllers: Background data transfers
- Interrupt System: Fast response to events
- Real-time Clock: Accurate timekeeping
- Event System: Hardware event routing
Audio and Video
- I2S Interface: High-quality audio I/O
- Parallel Capture: Camera and video input
- DAC Output: True analog audio output
- PWM Audio: Software audio generation
- DMA Audio: Background audio processing
Applications
High-Performance Projects
- Audio Processing: Real-time audio effects
- Signal Processing: DSP applications
- Data Acquisition: High-speed sensor reading
- Control Systems: Precise motor control
- Communication: Multiple protocol handling
CircuitPython Projects
- Interactive Displays: Graphics and animations
- IoT Devices: Connected sensors and actuators
- Educational Tools: Learning programming
- Rapid Prototyping: Quick project development
- Art Installations: Interactive art projects
Arduino Projects
- Advanced Robotics: Complex robot control
- Scientific Instruments: Data collection systems
- Industrial Control: Process automation
- Communication Hubs: Multi-protocol gateways
- Real-time Systems: Time-critical applications
Power Specifications
Input Power
- USB Power: 5V from micro USB (500mA max)
- DC Power: 7-9V from 2.1mm jack
- Auto Selection: Automatic power source switching
- Power Switch: On/off control for DC input
Power Consumption
- Active Mode: ~50mA typical operation
- Sleep Modes: Various low-power modes available
- Peripheral Power: Additional current for active peripherals
- USB Power: Can power moderate loads from USB
Getting Started
Basic Setup
- Install CircuitPython: Download latest firmware
- Connect USB: Use micro USB cable
- Install Libraries: Add required libraries
- Run Examples: Start with built-in examples
- Develop Projects: Create custom applications
Arduino Setup
- Install Arduino IDE: Download latest version
- Add Board Package: Install Adafruit SAMD boards
- Select Board: Choose “Adafruit Metro M4”
- Install Libraries: Add required libraries
- Upload Sketches: Program via USB
Package Contents
- 1x Adafruit Metro M4 Express board
- 4x Rubber bumpers
- Documentation and getting started guide
- Pre-loaded UF2 bootloader
Important Notes
- 3.3V Logic: Not 5V tolerant, use level shifters if needed
- Power Requirements: Check current needs for connected devices
- Shield Compatibility: Most Arduino shields work with level shifting
- Heat Generation: May get warm during intensive processing
- CircuitPython Recommended: Optimized for CircuitPython development
Advantages
- Highest Performance: Fastest Metro board available
- Large Memory: Plenty of Flash and RAM
- Advanced Features: Crypto, audio, video capabilities
- Dual Platform: Both CircuitPython and Arduino support
- Professional Quality: High-quality construction and components
Recommended Accessories
- Micro USB cable for programming
- 9V DC power adapter for standalone operation
- Level shifters for 5V device compatibility
- Sensors and actuators for projects
- Arduino shields (with level shifting if needed)