Sensor uHAT

This documentation includes hardware info, installation guidelines and sample code for your hardware.

Overall Info

Sensor uHAT is a sensor and IR control board for Raspberry Pi Zero.



  • I2C Port: Provides I2C connectivity with 'SCL', 'SDA', '3.3V' and 'GND' pins.

  • Serial Port: Provides UART connectivity with 'RX', 'TX', '3.3V' and 'GND' pins.

  • Digital Ports: Provides total 4 GPIO pins on 2 ports.

    • Left Port: 'GPIO21', 'GPIO22', '3.3V' and 'GND' pins.

    • Right Port: 'GPIO23', 'GPIO24', '3.3V' and 'GND' pins.

  • Stackable Raspberry Pi Connector: Connects the board to the Raspberry Pi Zero. The connector is stackable.

I2C, Serial and Digital ports are 3.3V Grove System compatible. Pins on these ports are 3.3V tolerant.


  • Measures temperature, relative humidity, air pressure, and calculates altitude via Bosch Sensortec BME280 environmental sensor.

  • Detects movement and theft attempts via accelerometer and tilt sensor NXP MMA8491Q.

  • Senses ambient light and UV Index via Silicon Labs SI1133 sensor.

  • Controls home electronics via IR remote transmitter.

  • Sensor uHAT has Grove System compatible I2C, UART, and digital ports.

  • Carries ID EEPROM for Raspberry Pi HAT specification compliance.


Sensor uHAT's specifications are as follows:

Bosch Sensortec BME280 Environmental Sensor

Measures temperature, relative humidity, and pressure. Calculates altitude.

  • Temperature: Measures -40C to 85C temperature with +/- 1C accuracy and 0.01C resolution.

  • Humidity: Measures relative humidity within 0% to 100% range, in 3% accuracy and 0.008% resolution.

  • Pressure: Measures air pressure from 300 to 1100hPa in 0.18Pa resolution.

  • Altitude: The driver calculates altitude from sea level if air pressure at the sea level is given.

The sensor uses 0x77 address over the I2C bus.

Sensor uHAT will heat up as your Raspberry Pi Zero warms up in hot environments. In this case, the sensor will read the temperature, humidity and pressure above normal levels. Keeping the device upright helps hot air to escape.

Silicon Labs Si1133 UV Index/Ambient Light Sensor

Measures UV Index, visible light, and IR light.

  • UV Index: Matches erythemal curve.

  • Ambient Light: Measures visible and infrared light.

The sensor uses 0x52 address over the I2C bus.

NXP MMA8491Q Accelerometer & Tilt Sensor

Measures 3 axis acceleration. Generates interrupt on tilt detect.

  • Acceleration: Measures +/- 8g acceleration data with 1 mg accuracy.

  • Tilt Detection: Generates interrupt over 0.688g acceleration or 43.5 degrees of tilt. X, Y and Z interrupts are connected to separate pins.

The sensor uses 0x55 address over the I2C bus.

Vishay VSMB10940X01 IR Transmitter

Transmits infrared remote control signals.

  • The 940nm high-speed IR emitter is at 104mW power.

  • Angle of half intensity: +/- 75 degrees.

The IR LED circuit is connected to GPIO18 (PWM0) pin.

I/O Ports

Sensor uHAT has 4 Grove System compatible ports.

  • Serial Port: Provides RX, TX, 3.3V and GND pins for UART (serial) communication.

  • I2C Port: Provides SCL, SDA, 3.3V and GND pins for I2C and SMBus communications.

  • 2x Digital Port: Provides a total of 4 GPIO and power pins distributed in 2 ports.

All digital and analog pins are 3.3V tolerant. Do not sink more than 50mA from the 3.3V power pins.

GPIO Pins on I/O sockets are connected to Raspberry Pi's GPIO 21, 22, 23 and 24 pins respectively.


This memory holds manufacturer information, GPIO setup and device tree. The OS loads required drivers and configures GPIO pins according to the data on this memory. ID EEPROM is required for Raspberry Pi HAT specification compliance.

Do not try to overwrite or erase the contents of the EEPROM as it may block the device's operation.

The EEPROM is connected to the I2C1 bus and requires root privileges for user access.


To get maximum performance from your hardware, please make sure you'll meet the following requirements.


We designed Sensor uHAT to work with Raspberry Pi Zero. Alternatively, you may wish to use any Raspberry Pi pin compatible device as host.

Operating System

You can use Sensor uHAT with any operating system that supports I2C communication and GPIO control. We officially support Raspberry Pi OS.

Development Environment

Sensor uHAT's Raspberry Pi OS library supports Python. You can write Python code in any text editor.


Select your operating system for set-up and programming guidelines.

Raspberry Pi OS

Last updated