The MS5611-01BA03 GY-63 is a high-resolution barometric pressure sensor module designed for precise atmospheric pressure and temperature measurements. It integrates the MS5611-01BA03 sensor with additional circuitry to simplify interfacing with microcontrollers. The module is widely used in applications such as:
The GY-63 module provides I²C and SPI communication interfaces, making it versatile and easy to integrate into various projects.
Parameter | Value |
---|---|
Operating Voltage | 3.3V to 5V |
Communication Interface | I²C (default) and SPI |
Pressure Range | 10 mbar to 1200 mbar |
Pressure Resolution | Up to 0.012 mbar |
Temperature Range | -40°C to +85°C |
Temperature Resolution | 0.01°C |
Current Consumption | 1.25 µA (standby), 1.4 mA (active mode) |
Dimensions | 15mm x 13mm |
The GY-63 module has 6 pins, as described in the table below:
Pin Name | Description |
---|---|
VCC | Power supply input (3.3V to 5V) |
GND | Ground connection |
SCL | Serial Clock Line for I²C communication or SPI clock input (SCK) |
SDA | Serial Data Line for I²C communication or SPI data input/output (MOSI/MISO) |
CSB | Chip Select for SPI (active low). Tie to VCC for I²C mode (default) |
PS | Protocol Select: Connect to GND for SPI, or VCC for I²C (default) |
VCC
pin to a 3.3V or 5V power source and the GND
pin to ground.SCL
pin to the I²C clock line of your microcontroller.SDA
pin to the I²C data line of your microcontroller.CSB
and PS
pins to VCC
.SCL
pin to the SPI clock (SCK) of your microcontroller.SDA
pin to the SPI data line (MOSI/MISO).CSB
pin to a GPIO pin on your microcontroller for chip select.PS
pin to GND
.SCL
and SDA
lines.0x76
or 0x77
(depending on the module configuration).#include <Wire.h>
// I2C address of the MS5611 sensor
#define MS5611_ADDRESS 0x76
void setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Start serial communication for debugging
// Reset the sensor
Wire.beginTransmission(MS5611_ADDRESS);
Wire.write(0x1E); // Reset command
Wire.endTransmission();
delay(10); // Wait for reset to complete
}
void loop() {
// Request pressure data
Wire.beginTransmission(MS5611_ADDRESS);
Wire.write(0x48); // Command to start pressure conversion (OSR=4096)
Wire.endTransmission();
delay(10); // Wait for conversion to complete
// Read pressure data
Wire.beginTransmission(MS5611_ADDRESS);
Wire.write(0x00); // Command to read ADC result
Wire.endTransmission();
Wire.requestFrom(MS5611_ADDRESS, 3); // Request 3 bytes of data
if (Wire.available() == 3) {
uint32_t pressure = 0;
pressure = Wire.read(); // MSB
pressure = (pressure << 8) | Wire.read(); // LSB
pressure = (pressure << 8) | Wire.read(); // XLSB
pressure = pressure >> 4; // 20-bit result
Serial.print("Pressure (raw): ");
Serial.println(pressure);
}
delay(1000); // Wait 1 second before the next reading
}
No Data from the Sensor:
VCC
and GND
pins are properly connected.0x76
or 0x77
) matches the module's configuration.SCL
and SDA
lines.Incorrect Pressure or Temperature Readings:
Communication Errors:
PS
pin) and wiring.Q: Can the GY-63 module operate at 5V logic levels?
A: Yes, the module includes a voltage regulator and level shifters, allowing it to work with 3.3V and 5V systems.
Q: How do I switch between I²C and SPI modes?
A: Set the PS
pin to VCC
for I²C mode (default) or GND
for SPI mode. Ensure the CSB
pin is configured accordingly.
Q: What is the maximum altitude the sensor can measure?
A: The sensor can measure up to approximately 9,000 meters above sea level, depending on atmospheric conditions.
Q: Can I use the GY-63 module outdoors?
A: Yes, but ensure the module is protected from moisture and extreme environmental conditions.