Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Adafruit Feather M0 Adalogger: Examples, Pinouts, and Specs

Image of Adafruit Feather M0 Adalogger
Cirkit Designer LogoDesign with Adafruit Feather M0 Adalogger in Cirkit Designer

Introduction

The Adafruit Feather M0 Adalogger (Part ID: 2796) is a compact and versatile microcontroller board designed for low-power applications. It features an ARM Cortex-M0 processor and includes an onboard SD card slot for data logging, making it ideal for projects that require data storage and portability. The board is part of Adafruit's Feather ecosystem, which emphasizes small form factors and compatibility with a wide range of FeatherWing add-ons.

Explore Projects Built with Adafruit Feather M0 Adalogger

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Solar-Powered Environmental Data Logger with Adafruit Feather M0 Express
Image of Lake Thoreau Monitoring Station: A project utilizing Adafruit Feather M0 Adalogger in a practical application
This circuit is designed for environmental data collection and logging, utilizing an Adafruit Feather M0 Express microcontroller as the central processing unit. It interfaces with a BME280 sensor for atmospheric temperature, humidity, and pressure measurements, an SGP30 sensor for monitoring air quality (eCO2 and TVOC), and a STEMMA soil sensor for detecting soil moisture and temperature. The system is powered by a solar panel and a 3.7v LiPo battery, managed by an Adafruit BQ24074 Solar-DC-USB Lipo Charger, and provides easy access to the microcontroller's connections through an Adafruit Terminal Breakout FeatherWing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Multi-Sensor Health Monitoring System with Adafruit Feather M0 Adalogger
Image of health tracker: A project utilizing Adafruit Feather M0 Adalogger in a practical application
This circuit is designed to interface multiple sensors with an Adafruit Feather M0 Adalogger microcontroller for data logging purposes. The sensors include a MAX30205 temperature sensor, a body dehydration sensor, a MAX30102 pulse oximeter, an Adafruit LSM6DSOX 6-axis accelerometer and gyroscope, and an Adafruit BME680 environmental sensor. All sensors are connected to the microcontroller via an I2C bus, sharing the SDA and SCL lines for communication.
Cirkit Designer LogoOpen Project in Cirkit Designer
Touch-Sensitive Interface with Adafruit MPR121 and Feather 32u4 Bluefruit
Image of MPR121: A project utilizing Adafruit Feather M0 Adalogger in a practical application
This circuit integrates an Adafruit MPR121 capacitive touch sensor with an Adafruit Feather 32u4 Bluefruit microcontroller. The MPR121 is powered by the Feather and communicates via I2C (SCL and SDA) to detect touch inputs, which can be processed or transmitted wirelessly by the Feather.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Vibration Feedback System with Quad Alphanumeric Display and ADXL343 Accelerometer
Image of EC444 - Quest 3: A project utilizing Adafruit Feather M0 Adalogger in a practical application
This circuit features an Adafruit HUZZAH32 ESP32 Feather board as the central microcontroller, which is connected to an Adafruit Quad AlphaNumeric Featherwing display and an Adafruit ADXL343 accelerometer via I2C communication (SCL and SDA lines). The ESP32 controls a vibration motor connected to one of its GPIO pins (A5_IO4) and shares a common power supply (3.3V) and ground (GND) with the other components. The purpose of this circuit is likely to read acceleration data, display information on the alphanumeric display, and provide haptic feedback through the vibration motor.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit Feather M0 Adalogger

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Lake Thoreau Monitoring Station: A project utilizing Adafruit Feather M0 Adalogger in a practical application
Solar-Powered Environmental Data Logger with Adafruit Feather M0 Express
This circuit is designed for environmental data collection and logging, utilizing an Adafruit Feather M0 Express microcontroller as the central processing unit. It interfaces with a BME280 sensor for atmospheric temperature, humidity, and pressure measurements, an SGP30 sensor for monitoring air quality (eCO2 and TVOC), and a STEMMA soil sensor for detecting soil moisture and temperature. The system is powered by a solar panel and a 3.7v LiPo battery, managed by an Adafruit BQ24074 Solar-DC-USB Lipo Charger, and provides easy access to the microcontroller's connections through an Adafruit Terminal Breakout FeatherWing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of health tracker: A project utilizing Adafruit Feather M0 Adalogger in a practical application
Multi-Sensor Health Monitoring System with Adafruit Feather M0 Adalogger
This circuit is designed to interface multiple sensors with an Adafruit Feather M0 Adalogger microcontroller for data logging purposes. The sensors include a MAX30205 temperature sensor, a body dehydration sensor, a MAX30102 pulse oximeter, an Adafruit LSM6DSOX 6-axis accelerometer and gyroscope, and an Adafruit BME680 environmental sensor. All sensors are connected to the microcontroller via an I2C bus, sharing the SDA and SCL lines for communication.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of MPR121: A project utilizing Adafruit Feather M0 Adalogger in a practical application
Touch-Sensitive Interface with Adafruit MPR121 and Feather 32u4 Bluefruit
This circuit integrates an Adafruit MPR121 capacitive touch sensor with an Adafruit Feather 32u4 Bluefruit microcontroller. The MPR121 is powered by the Feather and communicates via I2C (SCL and SDA) to detect touch inputs, which can be processed or transmitted wirelessly by the Feather.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of EC444 - Quest 3: A project utilizing Adafruit Feather M0 Adalogger in a practical application
ESP32-Based Vibration Feedback System with Quad Alphanumeric Display and ADXL343 Accelerometer
This circuit features an Adafruit HUZZAH32 ESP32 Feather board as the central microcontroller, which is connected to an Adafruit Quad AlphaNumeric Featherwing display and an Adafruit ADXL343 accelerometer via I2C communication (SCL and SDA lines). The ESP32 controls a vibration motor connected to one of its GPIO pins (A5_IO4) and shares a common power supply (3.3V) and ground (GND) with the other components. The purpose of this circuit is likely to read acceleration data, display information on the alphanumeric display, and provide haptic feedback through the vibration motor.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Environmental data logging (e.g., temperature, humidity, pressure)
  • IoT (Internet of Things) devices
  • Portable and battery-powered projects
  • Prototyping with sensors and actuators
  • Educational projects and workshops

Technical Specifications

The Adafruit Feather M0 Adalogger is packed with features that make it suitable for a variety of applications. Below are its key technical details:

Key Technical Details

  • Microcontroller: ATSAMD21G18 ARM Cortex-M0, 32-bit
  • Operating Voltage: 3.3V
  • Clock Speed: 48 MHz
  • Flash Memory: 256 KB
  • SRAM: 32 KB
  • Power Supply: USB or LiPo battery (3.7V)
  • SD Card Slot: Supports microSD cards for data logging
  • Connectivity: Native USB support
  • GPIO Pins: 20 (including analog and digital pins)
  • Analog Inputs: 6 (12-bit ADC)
  • PWM Outputs: 8
  • I2C, SPI, UART: Supported
  • Dimensions: 51mm x 23mm x 8mm
  • Weight: 5.7g

Pin Configuration and Descriptions

The Adafruit Feather M0 Adalogger has a total of 20 GPIO pins, each with specific functions. Below is a detailed pinout:

Pin Label Function
1 A0 - A5 Analog inputs (12-bit ADC), can also be used as digital I/O
2 D0 - D13 Digital I/O pins, some with PWM capability
3 SDA, SCL I2C communication pins
4 MOSI, MISO, SCK SPI communication pins
5 RX, TX UART communication pins for serial data
6 3V3, GND Power pins (3.3V output and ground)
7 BAT Battery voltage monitoring pin
8 EN Enable pin to turn the board on/off
9 USB USB power input and data communication
10 LIPO LiPo battery connector for portable power

Usage Instructions

The Adafruit Feather M0 Adalogger is easy to use and integrates seamlessly with the Arduino IDE. Below are the steps to get started and important considerations for using the board effectively.

How to Use the Component in a Circuit

  1. Powering the Board:

    • Connect the board to your computer via a micro-USB cable for power and programming.
    • Alternatively, connect a 3.7V LiPo battery to the JST connector for portable operation.
  2. Programming the Board:

    • Install the Arduino IDE and add the Adafruit SAMD Boards package via the Board Manager.
    • Select "Adafruit Feather M0" as the board type in the Arduino IDE.
    • Write your code and upload it to the board using the USB connection.
  3. Connecting Peripherals:

    • Use the GPIO pins to connect sensors, actuators, or other peripherals.
    • For data logging, insert a microSD card into the onboard SD card slot.
  4. Data Logging Example:

    • Below is an example Arduino sketch for logging temperature data to an SD card using a DHT22 sensor:
#include <SPI.h>
#include <SD.h>
#include <DHT.h>

// Define SD card chip select pin
#define SD_CS 4

// Define DHT sensor pin and type
#define DHTPIN 2
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);
File dataFile;

void setup() {
  Serial.begin(9600);
  while (!Serial) {
    // Wait for Serial Monitor to open
  }

  // Initialize DHT sensor
  dht.begin();

  // Initialize SD card
  if (!SD.begin(SD_CS)) {
    Serial.println("SD card initialization failed!");
    return;
  }
  Serial.println("SD card initialized.");
}

void loop() {
  // Read temperature and humidity
  float temp = dht.readTemperature();
  float humidity = dht.readHumidity();

  // Check if readings are valid
  if (isnan(temp) || isnan(humidity)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  // Open file for writing
  dataFile = SD.open("datalog.txt", FILE_WRITE);
  if (dataFile) {
    // Write data to file
    dataFile.print("Temperature: ");
    dataFile.print(temp);
    dataFile.print(" *C, Humidity: ");
    dataFile.print(humidity);
    dataFile.println(" %");
    dataFile.close(); // Close file
    Serial.println("Data logged.");
  } else {
    Serial.println("Error opening datalog.txt!");
  }

  delay(2000); // Wait 2 seconds before next reading
}

Important Considerations and Best Practices

  • Power Supply: Ensure the board is powered with a stable 3.3V source. Avoid exceeding the voltage limits to prevent damage.
  • SD Card Formatting: Format the microSD card to FAT16 or FAT32 before use.
  • Battery Monitoring: Use the BAT pin to monitor the LiPo battery voltage for low-power applications.
  • Pin Voltage Levels: The GPIO pins operate at 3.3V logic levels. Avoid connecting 5V signals directly to the pins.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Board Not Recognized by Arduino IDE:

    • Ensure the correct board type ("Adafruit Feather M0") is selected in the IDE.
    • Install the Adafruit SAMD Boards package via the Board Manager.
  2. SD Card Initialization Fails:

    • Check the SD card connection and ensure it is properly inserted.
    • Verify that the SD card is formatted to FAT16 or FAT32.
  3. Sensor Readings Are NaN:

    • Ensure the sensor is connected to the correct pins and powered properly.
    • Verify the sensor type and pin definitions in the code.
  4. Board Not Powering On:

    • Check the USB cable and port for proper connection.
    • If using a battery, ensure it is charged and connected to the JST connector.

FAQs

Q: Can I use the Feather M0 Adalogger with 5V sensors?
A: The Feather M0 operates at 3.3V logic levels. Use a level shifter to interface with 5V sensors.

Q: What is the maximum SD card size supported?
A: The board supports microSD cards up to 32GB formatted in FAT16 or FAT32.

Q: Can I use the board without a battery?
A: Yes, the board can be powered via USB without a battery. However, a battery is required for portable applications.

Q: How do I reset the board?
A: Press the reset button on the board to restart the microcontroller.

This concludes the documentation for the Adafruit Feather M0 Adalogger. For additional support, visit the Adafruit Learning System.