diff --git a/content/.obsidian/workspace.json b/content/.obsidian/workspace.json
index a9db2ca..e3b93d3 100644
--- a/content/.obsidian/workspace.json
+++ b/content/.obsidian/workspace.json
@@ -55,12 +55,12 @@
"state": {
"type": "markdown",
"state": {
- "file": "QotNews.md",
+ "file": "Custom Air Quality Monitor.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
- "title": "QotNews"
+ "title": "Custom Air Quality Monitor"
}
},
{
@@ -165,7 +165,7 @@
"state": {
"type": "backlink",
"state": {
- "file": "QotNews.md",
+ "file": "Custom Air Quality Monitor.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
@@ -175,7 +175,7 @@
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
- "title": "Backlinks for QotNews"
+ "title": "Backlinks for Custom Air Quality Monitor"
}
},
{
@@ -184,13 +184,13 @@
"state": {
"type": "outline",
"state": {
- "file": "QotNews.md",
+ "file": "Custom Air Quality Monitor.md",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
- "title": "Outline of QotNews"
+ "title": "Outline of Custom Air Quality Monitor"
}
}
],
@@ -213,20 +213,26 @@
},
"active": "24a62ccdfd18a884",
"lastOpenFiles": [
+ "media/airmonitor3.png",
+ "media/airmonitor2.png",
+ "media/Pasted image 20250622165324.png",
+ "media/airmonitor2.png",
+ "media/airmonitor1.jpg",
+ "Sensors.md",
+ "Custom Air Quality Monitor.md",
+ "Protovac Retro Terminal.md",
+ "QotNews.md",
"Notica.md",
"Spaceport.md",
"media/spaceport1.png",
"Garage Door Opener.md",
"media/protovac1.jpg",
- "Protovac Retro Terminal.md",
- "QotNews.md",
"Fake Dog.md",
"Bypassing Ports.md",
"Backup Strategy.md",
"Algae Growth.md",
"t0 Services.md",
"Solar Car.md",
- "Sensors.md",
"Protospace.md",
"Helios Alpha.md",
"Hand of Ozymandias.md",
@@ -235,7 +241,6 @@
"media/fake-dog.jpg",
"media/dress1.jpg",
"media/cookies2.jpg",
- "media/cookies1.jpg",
"Acoustic Panels.md",
"About.md",
"Hydroponics Log 3.md",
@@ -243,11 +248,6 @@
"Hydroponics Log 1.md",
"pages/writing.md",
"pages/projects.md",
- "pages/creations.md",
- "Makerspace Tours.md",
- "Secret Garden.md",
- "media/nft2.jpg",
- "media/nft1.png",
- "media/ports1.svg"
+ "pages/creations.md"
]
}
\ No newline at end of file
diff --git a/content/Custom Air Quality Monitor.md b/content/Custom Air Quality Monitor.md
new file mode 100644
index 0000000..cb51837
--- /dev/null
+++ b/content/Custom Air Quality Monitor.md
@@ -0,0 +1,30 @@
+Title: Custom Air Quality Monitor
+Date: 2025-01-13
+Category: Creations
+Summary: An air quality monitor made from sensor modules.
+Image: airmonitor1.jpg
+xTags: feed
+
+I made custom air quality monitors to track the air in my kitchen, living room, and bedroom. They use sensor modules that detect PM2.5, PM10, CO2, VOCs, Light level, pressure, temperature and humidity. The data is sent to my [[Sensors]] database once per minute.
+
+![[airmonitor1.jpg]]
+
+The modules connect to an ESP8266 Arduino over I2C and UART serial. They are mounted on press-fit pegs to a 3D printed base plate I designed in FreeCAD.
+
+The sensors used are:
+
+- [HPMA115S0](https://www.digikey.ca/en/products/detail/honeywell-sensing-and-productivity-solutions/HPMA115S0-XXX/7202204) - Particulate Sensor
+- [Adafruit SCD-30](https://www.adafruit.com/product/4867) - NDIR CO2 Temperature and Humidity Sensor
+- [Adafruit BH1750](https://www.adafruit.com/product/4681) - Light Sensor
+- [Adafruit SGP40](https://www.adafruit.com/product/4829) - VOC Sensor
+- [Adafruit LPS22](https://www.adafruit.com/product/4633) - Pressure Sensor
+
+The light data is used by my home automation system to know when it's night time so that motion sensors turn lights on. I also learned that the CO2 level in my bedroom was doubling from 650 ppm to 1251 ppm overnight while I slept. This is bad since [high CO2 concentration affects sleep](https://www.sciencedirect.com/science/article/pii/S0360132323011459), so now my automation system turns the furnace blower on while I sleep.
+
+Before running the blower automatically (24 hour graph, CO2 is the blue line):
+
+![[airmonitor2.png]]
+
+After:
+
+![[airmonitor3.png]]
\ No newline at end of file
diff --git a/content/media/airmonitor1.jpg b/content/media/airmonitor1.jpg
new file mode 100644
index 0000000..7202907
Binary files /dev/null and b/content/media/airmonitor1.jpg differ
diff --git a/content/media/airmonitor2.png b/content/media/airmonitor2.png
new file mode 100644
index 0000000..3bf52df
Binary files /dev/null and b/content/media/airmonitor2.png differ
diff --git a/content/media/airmonitor3.png b/content/media/airmonitor3.png
new file mode 100644
index 0000000..edf2333
Binary files /dev/null and b/content/media/airmonitor3.png differ