Skip to content

Indoor temperature & humidity measuring device

License

Notifications You must be signed in to change notification settings

johannstark/TermIO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TermIO

TermIO is a home-made indoor temperature and humidity device. It is a DIY project that uses a DHT11 sensor to measure temperature and humidity and a 4 digit seven segment display/OLED Display to show the data.

  • Version 1 of the device is powered by the Arduino Nano 33 IoT + a DHT11 sensor + a 4 digit seven segment display.

  • Version 2 of the device is powered by the ESP8266(Wemos D1 Mini Pro) + a DHT11 sensor + a 0.91" OLED display.

TermIO Ver. 1 vs Ver. 2

TermIO Version 1 TermIO Version 2

Homebridge UI & Home App on macOS

TermIO Homebridge UI TermIO HomeApp

Features

  • Temperature and humidity measurement.
  • It computes the Apparent temperature (feels like).
  • Display of the temperature and humidity on 4 digit seven segment display/OLED Display.
  • It uses the NANI WiFi/ESP8266 WiFi module to connect to the internet and send the data to a server/hub/etc.
  • Connects to Homebridge with a HTTP Webhook plugin to show the data on HomeKit.

Getting Started

  1. Install Homebridge on a RaspberryPi (or similar) Click me for instructions

  2. Install HTPP Webhooks Plugin via Homebridge UI by accesing homebridge.local on your browser.

  3. Set two new devices:

    • ID: termio-temperature as temperature sensor
    • ID: termio-humidity as humidity sensor
  4. Build the circuit using the schematics (ClickMe) based on the board you are using. (Arduino Nano 33 or ESP8266).

⚠️ Only the ESP8266 Version of termio supports Homebridge for now ⚠️

  1. Clone this repository and open it with the PlatformIO IDE. Be aware to open the right folder depending on your development board.

    git clone https://github.com/johannstark/TermIO.git
  2. Create include/secret.h header file to contain the WiFi credentials to be use by TermIO.

    char ssid[] = "xyz";          
    char pass[] = "xyz"; 
  3. Make sure the host and port of homebridge is rightly set on the code (main.cpp:44 -> Line 44):

    String hub_url = "http://homebridge.local:51828/";
  4. Build and upload the code to your development board using PlatformIO.

  5. PowerUp the device and check readings

  6. Use the QR Code on the Homebridge UI to add a Hub to your Home App on iOS or MacOS

  7. Enjoy!


Hardware

TermIO has 2 working versions:

Arduino Nano 33 IoT

TermIO V1 works with the Arduino Nano 33 IoT that Features:

  • Built-in WiFi and Low Energy Bluetooth.
  • It is powered by a 32 bit Arm® Cortex®-M0 processor.
  • Works with the Arduino Framework.
  • It has a Micro USB port for power and programming.
  • 3.3V logic level.

We use a DHT11 sensor for measuring temperature and humidity.

Displaying the temperature is done with a generic 4 digit seven segment display.

Wemos D1 Mini Pro

We made a second version of the device using a ESP8266 chip onboard of the Wemos D1 Mini Pro. This board features:

  • A ESP8266 WiFi chip with a Tensilica L106 32-bit RISC processor.
  • Built-in antenna
  • Work with Arduino, MicroPython and NodeMCU frameworks.
  • Also 3.3V logic level.

Building the circuit

Here are the main schematics to connect the components to the development board. I suggest to power the entire circuit with a breadboard power supply that delivers both 5V and 3.3V from a 12V socket or USB cable.

⚠️ POWER THE CIRCUIT WITH 3.3V ⚠️

BOM (Bills of Materials)

  • x1 DHT11 sensor
  • x1 Breadboard power supply module (or any way to power 3.3V)
  • x1 micro USB cable (to upload your code from the PC!)

For the Arduino Nano version, you will also need:

  • x1 Seven segment display (in this case a 3461AS display)
  • x6 330Ω resistors
  • x2 LEDs (any color would be ok)

or if you go with the Wemos board:

  • x1 0.91" OLED display
  • x1 Wemos D1 Mini Pro

Arduino Nano schematics

ArduSchematics

D1 Mini Pro schematics

ESPSchematics

Software

C++ Code built with the amazing PlatformIO IDE using the Arduino framework for both Nano 33 IoT and the ESP 8266, via VS Code.

Libraries used in the project:

Similar projects:

License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with Love ❤️ in Colombia 🇨🇴