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. |