Skip to the content
PCBKitNew board
2 layers72 × 50 mmSensorHub, the printed circuit board in 3D

Solar-powered, low energy environment sensor node with WiFi interface.

Size
72 × 50 mm
Copper layers
2
Thickness
1.6 mm
Parts
42
Nets
39
Pads
175
Tracks, vias
176, 38
Pours
16
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
28 May 2020
Updated
14 Apr 2022

Overview

SensorHub is an open-source printed circuit board by Kampi, from the Kampi/SensorHub repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 72 × 50 mm with 42 parts on 39 nets, routed with 176 tracks and 38 vias.

It is built around the VEML6070-SB, BME680 and MCP9808-E/MS, with the LT3652EMSE#PBF and ZLLS500TA among its other parts. Its parts include 16 resistors, 8 capacitors, 5 ICs, 2 diodes and 2 crystals. It belongs with the home automation and IoT and radio and wireless boards of this library.

Main components

5

README

README.md

SensorHub

Table of Contents

About

Solar-powered, low energy environment sensor node with WiFi interface. The device will measure the following parameter:

The whole device is designed for low power operation and for a solar panel as current source. A backup battery will be used to buffer the sun-free time during the night or on cloudy days. This battery will be charged by an integrated solar-charging circuit.

Overview

The integrated WiFi is used to transmit the data as an MQTT message to a broker (i. e. a Raspberry Pi). The included Qt application for the Raspberry Pi can be used to visualize and record the received data.

Application

Please visit the project site or write me an e-mail when you need additional informations or if you have any questions.

Image sources

Setup

  • You have to use the Particle CLI or the Particle App to setup your WiFi credentials in the microcontroller module before you can use the software.
bash
$ particle usb start-listening
Done.

$ particle serial wifi
? Should I scan for nearby Wi-Fi networks? (Y/n) y
? Should I scan for nearby Wi-Fi networks? Yes
? SSID ...
? SSID ...
? Security Type (Use arrow keys)
? Security Type ...
? Cipher Type (Use arrow keys)
? Cipher Type ...
? Wi-Fi Password ...
? Wi-Fi Password ...
Done! Your device should now restart.
  • Download a bluetooth app for your smartphone (i. e. nRF Connect).
  • Make sure that your microcontroller module runs at least firmware version 1.5.2.
  • Optional: Build the firmware from the soures in software/SensorHub by using Visual Studio Code and the Particle Workbench.
  • Power up the SensorHub and flash the firmware from software/release by using the Particle CLI.
  • Hold the MODE button of the microcontroller module to enter the setup mode.
  • After entering the setup mode the RGB LED of the device will lights up red.
  • Open the app and connect your smartphone with the SensorHub. When the connection is successful the RGB LED of the SensorHub starts to blink green until you close the connection or a IP address of the MQTT broker was transmitted successfully.

Device modes

The SensorHub use the RGB led of the microcontroller module to display his current state. Each state is encoded in a blink pattern which begins with a 3 seconds group color.

RGB colorGroup
BlueSensors
GreenNetwork
RedDevice

The group color is followed by the error code which is encoded with a white flashing of the RGB LED. Each flash has a duration of 1 second.

Blink codeSensorsNetworkDevice
1xTemperature sensor failure.No valid WiFi credentials found.
Please use the Particle CLI to setup your WiFi credentials.
-
2xLight sensor failure.No valid IP address found.-
3xEnvironment sensor failure.Connection error.-
4xUV sensor failure.Network timeout.-
5xCommunication error.--

The current device error is also printed over the serial interface of the microcontroller module or is published over the MQTT tag sensorhub/errors (this required valid network settings).

Bluetooth

The firmware use the following UUIDs for the bluetooth low energy service:

UUIDDescription
b4250401-fb4b-4746-b2b0-93f0e61122c6General service UUID for the BLE service.
b4250402-fb4b-4746-b2b0-93f0e61122c6Server IP UUID to configure the IP address of the MQTT server.

Measurement

After a successful configuration and initialization the device will enter the sleep mode. The microcontroller is woken up every three minutes to read in new data from the sensors. After a successful read of the sensors the data gets packed in a JSON structure and published by using the MQTT protocol. The firmware uses the topic sensorhub/weather to publish the sensor data in the network. The JSON object uses the following structure:

json
{
  "Temperature": "23.0",
  "Ambient light": "1000.0",
  "UV": "7",
  "Pressure": "1004",
  "Humidity": "44.0",
  "Gas resistance": "20000",
  "Gas valid": "0",
  "IAQ": "97.5",
  "IAQ valid": "0",
  "Solar": "1.2",
  "Battery": "3.3"
}
ElementDescription
TemperatureTemperature as float in °C.
Ambient lightIlluminance as float in lux.
UVUV-A index as byte in the range of 0 to 11.
PressureAir pressure as float in hPa.
HumidityHumidity as float in %RH.
Gas resistanceGas resistance as float in Ohms.
Gas validBoolean flag to indicate a valid gas measurement.
IAQIndor Air Quality in %.
IAQ validBoolean flag to indicate a valid IAQ index.
SolarSolar cell voltage as float in V.
BatteryBattery voltage as float in V.

History

VersionDescriptionDate
0.1Release hardware version 1.1
Firmware version 1.0
Release application version 1.0
13.07.2020
0.2Release hardware version 1.2
Improve firmware and release firmware 1.1
Release application version 1.1
18.07.2020

Maintainer

Parts

42
QtyValueFootprintReferences
63k3Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR10, R11, R12, R13, R14, R15
4100nFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC2, C6, C7, C8
2MountingHole:MountingHole_3.2mm_M3_Pad_Via,
210kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR1, R2
210uFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC4, C9
2220kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR4, R6
2ZLLS500Diode_SMD:D_SOT-23_ANKD1, D2
10R22Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR7
1100kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR8
1100uFCapacitor_Tantalum_SMD:CP_EIA-1608-08_AVX-J_Pad1.25x1.05mm_HandSolderC5
110kPotentiometer_SMD_Kampi:Potentiometer_Vishay_TS53YJ_VerticalRV1
11uFCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC3
122kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR9
1270kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR16
147kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR5
168uHInductor_SMD:L_2512_6332Metric_Pad1.52x3.35mm_HandSolderL1
1BH1726Package_SON:WSON-8-1EP_2x2mm_P0.5mm_EP0.9x1.6mmIC4
1BME680Bosch:Bosch_LGA-8_3x3mm_P0.8mm_ClockwisePinNumberingIC3
1ENABLEButton_Switch_SMD:SW_DIP_SPSTx01_Slide_Omron_A6S-110x_W8.9mm_P2.54mmSW1
1LT3652EMSEPackage_SO:MSOP-12-1EP_3x4mm_P0.65mm_EP1.65x2.85mmIC2
1MCP9808Package_SO:MSOP-8_3x3mm_P0.65mmIC5
1NTCConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalR3
1ParticleArgonModules:ParticleArgonM1
1SETTestPoint:TestPoint_Pad_1.5x1.5mmTP1
1SOLARConnector_TE:2-2172067-2X2
1VEML6070Package_LGA_Kampi:OPLGA-6IC1
1WINDConnector_TE:3-2172067-2X1

The 40 most common of 42 parts.

Questions

How big is the SensorHub PCB?

It measures 72 × 50 mm and has 2 copper layers, 1.6 mm thick.

What parts does the SensorHub use?

42 parts, built around the VEML6070-SB, BME680, MCP9808-E/MS and LT3652EMSE#PBF. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the SensorHub KiCad files?

From the Kampi/SensorHub repository on GitHub, at the commit this page was made from: the board is hardware/SensorHub.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the SensorHub design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers94 × 63 mmNew buck, the printed circuit board in 3D

    New buck

    wurflrll/Lithium-Battery_Charger

    The goals is a modular design for charging a lithium ion battery. The board has two parts, the actual charging circuitry and the communication peripherals.

    116 parts
  • 2 layers6.6 × 13.2 mmVeml6070 adapter, the printed circuit board in 3D

    Veml6070 adapter

    ZeroPhone/ZeroPhone-Mod-PCBs

    ZeroPhone mod board PCB files

    7 parts12GPL-3.0
  • 2 layers17 × 16.5 mmAdafruit VEML6070, the printed circuit board in 3D

    Adafruit VEML6070

    humancomputerintegration/ProtoPCB

    ProtoPCB Code and Evaluation Files

    12 parts3GPL-3.0
  • 2 layers70 × 39 mmSolar PCB KiCad, the printed circuit board in 3D

    Solar PCB KiCad

    Raziz1/Solar_PCB

    A power management PCB designed to charge a lithium-ion battery and power a low-power Arduino application

    25 parts2
  • 4 layers90.2 × 95.9 mmPiridium bus, the printed circuit board in 3D

    Piridium bus

    Alan-JH/piridium-bus

    Flight Computer Board for TJ Cubesat Bus design

    162 parts
  • 2 layers86.3 × 96.9 mmAtharva EPS, the printed circuit board in 3D

    Atharva EPS

    ATGr8/CubeSat-EPS

    A repository for a custom 2U CubeSat EPS

    106 parts
  • 2 layersEps, the printed circuit board in 3D

    Eps

    TJREVERB/reverb_eps

    Stopgap EPS design for TJREVERB (Not to be used as flight hardware)

    355 parts