The Adafruit Feather 328P is a versatile and compact development board that harnesses the power of the ATmega328P microcontroller, the same MCU found in the popular Arduino Uno. This board is part of the Feather ecosystem, a series of development boards by Adafruit that are thin, light, and feature a built-in USB and battery charging. The Feather 328P is particularly well-suited for portable projects, wearables, and low-power applications that require a balance between performance and energy efficiency.
Pin Number | Function | Description |
---|---|---|
1 | GND | Ground |
2 | BAT | Battery + (for battery input) |
3 | EN | Enable pin for regulator |
4 | USB | USB + (for USB voltage input) |
5-14 | Digital I/O | Digital input/output pins (D0-D9) |
15-20 | Analog Input | Analog input pins (A0-A5) |
21-22 | I2C | SDA (Data) and SCL (Clock) for I2C communication |
23-24 | SPI | MOSI and SCK for SPI communication |
25 | RX0 | Receive pin for serial communication |
26 | TX0 | Transmit pin for serial communication |
27 | RST | Reset pin |
28 | 3V3 | 3.3V output from the regulator |
29 | AREF | Analog reference voltage |
30 | SCK | SPI Clock |
31 | MISO | SPI Master In Slave Out |
Powering the Board:
Programming the Board:
Connecting Peripherals:
Board not recognized by computer:
Incorrect voltage readings:
Program not running as expected:
Q: Can I use the Arduino Uno code with the Feather 328P? A: Yes, most code written for the Arduino Uno will work with the Feather 328P, as they share the same microcontroller.
Q: How do I charge the connected LiPo battery? A: The Feather 328P has a built-in charging circuit. Simply connect the battery and power the board via USB.
Q: What is the maximum battery voltage that can be connected to the BAT pin? A: The maximum battery voltage should not exceed 6V.
Q: Can I use the Feather 328P with 5V components? A: The Feather 328P operates at 3.3V. Use level shifters or check if the 5V components are 3.3V compatible before connecting them directly.
// Blink example for Adafruit Feather 328P
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED pin as an output
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // Turn the LED on
delay(1000); // Wait for a second
digitalWrite(LED_BUILTIN, LOW); // Turn the LED off
delay(1000); // Wait for a second
}
Remember to select the correct board and processor before uploading the code to the Adafruit Feather 328P. This example will blink the onboard LED and is a simple test to verify that your setup is working correctly.