ESP32 Climate Monitor
Learning from the very beginning
The only practical hardware experience I have a few small projects for a raspberry pi, building desktop PCs and the AR4 robotic arm, none of these really required much end-end development, typically one was already done for me. This time around I wanted full control of whatever I was doing. I settled on ESP32s as they seemed like the most fundamental I could go without soldering and PCB designing.
Project Idea
I wanted to do some kind of hardware project as it was an area I had not tackled before. I always felt like I could make software, but without something physical it's hard to express to other, especially non-techy people, what I had accomplished. Hardware would also let me actualise on ideas I've had for home automation, and ultimately make me more 'well-rounded' as a developer. I set my sights on something that would be challenging that I would have no idea how to do, while still being something I would think is achievable, a simple climate monitor.
Getting Started
I obviously couldn't jump straight into making the think without knowing what to do, I didn't even know what language I had to write code in, following some simple tutorials I made some simple demos with buttons, LEDs, motion sensors etc. which came part of an esp32 kit I bought. I used platform.io in VS Code to make my projects as I was already familiar with that when I used other languages. You'll notice the gallery this time has a lot more content in it as this is my first project after completing my website, so I was much more attentive in taking pictures and videos for my site.
Building my project:
After a while of learning, involving many broken wire and a burnt DHT11, and waiting for parts from Ali Express, I started taking on my initial challenge I set for myself. I had ordered some DHT22s (temperature and humidity sensors), more wires, 18650 battery-shield, and a 2.13-inch E-ink display. I wanted to go with an E-ink display here because I find them fascinating, being able to read a display that looks like paper feels like something lifted out of Harry Potter. My finished product had the following features: Current temperature & humidity, an ongoing daily average for the two, the current date, and an icon representing the outside weather (sun, cloud, rain, mist, snow, etc) that I determine using the OpenWeather API. In the future I also plan on adding a 'MQ9' gas sensor that will let me estimate carbon monoxide readings and 'combustible gasses'. I thought this would be a good time to upload as I had achieved my original goal. You can also check out this project on github.