ESP32Advanced
MPU6050 Accelerometer
Track orientation, roll, and pitch by querying a 6-axis MPU6050 sensor.
Target AI Prompt
"Monitor orientation using MPU6050 gyroscope on ESP32 I2C pins (SDA GPIO21, SCL GPIO22)."
Hardware Connections
MPU6050 VCCChip power supply
3.3VMPU6050 GNDGround pin
GNDMPU6050 SDAESP32 default SDA
GPIO 21MPU6050 SCLESP32 default SCL
GPIO 22Logic Explanation
Configures custom I2C pins on the ESP32 (GPIO21 and GPIO22) to query the accelerometer and gyroscope vectors from the MPU6050 chip.
Verified AuthorEmbedino Hardware FleetVerified expert compilation & hardware validation.
main.cpp
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
Adafruit_MPU6050 mpu;
void setup(void) {
Serial.begin(115200);
Wire.begin(21, 22); // Custom I2C pins for ESP32
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 chip");
while (1) { delay(10); }
}
mpu.setAccelerometerRange(MPU6050_RANGE_8_G);
mpu.setGyroRange(MPU6050_RANGE_500_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
}
void loop() {
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
Serial.print("Acceleration X: ");
Serial.print(a.acceleration.x);
Serial.print(", Y: ");
Serial.print(a.acceleration.y);
Serial.print(", Z: ");
Serial.print(a.acceleration.z);
Serial.println(" m/s^2");
delay(500);
}Compile & Flash Online
Connect your ESP32 and flash this exact example directly inside our web console.
Launch App Workspace →