ATMEGA328P
ATMEGA328P
3.3V
3.3V to 12V
8 MHz
32 KB
2 KB
1 KB
14 digital, 6 analog
UART, SPI, I2C
33.5 mm x 17.5 mm
5 grams
Applications
| The Arduino Pro Mini 3.3V 8M ATMEGA328P compatible board is suitable for a wide range of applications, including |
IoT devices
Robotics
Automation
Wearables
Prototyping
Embedded systems
Battery-powered devices
Conclusion
The Arduino Pro Mini 3.3V 8M ATMEGA328P compatible board is a compact, low-power microcontroller board that is ideal for IoT and embedded systems applications. Its small form factor, low power consumption, and ease of use make it a popular choice among hobbyists and professionals alike.
Arduino Pro Mini 3.3V 8M ATMEGA328P Compatible Board DocumentationOverviewThe Arduino Pro Mini 3.3V 8M ATMEGA328P compatible board is a compact, low-power microcontroller board based on the popular Arduino platform. It features the ATMEGA328P microcontroller, 8MHz clock speed, and 3.3V operating voltage. This board is suitable for a wide range of IoT applications, including robotics, automation, and wearable electronics.Technical SpecificationsMicrocontroller: ATMEGA328P
Clock Speed: 8MHz
Operating Voltage: 3.3V
Digital I/O Pins: 14
Analog Input Pins: 6
Flash Memory: 32KB
SRAM: 2KB
EEPROM: 1KB
USART: 1
I2C: 1
SPI: 1Code Examples### Example 1: Blinking LEDThis example demonstrates how to use the Arduino Pro Mini to control an LED. Connect an LED to digital pin 13 and a 220 resistor to ground.```c
const int ledPin = 13; // Pin 13 for the LEDvoid setup() {
pinMode(ledPin, OUTPUT); // Set pin 13 as an output
}void loop() {
digitalWrite(ledPin, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(ledPin, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
```### Example 2: Reading Analog Sensor ValuesThis example demonstrates how to use the Arduino Pro Mini to read analog sensor values. Connect a potentiometer or a light sensor to analog pin A0.```c
const int sensorPin = A0; // Pin A0 for the sensorvoid setup() {
Serial.begin(9600); // Initialize serial communication
}void loop() {
int sensorValue = analogRead(sensorPin); // Read the sensor value
Serial.print("Sensor value: ");
Serial.println(sensorValue); // Print the sensor value to the serial monitor
delay(500); // Wait for 0.5 seconds
}
```### Example 3: I2C Communication with a Sensor ModuleThis example demonstrates how to use the Arduino Pro Mini to communicate with an I2C sensor module, such as a temperature and humidity sensor. Connect the sensor module to the I2C pins (SDA and SCL) on the board.```c
#include <Wire.h>const int sensorAddress = 0x40; // Address of the sensor modulevoid setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Initialize serial communication
}void loop() {
Wire.beginTransmission(sensorAddress);
Wire.write(0x00); // Send a request for temperature and humidity data
Wire.endTransmission();
Wire.requestFrom(sensorAddress, 4); // Receive 4 bytes of data
int temperature = Wire.read() << 8 | Wire.read();
int humidity = Wire.read() << 8 | Wire.read();
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");
delay(1000); // Wait for 1 second
}
```Note: These examples assume that you have the Arduino IDE installed and have selected the correct board and serial port in the IDE.