This documentation includes hardware info, installation guidelines and sample code for your hardware.
IoT HAT orchestrates high-end components demanding in IoT scenarios. It combines sensors, relays, IO’s and an IR remote transceiver on a single board. This combination allows you to create complex scenarios without the hassle of cable clutter easily. Whether you are a beginner or a professional, IoT HAT will help you to develop the best in the shortest possible time.
I2C Port: 3.3V, GND, SCL, and SDA connections of the I2C bus. Directly connected to the host device's headers.
3.3V and GND: Power output from host device (Raspberry Pi).
SCL and SDA: I2C connections from host device.
IO1, IO2, IO3, and IO4: 3.3V, GND, Analog Input and GPIO connections.
3.3V and GND: Power output from host device.
Analog Input: 0 to 3.3V Analog input connected to on-board microcontroller.
Digital Input: 3.3V GPIO Pins directly connected to the host device's headers.
Photocoupler 1 and 2: Isolated input terminal. Left terminal is for photocoupler 1 (inputs 1 and 2) and right terminal is photocoupler 2 (inputs 3 and 4).
GND 1 and 2: GND for each photocoupler's input 1 and 2.
+5V: Shared +5V for each photocoupler.
Relay 1 and 2: Solid state relay terminal. Left terminal is for relay 1, right terminal is for relay 2.
GND: Ground connection of the relay. Connect it to the GND of power supply.
NO+: Normally open connection of the relay. Connect it to the target device.
IoT HAT's specifications are as follows:
Measures temperature, relative humidity, pressure and gas resistance. Calculates altitude and indoor air quality.
Gas Resistance: Measures gas resistance in Ohms. If used with Bosch's drivers, 0 to 500 IAQ (Indoor Air Quality) result can be read.
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 0x76 address over the I2C bus.
Measures ambient light, RGB values and proximity. Detects hand gestures.
Ambient Light: Measures ambient light with UV and IR blocking features.
Color Detection: Measures RGBC channels with UV and IR blocking features.
Hand Gesture Detection: Detects left, right, up and down directions within 30cm to the sensor.
Proximity Detection: Detects distance to the object up to 30cm from the sensor.
The sensor uses 0x39 address on the I2C bus.
Measures UVA and UVB. Calculates UV A Index, UVB Index and average UV Index.
UVA: Measures wavelenghts between 315nm to 400nm in 16-bit resolution.
UVB: Measures wavelenghts between 280nm to 315nm in 16-bit resolution.
UV Index: Calculates UV radiation.
The sensor uses 0x10 address over the I2C bus.
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. IoT HAT uses Z-axis interrupt output.
The sensor uses 0x55 address over the I2C bus.
Detects human movement.
Motion Detection: Detects the movement of heat emitting objects.
The sensor uses GPIO25 pin to generate interrupt.
Turns DC devices on or off.
2x Relays: DC30V 2A solid state relays can switch small devices.
Relays can be activated using GPIO 20 and 12 pins respectively.
Optically isolates 4x inputs.
4x Photocoupler Inputs: Reads optically isolated 5V inputs.
Photocoupler inputs can be read using GPIO 13, 19, 16 and 26 pins respectively.
Decodes and encodes 38KHz NEC protocol IR remote commands.
Infrared Receiver: Decodes 38KHz NEC protocol messages. NEC Protocol transfers 4-Bytes of data. On message receive, onboard microcontroller generates an interrupt. Then, received message can be read over the I2C bus.
Infrared Transmitter: Encodes 4-Bytes of data to 38KHz NEC protocol. The IR emitter is at 940nm and 104mW power.
The microcontroller uses 0x28 address over the I2C bus. Interrupt pin is GPIO18.
Measures 4x analog inputs.
4x Analog Inputs: Measures input voltages from 0V to 3.3V with 1/1024 (10-bits) resolution.
The microcontroller uses 0x28 address over the I2C bus.
Board has 1x I2C and 4x I/O connection.
I2C Socket: Provides I2C connection for external devices, such as sensors and displays.
4x I/O Sockets: Each socket provides analog input and GPIO pin. GPIO Pins are directly conected to the Raspberry Pi.
GPIO Pins on I/O sockets are connected to Raspberry Pi's GPIO 21, 22, 23 and 24 pins respectively.
To get maximum performance from your hardware, please make sure you'll meet the following requirements.
We designed IoT HAT to work with Raspberry Pi. Alternatively, you may wish to use any Raspberry Pi pin compatible device as host.
You can use IoT HAT with any operating system that supports I2C communication and GPIO control. We officially support Raspbian and Windows 10 IoT Core operating systems.
IoT HAT's Raspbian library supports Python. You can write Python code in any text editor.
On the other hand, Windows 10 IoT Core library of IoT HAT supports C#. You'll need to have:
Development PC with Windows 10
Developer mode activation on Windows 10
Visual Studio with UWP support
Network connection between development PC and Raspberry Pi
Select your operating system for set-up and programming guidelines.