Overview
SPMOD - Weather (Weather station module), Integrated Magnetic sensor (QMC7983) and Humidity sensor (BME280)
SPMOD - Weather Introduction
- Using Sipeed-SPMOD interface(2.54mm * 8PIN ),unified MaixPy board interface
- Connect to the board through the SP-MOD I2C interface
- Magnetic sensor: QMC7983 is a 3-axis single chip magnetic sensor integrated with AMR and ASIC,
I2C interface with standard mode and rapid mode,Stable sensitivity in a large operating temperature range,
low power consumption (75uA).
- Sensitivity: ±30 Gauss
- Humidity sensor: BME280 is a humidity sensor that can measure relative humidity, barometric pressure and ambient temperature
- Size:25.0*10*2.9mm
Sensor Introduction:
Magnetic sensor |
QMC7983 |
Supply voltage of external power supply |
2.6V~3.6V |
Supply current of external power supply |
70uA |
Sleep Status of Current |
<1uA |
Sensitivity |
±30 Gauss |
humidity sensor |
LSB/mG |
RMS Noise |
2 mG |
Interface |
I2C,default address 0x2C (Select resistance adjustment) |
Humidity sensor |
BME280 |
Supply voltage of external power supply |
1.71V~3.6V |
Supply current of external power supply |
<633uA |
Sleep Status of Current |
<5uA |
Humidity sensor: |
--- |
Response time(𝜏63%) |
1s |
Accuracy tolerance |
±3% relative humidity |
Hysteresis |
< 2% relative humidity |
Pressure sensor: |
--- |
RMS Noise |
0.2 Pa(equiv. to 1.7cm) |
Temperature coefficient offset |
±1.5 Pa/K(equiv. to ±12.6cm at 1 °C temperature change) |
Interface |
I2C,default address 0x76 Select resistance adjustment) |
SPMOD_Weather pin description :
Pin |
Name |
Type |
Description |
1 |
GND |
G |
Ground |
2 |
NC |
NC |
Not connected |
3 |
NC |
NC |
Not connected |
4 |
SDA |
I/O |
Receive data signal |
5 |
3V3 |
V |
Power supply(3.3V) |
6 |
NC |
NC |
Not connected |
7 |
NC |
NC |
Not connected |
8 |
SCL |
I |
Transmit clock signal |
Mode of connection:
MCU:FUN(IO) |
SP_RFID |
I2C:SDA(IO_7) |
SDA |
NC(IO_15) |
NC |
NC(IO_20) |
IRQ |
NC(IO_21) |
NC |
GPIOHS(IO_8) |
SHT |
I2C:SCL(IO_6) |
SCL |
2.8~3.5V |
3.3V |
GND |
GND |
Usage
- Process
- Send AT instruction
- Receive the reply
- Determines whether the setup was successful
C:
fpioa_set_function(Weather_SCL, FUNC_I2C0_SCLK + Weather_I2C_DEVICE * 2); // Weather_SCL: 6;
fpioa_set_function(Weather_SDA, FUNC_I2C0_SDA + Weather_I2C_DEVICE * 2); // Weather_SDA: 7;
maix_i2c_init(Weather_I2C_DEVICE, 7, 400000); // Weather_I2C_DEVICE: 0;
rslt = qmc_init(); // Magnetic sensor QMC7983 init
rslt = bme280_init(&dev); // Temperature, humidity and pressure sensors BME280 init
stream_sensor_data_normal_mode(&dev); // read and print sensor data
MaixPy:
i2c_bus = I2C(I2C.I2C0, freq=100*1000, scl=6, sda=7) # scl: io_6, sda: io_7
weather=SPWeather(i2c=i2c_bus) # create sp_weather
while 1:
time.sleep_ms(500)
print(weather.qmc_read_xyz) # QMC7983 read data
print(weather.bme_values) # BME280 read data
Runtime environments:
Language |
Board |
SDK/Firmware version |
C |
MaixCube |
kendryte-standalone-sdk v0.5.6 |
MaixPy |
MaixCube |
maixpy v0.5.1 |
Result
C
MaixPy
Outlook
- SPMOD_Weather Size drawing:
Resource Link