The Temperature Box Mk. 2 is a PCB that is run off of an ESP32 C3 microcontroller, constantly reading the air temperature and humidity from a DHT22 sensor onboard. The temperature or humidity is then displayed to a small OLED display, and the user can toggle between displaying temperature or humidity on that screen using a push button on the left side of the board. This project is a Mk. 2 and much-improved version of my original Temperature Box project.
This project is sponsored by PCBWay, a wonderful and easy to use PCB manufacturer.
Below are photos showcasing the final schematic sections and printed circuit board design for the project.
Below is a table containing all of the parts as well as a link to the Digikey parts list.
Part Name | Count | Cost Per Part | Link (If Not on Digikey) |
---|---|---|---|
SSD1306 OLED Display | 1 | $6.99 | Link (Amazon) |
DHT22 | 1 | $2.49 | Link (Amazon) |
0.1µF 1206 Capacitor | 3 | $0.09 | |
10µF 1206 Capacitor | 1 | $0.15 | |
1µF 1206 Capacitor | 4 | $0.12 | |
Red 1206 LED | 1 | $0.20 | |
Green 1206 LED | 2 | $0.20 | |
USB-C Female Connector (16 + 8 Dummy) | 1 | $0.78 | |
1x4 Male 2.54 Pin Header | 1 | $0.10 | |
1x12 Male 2.54 Pin Header | 1 | $0.16 | |
5.1kΩ 1206 Resistor | 2 | $0.10 | |
10kΩ 1206 Resistor | 2 | $0.10 | |
4.7kΩ 1206 Resistor | 1 | $0.10 | |
220Ω 1206 Resistor | 2 | $0.10 | |
330Ω 1206 Resistor | 1 | $0.10 | |
ESP32-C3 PCB Antenna | 1 | $3.28 | |
5V to 3V3 LDO | 1 | $0.22 |
Using the Device such as Pinouts or Setup is detailed below.
Below is information and necessary tables of pinouts for the device.
Pin Technical Name | Pin Name | Pin Info |
---|---|---|
J1 | USB-C | Power Port & Programming Port |
P1 - 1 | 3V3 | 3.3V for UART |
P1 - 2 | TXD | TXD of ESP32 C3 for UART |
P1 - 3 | RXD | RXD of ESP32 C3 for UART |
P1 - 4 | GND | GND for UART |
P2 - 1 | 5V0 | 5V Testpoint |
P2 - 2 | 3V3 | 3.3V Testpoint |
P2 - 3 | GND | GND Testpoint 1 |
P2 - 4 | GND | GND Testpoint 2 |
The device just needs to be programmed via the USB-C port using the code found in the Github repository and then can simply be plugged in via USB-C normally for the device to run.
Challenges, What I Learned, and More.
One of the biggest challenges for me in this project was finding an accurate schematic symbol and footprint for both the OLED and the DHT22 sensor, as these are rarer parts that aren't manufactured in mass like a typical passive component. This meant I wasn't able to find any footprints or schematics for these online. Luckily, the SSD1306 OLED had been previously used by the Electric Vehicle Team at RIT that I am a part of, so I was able to grab the footprint, schematic, adn even 3D model from our shared Altium Vault and implement it into my own project. As for the DHT22, this was more challenging, as I had to manually create the schematic symbol and footprint myself, which I hadn't done before. I also designed the DHT22's model myself in Fusion 360 based on the datasheet provided for the sensor, that way in my 3D PCB view it would be visible and would make layout of the board easier. While both challenges, ultimately I found solutions and got schematic symbols and footprints for both rare components.
In this project, I learned quite a bit. The biggest thing I'd say I learned was how to create a schematic symbol, footprint, and implement a 3D model for a footprint in Altium. I essentially had to create an entire Integrated Library for the DHT22 for my project to have it available in Altium. This was something I had never done before so for this project I learned how to create an accurate schematic symbol, an integrated library, and an accurate component footprint modeled off the datasheet.
This project was inspired by and a massive improvement from my previous Temperature Box project, which was a much more primitive and simple implementation of this "Temperature Box" idea I had. That prior version had no custom PCB, but rather a pre-made ESP32 Dev Board that I had bought off of Amazon, and a nest of jumper wires. This previous version I'd say leaned much more on the 3D modeling / CAD side, with a much smaller focus on electronics. This new Temperature Box Mk. 2 project is a much improved version of this idea, using my own custom ESP32 Dev Board design and implementing all of the electronics onto a single PCB. This means this version will not only be much smaller than the original, but will also be much more professional and electronics focused.