Skip to content

An embedded climate monitor for a vivarium running on a Pi Pico

Notifications You must be signed in to change notification settings

james-things/pico-climate-monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pico Climate Monitoring Device - Semester Final Project - SWE 6823

09/21/2024 - Note on Refactoring Effort

This project was originally produced while I was in the process of learning MicroPython as a relatively inexperienced student developer. I have now decided to revisit this project to put some improvements in place, and hopefully make this artifact more useful!

The motivation here is ultimately self-directed; recently I revisited this code to fix a bug, and was surprised to see what a tangled mess I had created in some of the files for this project through my lack of experience!

Over the coming months, commits will be made to this project which will serve to improve the repository's organization, maintainability, and potential for code reuse.

I will also aim to improve the documentation of the code over time through comments, etc. However, the initial efforts will be focused around putting in place several refactoring passes, which should serve to improve the general structure/organization of the project.

Today I have committed the initial refactoring pass, which should provide a more usable foundation for future refactoring efforts.

Please feel free to reuse as you see fit.

P.S. The wifi file will need some manual tweaking for the automatic time setting to work! I also have not gotten around to ensuring that the time zone/dst is correctly handled.

This folder contains the code for the climate monitoring device comprising my final project, built using a Raspberry Pi Pico and MicroPython. The device utilizes a 3.5" LCD screen by Waveshare for display and an AM2302 environment sensor for gathering temperature and humidity data. It also includes two momentary switches for toggling display brightness and switching between screens.

Features

Displays current temperature and humidity readings
5-level adjustable screen brightness
24-hour data graph display
Updates display output approximately every 7 seconds

Hardware Components

Raspberry Pi Pico
3.5" LCD screen by Waveshare
AM2302 environment sensor (connected to gpio 2)
2x momentary switch buttons (connected to gpio 4 and gpio 7)

Please note that if you would like the build the device, you will need to aquire 4 M2.5 (metric) 10mm screws, which will fit the provided housing. You will also need to add your wifi configuration in the utils/wifiTime.py.

Credits

The code in this project is a combination of original work and code reused from the PicoPendant project published by GitHub user MZachmann. Due accreditation has been ensured by including comments in each file to describe the file contents in this context. This referenced external code resource was released under the MIT license, and is available at the following URL: https://github.com/MZachmann/PicoPendant. Original comments have been left intact; apologies if this causes in any confusion in reviewing the code.

About

An embedded climate monitor for a vivarium running on a Pi Pico

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages