The Feather M0 Bluefruit is chock-full of microcontroller goodness. There's also a lot of pins and ports. We'll take you a tour of them now!
- GND - this is the common ground for all power and logic
- BAT - this is the positive voltage to/from the JST jack for the optional Lipoly battery
- USB - this is the positive voltage to/from the micro USB jack if connected
- EN - this is the 3.3V regulator's enable pin. It's pulled up, so connect to ground to disable the 3.3V regulator
- 3V - this is the output from the 3.3V regulator, it can supply 500mA peak
This is the general purpose I/O pin set for the microcontroller.
All logic is 3.3V
Nearly all pins can do PWM output
All pins can be interrupt inputs
- #0 / RX - GPIO #0, also receive (input) pin for Serial1 (hardware UART), also can be analog input
#1 / TX - GPIO #1, also transmit (output) pin for Serial1, also can be analog input
- #20 / SDA - GPIO #20, also the I2C (Wire) data pin. There's no pull up on this pin by default so when using with I2C, you may need a 2.2K-10K pullup.
- #21 / SCL - GPIO #21, also the I2C (Wire) clock pin. There's no pull up on this pin by default so when using with I2C, you may need a 2.2K-10K pullup.
- #5 - GPIO #5
- #6 - GPIO #6
- #9 - GPIO #9, also analog input A7. This analog input is connected to a voltage divider for the lipoly battery so be aware that this pin naturally 'sits' at around 2VDC due to the resistor divider
- #10 - GPIO #10
- #11 - GPIO #11
- #12 - GPIO #12
- #13 - GPIO #13 and is connected to the red LED next to the USB jack
- A0 - This pin is analog input A0 but is also an analog output due to having a DAC (digital-to-analog converter). You can set the raw voltage to anything from 0 to 3.3V, unlike PWM outputs this is a true analog output
- A1 thru A5 - These are each analog input as well as digital I/O pins.
- SCK/MOSI/MISO (GPIO 24/23/22)- These are the hardware SPI pins, you can use them as everyday GPIO pins (but recommend keeping them free as they are best used for hardware SPI connections for high speed and are shared with the BLE)
Since not all pins can be brought out to breakouts, due to the small size of the Feather, we use these to control the BLE module
- #8 - used as the Bluefruit CS (chip select) pin
- #7 - used as the Bluefruit IRQ (interrupt request) pin.
- #4 - used as the Bluefruit Reset pin
Since these are not brought out there should be no risk of using them by accident!
- RST - this is the Reset pin, tie to ground to manually reset the ATSAMD, as well as launch the bootloader manually
- ARef - the analog reference pin. Normally the reference voltage is the same as the chip logic voltage (3.3V) but if you need an alternative analog reference, connect it to this pin and select the external AREF in your firmware. Can't go higher than 3.3V!
- DFU - this is the force-DFU (device firmware upgrade) pin for over-the-air updates to the Bluefruit module. You probably don't need to use this but its available if you need to upgrade! Check out the DFU Bluefruit Upgrades page for how to use it. Otherwise, keep it disconnected.
There's two sets of SWD pins. These are used for program/debug of the two processors on the Feather.
The round pads on the right are for the ATSAMD21G18 (main processor). The rectangular pads to the left are for the nrf51822 inside the BLE module.
You cannot connect these together to debug both at the same time!
The (somewhat deceptively labeled) 'Reset' pad on the bottom of the PCB beside SWCLK and SWDIO is for Factory Reset. Connecting this pad to GND at startup will perform a factory reset, erasing any config settings and may be useful trying to recover a device in a faulty state. Be sure to remove the connection to GND after the first power cycle.