Skip to content

Latest commit

 

History

History
98 lines (80 loc) · 4.95 KB

README.md

File metadata and controls

98 lines (80 loc) · 4.95 KB

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