Skip to content

Clewsy/temp0

Repository files navigation

temp0

A temperature/humidity sensor that provides live readings over WiFi and via an oled display. The device connects to a local network over WiFi and serves the following:

The code was developed using the PlatformIO extension in VSCode. The hardware was designed using KiCAD and fabricated using JLCPCB.

All components are on a custom PCB and inside an enclosure with a transperant lid so as to show off the special-edition HackADay 10-year anniversary Pro Trinket!

More info can be found here.

Goals

This project was developed to meet a few goals:

  • Create a device for monitoring internal temperature - to be compatible with automation platforms (specifically Home Assistant).
    • Local temperature read-out.
    • Simple web-server for obtaining temperature over WiFi.
    • Simple text-only response when calling a specific url with curl (also over WiFi).
  • Make use of - and potentially showcase - a special HackADay 10-year anniversary edition Pro-Trinket dev board.
  • Learn how to use an esp8266.
  • Try out arduino (instead of directly programming microcontrollers).
    • Try the arduino IDE and programming via the arduino bootloader.
    • Try using some C++ for development instead of just C.

Components

The final system consists of the following components:

  • Pro Trinket 5V (Hackaday 10-Year Anniversary Special-Edition) - Controls the SSD1306 and the HDC1080. Sends temperature/humidity readings over serial to the ESP8266 module.
  • ESP8266 (ESP-01 module) - Acts as a web-server to provide temperature/humidity over WiFi.
  • HDC1080 module - Temperature/Humidity sensor that communicates over I2C.
  • SSD1306 OLED module - also communicates over I2C - used as a local display for temperature/humidity readings.
  • Miscellaneous components for power conversion (5V->3.3V), filtering, IO pull-ups, etc.

Repository

This repo contains:

  • data - datasheets I referenced to write relevant code and create custom KiCAD footprints.
  • images - photos of the final project.
  • temp0_esp8266 - code written for the ESP8266/ESP-01 module.
  • temp0_pro_trinket - code written for the Pro Trinket module.
  • temp0_schematic - KiCAD files including the schematic and PCB layout. Library includes some custom parts (ESP-01, Pro-Trinket, HDC1080, OLED).
  • temp0_workspace.code-workspace - Workspace structure for VSCode including PlatformIO configurations for working with the ESP8266/ESP-01 and the Pro-Trinket 5V.

Gallery

Start-up animation.

Demo of startup

Cycling through different display modes.

Demo of display modes

Assembled PCB.

Assembled unit

In an enclosure.

Buttoned up

Web interface.

WebUI

Releases

No releases published

Packages

No packages published