Climate Control System ‐ Project Overview - bhumikasood/aeld-final-project GitHub Wiki

Overview

The Climate Control System emulates a household thermostat in embedded Linux. A user can set a desired temperature via physical controls while the system monitors ambient temperature from a sensor. The system decides whether to turn on a heater or AC based on temperature readings and user input, and displays current status on an LCD.

Project Goals and Motivation

Goals

  • Implement a custom GPIO driver covering two digital inputs: an 8-position rotary selector switch (desired-temperature preset) and a single push button (climate mode).
  • Implement a custom I2C driver for the BME280 temperature sensor.
  • Implement a custom GPIO driver for the LCD1602 display output.

Hardware Components

  • Temperature Sensor - BME280
  • LCD Display - LCD1602 (16x2 Character LCD)
  • Input Temperature Toggle - Mini 8-way Rotary Selector Switch
  • Mode Input - Push Button

High-Level Block Diagram

Target Build System

The target build system will use Buildroot for the Linux kernel.

Hardware Platform

The hardware platform will be a Raspberry Pi 3B which is supported by Buildroot.

Open Source Project Used

No third-party open source packages other than Buildroot will be used.

Previously Discussed Content

Course material relating to building a system with Buildroot and adding a custom device driver to a kernel image will be referenced for this project.

New Content

Communication over I2C and GPIO for interfacing with the hardware devices used in this project were not covered in the course.

Shared Material

No shared material will be used.

Source Code Organization

Buildroot repository will be hosted at: aesd-final-project

Device driver repository will be hosted at: /src

Group Overview

N/A

Blockers

Status Issue Resolution
Resolved as of 10/9 Blocked on Add Package for Temperature Sensor in Sprint 2 since the sensor needs header pins to be soldered on before it can be tested. Currently awaiting an order for lead-free solder to arrive before this task can start. I was able to use the on-chip Qwiic connector with a STEMMA QT cable I already happened to have on hand for another sensor in lieu of soldering the header pins. This meant I did not have to wait for the order to arrive and was able to begin working.

Schedule Page

Schedule