SPMOD - Weather


    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:

    I2C:SDA(IO_7) SDA
    NC(IO_15) NC
    NC(IO_20) IRQ
    NC(IO_21) NC
    I2C:SCL(IO_6) SCL
    2.8~3.5V 3.3V


    • Process

      1. Send AT instruction

      2. Receive the reply

      3. Determines whether the setup was successful



    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




    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:
        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


    • C

    • MaixPy


    • SPMOD_Weather Size drawing:

    Resource ---
    Website www.sipeed.com
    Github https://github.com/sipeed
    BBS http://bbs.sipeed.com
    Wiki http://maixpy.sipeed.com
    Sipeed model shop https://maixhub.com/
    SDK Relevant information dl.sipeed.com/MAIX/SDK
    HDK Relevant information dl.sipeed.com/MAIX/HDK
    E-mail(Technical Support and Business Cooperation) Support@sipeed.com
    telgram link https://t.me/sipeed