

The Adafruit Feather RP2040 Adalogger (Manufacturer Part ID: 5980) is a compact and versatile microcontroller board based on the Raspberry Pi RP2040 chip. Designed for low-power applications, it features built-in data logging capabilities, including an SD card slot for convenient storage. This board is part of Adafruit's Feather ecosystem, making it compatible with a wide range of FeatherWing add-ons for extended functionality.








The Adafruit Feather RP2040 Adalogger is packed with features to support a variety of applications. Below are its key technical details:
The Adafruit Feather RP2040 Adalogger has a standard Feather pinout. Below is the pin configuration:
| Pin | Name | Description |
|---|---|---|
| 1 | USB | USB-C connector for power and programming |
| 2 | BAT | LiPo battery input (3.7V nominal) |
| 3 | 3V3 | 3.3V regulated output |
| 4 | GND | Ground |
| 5 | GPIO 0-20 | General-purpose I/O pins (3.3V logic) |
| 6 | A0-A3 | Analog input pins (12-bit ADC) |
| 7 | SCL/SDA | I2C clock and data lines |
| 8 | MOSI/MISO/SCK | SPI communication pins |
| 9 | RX/TX | UART receive and transmit pins |
| 10 | SD_CS | Chip select for the microSD card slot |
| 11 | EN | Enable pin to turn the board on/off |
| 12 | RST | Reset pin to restart the microcontroller |
Powering the Board:
Programming the Board:
Connecting Peripherals:
Data Logging:
Below is an example of how to log data to the SD card using the Arduino IDE:
#include <SPI.h>
#include <SD.h>
// Define the chip select pin for the SD card
const int chipSelect = 10;
void setup() {
// Initialize serial communication
Serial.begin(115200);
while (!Serial) {
// Wait for the serial port to connect
}
Serial.println("Initializing SD card...");
// Initialize the SD card
if (!SD.begin(chipSelect)) {
Serial.println("SD card initialization failed!");
return;
}
Serial.println("SD card initialized successfully.");
// Create or open a file on the SD card
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// Check if the file opened successfully
if (dataFile) {
dataFile.println("Hello, SD card!");
dataFile.close(); // Close the file to save changes
Serial.println("Data written to SD card.");
} else {
Serial.println("Error opening datalog.txt!");
}
}
void loop() {
// Nothing to do here
}
SD Card Not Detected:
Board Not Recognized by Computer:
Power Issues:
Code Upload Fails: