/Coral-Enviromental-Sensor-Board

Google's Coral-Enviromental-Sensor-Board in Raspberry Pi Zero Hat format compatible with RPi3 Rpi4 Rpi Zero W

Primary LanguagePython

Coral-Enviromental-Sensor-Board

Google's Coral-Enviromental-Sensor-Board in Raspberry Pi Zero Hat format compatible with RPi3 Rpi4 Rpi Zero W

Environmental Sensor Board datasheet

Features

  • 128x32 OLED display
  • Ambient light sensor (OPT3002)
  • Barometric pressure sensor (BMP280)
  • Humidity / temperature sensor (HDC2010)
  • Cryptoprocessor (ATECC608A) with Google keys
  • 40-pin GPIO female connector
  • Four Grove connectors:
    • 1x UART
    • 1x I2C
    • 1x PWM
    • 1x 3.3/5V analog
  • General purpose button
  • General purpose LED

Overview

The Environmental Sensor Board is an add-on board (also known as a pHAT or bonnet) that adds sensing capabilities to your Coral Dev Board or Raspberry Pi projects. (It includes an EEPROM for compatibility with Raspberry Pi boards.)

The board provides atmospheric data such as light level, barometric pressure, temperature, and humidity. You can also attach additional sensors with the Grove connectors.

The board also includes a secure cryptoprocessor with Google keys to enable connectivity with Google Cloud IoT Core services, allowing you to securely connect to the device and then collect, process, and analyze the sensor data.

Purchase info from Mouser

Table of contents

Dimensions

Measurement Value
Board size Board w/ components: 65 x 30 x 18.46 mm
40-pin header height: 8.5 mm
Hole size/spacing Diameter: 2.4 mm
Horizontal spacing: 58 mm
Vertical spacing: 23 mm
Weight 14 g

Figure 1. Board and mounting hole dimensions (in millimeters)

Requirements

The board must be connected to a host with I2C, SPI, and 3.3V power. The 40-pin GPIO header and provided software are designed to work with the Coral Dev Board or Raspberry Pi (running Mendel Linux or Raspbian, respectively).

Sensors

All sensors are connected to the I2C lines from header pins 3 and 5 (see the header pinout).

Sensor Details
Humidity and temperature sensor Texas Instruments HDC2010:
  • Humidity range/accuracy: 0 - 100% ± 2% (typical)
  • Temperature range/accuracy: -40 - 125°C (functional) ±0.2°C (typical)

I2C address: 0x40
Ambient light sensor Texas Instruments OPT3002:
  • Optical spectrum: 300 - 1000 nm
  • Measurement range: 1.2 - 10 mW/cm2

I2C address: 0x45
Barometric pressure sensor Bosch Sensortec BMP280:
  • Operation range: 300 - 1100 hPa
  • Absolute accuracy (@ 0 - 65°C): ~ ±1 hPa
  • Relative accuracy (@ 700-900 hPa; 25 - 40°C): ± 0.12 hPa (typical)

I2C address: 0x76

Grove connectors

The Grove connectors provide easy access to the PWM, UART, and I2C pins from the baseboard, plus an on-board analog-to-digital converter (ADC), as illustrated in figure 2.

To interact with the AIN0 analog source, use address 0x49 on the I2C lines from header pins 3 and 5 (see the header pinout).

Note: The VDD_A pin on the analog Grove connector can be powered by either the 5V or 3.3V power rail by the jumper pins indicated in figure 2 as the ANALOG VDD JUMPER.

Figure 2. Pin functions for each Grove connector

OLED display

The 128x32 OLED display is driven by the SSD1306 control chip, connected with the SPI interface.

SPI function Pin
MOSI 19
MISO 21
SCLK 23
CL 24
RESET 22
DC 18

Secure cryptoprocessor

The board includes a secure cryptoprocessor (ATECC608A) with an EEPROM that can store up to 16 keys (256-bit), certificates, or other data. Although this chip provides a range of cryptographic features, it is primarily included to provide secure key generation and management so you can securely authenticate with the device when deployed into the field.

The factory setting for the Environmental Sensor Board includes one Google key (private key, public key, and certificate) to enable communication with Google Cloud IoT Core right out of the box. This key slot is reusable, just like the rest of the memory, so you don't have to keep it.

Header pinout

Figure 3 shows which pins from the baseboard are used by the Environmental Sensor Board. Pins highlighted in dark green are used by the board and not available to you (except through software for the corresponding functions), while the pins in light green are used by the board but are still available to you through the Grove connectors.

Figure 3. Pins used by the board

I2C address reference

Device Address
Humidity/temp sensor 0x40
Ambient light sensor 0x45
Barometric pressure sensor 0x76
Analog Grove connector 0x49
Cryptoprocessor 0x30

What is this?

This is the Linux kernel IIO drivers for the sensors used in the Coral Environment Sensor board.

Note: These files are mostly identical to the drivers in mainline linux (iio/). There are trivial changes for ease of use for DKMS.