SAMD21 Mini/Dev Breakout Hookup Guide
SAMD21 Mini Breakout Overview
This page focuses on the features of the SAMD21 Mini Breakout. No, you're not experiencing Déjà vu, a lot of this information is copied over from the previous section. If you've already learned everything you need to know about your SAMD21 Dev Breakout, skip ahead to the hardware setup section.
I/O Pins
We've pinned the Mini Breakout to match -- as much as possible -- our faithful Pro Mini and Pro Micro. The I/O and voltage rails are all broken out to a pair of breadboard-compatible headers. Power can be supplied, and the board can be programmed, through the micro-B USB connector.
Here's an overview of the pin breakouts. For more information, consult our graphical datasheet, which exhaustively shows the capability of each I/O pin, and some of the other features on the board.
Components on the top side of the board didn't leave room to label each-and-every pin. If you need a quick pin-number reference, flip the board over:
The standard I2C pins -- SDA and SCL -- are broken out to the inner area of the board, and the Single-Wire Debug (SWD) pins -- SWCLK and SWDIO -- are accessible via the 10-pin Cortex Debug port (though you may want to consider leaving those free for debugging).
⚡ 3.3V Logic Levels! When you start interfacing the SAMD21's I/O pins with external sensors and other components, keep in mind that each I/O will produce, at most, 3.3V for a high-level output.
When configured as an input, the maximum input voltage for each I/O is 3.6V (VDD+0.3V). If you're interfacing the SAMD21 with 5V devices, you may need some level shifters in between.
Supplying Power
Power can be supplied to the SAMD21 Mini Breakout through either USB or the VIN/GND pins.
The USB jack is of the micro-B variety, it should work with one of the many USB phone-charging cables you have lying around, or one of our Micro-B cables. You can plug the other end into a computer USB port, or use a USB Wall Adapter. The USB supply input includes a 500mA PTC resettable fuse -- if something on or connected to the breakout fails, it should help protect your supply from damage.
The VIN and GND pins are spaced by a standard 0.1" (2.54mm). If you want an easy way to connect or remove power, our 2.54mm Pitch 2-Pin Screw Terminals play the part well.
If you supply power via the VIN pin, make sure the voltage level is somewhere between 3.5 and 6V. The on-board AP2112K 3.3V regulator is low-noise, low-dropout, and can supply up to 600mA, but has a maximum input voltage of 6V.
Current Capabilities
Depending on the task it's given, the SAMD21's core will usually consume between 3-17mA. There should be plenty of juice left from the 600mA 3.3V regulator to power other sensors or components off the Breakout's 3.3V supply rail.
Each I/O pin can sink up to 10mA and source up to 7mA, with one caveat: each cluster of I/O is limited to sourcing 14mA or sinking 19.5mA. The GPIO clusters are:
Cluster | GPIO | Cluster Supply (Pin) | Cluster Ground (Pin) |
---|---|---|---|
1 | SWCLK, SWDIO | VDDIN (44) | GND (42) |
2 | 30, 31 (USB_HOST_EN, TX_LED) | VDDIN (44) VDDIO (36) | GND (42) GND (35) |
3 | D2, D5, D6, D7, D10, D11, D12, D13, D38 SCL, SDA, MISO, SCK, MOSI (USB_D-, USB_D+) | VDDIO (36) VDDIO (17) | GND (35) GND (18) |
4 | D0, D1, D3, D4 | VDDIO (17) | GND (18) |
5 | A1, A2, A3, A4 D8, D9 | VDDANA (6) | GNDANA (5) |
6 | A0, A5, AREF (RX_LED, RTC1, RTC2) | VDDANA (6) | GNDANA (5) |
So, for example, if you're sourcing current to four LEDs tied to pins 0, 1, 3, and 4 (cluster 4), the sum of that current must be less than 14mA (~3.5mA per LED).
LEDs
SAMD21 Mini Breakout has four LEDs occupying the corners of the board. There is a power indicator, a pin 13 "status" LED, and USB transmit and receive LED indicators.
The blue LED driven by the Arduino's pin 13 is actually sourced through an N-channel MOSFET, so less of our precious cluster-current is eaten up. The LED still turns on when you write the pin HIGH and off when pin 13 is LOW. Unfortunately, the MOSFET's gate is floating, so if the Arduino pin is set as an input you may still see the LED turn on.
The RX and TX LEDs -- though not yet fully implemented -- indicate activity on the USB serial port as the Arduino is being programmed via bootloader. They are also addressable within an Arduino sketch, using the macros PIN_LED_RXL
and PIN_LED_TXL
. These LEDs are active-low, so writing the pin HIGH will turn the LED off.
Cortex SWD Debug Port
If you want to step your SAMD21-development game up, consider grabbing an ARM debugger/programmer and interfacing it with the SAMD21's Cortex Debug port.
These pins break out the Cortex Debug Port -- a single-wire debug (SWD) interface -- to a standardized 10-pin, 0.05"-pitch connector. These are polarized/non-polarized female connectors and male connectors available to connecto an ARM programmer's SWD cable.
Any ARM debugger/programmer should work with this port -- just make sure the interface cable is pin-compatible. We highly recommend the awesome, multi-architecture-supporting Atmel JTAG ICE.