|
WeMos D1 Mini |
x 1 | |
|
BME280 |
x 1 |
Temperature & Humidity Sensor Box
Building a prototype from scratch used to be really expensive not so long ago. The overall cost has dropped significantly years after years, and everyone is now able to build their own prototypes at home with very little means.
This post will explain, from a beginner’s perspective, one of the many different approaches to change your ideas into fully functional objects.
Choose the hardware
The hardware will depend on what you want to build. A good start is to use a famous prototyping board with a microcontroller unit embedded, such as an Arduino, an ESP8266 or an ESP32. You’ll also need some sensors and actuators.
Here, we will use an ESP8266 connected to a BME280 temperature and humidity sensor.
Write the software
You’ll choose your programming language depending on your microcontroller. The ESP8266 offers a large choice of programming languages you can use:
- C (FreeRTOS)
- Arduino C (Arduino)
- Python (MicroPython)
- Lua (NodeMCU)
- Javascript (Mongoose OS)
- Go (Gobot)
- …and others
Arduino C is good to start, as the language is easy to use for beginners. Later, you could still rewrite your code for FreeRTOS if you want the software to be better optimized.
Every minute, the ESP will send data to the cloud. You can of course modify the software to send data to a local server if you prefer.
This blog posts explains all the steps required to connect an ESP32 or ESP8266 to Cloud IoT Core:
http://nilhcem.com/iot/cloud-iot-core-with-the-esp32-and-arduino
We will use the Arduino C code from this article that sends temperature and humidity data every minute to the Google Cloud.
Create the circuit board
Fritzing is a nice software that allows you to model your components wiring.
There is also a PCB tab to let you easily create a PCB layout for manufacturing, in just a few clicks.
Once made, just click on the “Export for PCB” button to generate an Extended Gerber (RS274X) archive you can upload to pcbway.com
Solder components
Easy part, you just need to take your soldering iron (if you don’t have any, the TS100 is a good choice). I decided here to use pin headers so I can plug/unplug the esp8266 and bme280 easily whenever I want.
Design a custom case
To design a case, we can use Autodesk Fusion 360 which is an easy-to-use 3D Design & Modeling software that offers a free license for hobbyists, startups and makers.
I started by designing four 6x6mm squares located on each side of the 58x28mm PCB. Their goal is to hold the PCB.
Then, you need to extrude the sketch to the desired height, and iterate creating and extruding other sketches until you reach your goal.
Step-by-step video:
3D print it
The 3D model is finished. We can export it to an STL file that can be open using Cura, a free software that will convert the STL file into a set of instructions for a 3D printer.
You can use an online 3D printing service. However, I found them quite expensive, and you can now find good 3D printers for around $200.
I am using the Elegoo NEPTUNE 3D printer with a transparent PLA filament:
Time-lapse using a wood filament:
Ready for mass production
Excluding the price of the existing hardware (computer, 3D printer) and time spent, for a few dollars, I was able to create a fully functional electronic device that can be used to monitor the temperature in my home and send data to the Google Cloud Platform. Nowadays, creating your own electronic devices from scratch is a reality. It gives a rewarding feeling, the device is unique and does exactly what you expect it to do.
We could, of course, find cheaper and better temperature sensors in the market. However, finding one that does exactly what I wanted it to do (sending specific data to GCP) is more difficult.
Also, since I’ve built the device, I can modify it anytime. Want to update the software to send data to a local server? Want to add an LED strip below the transparent cover so that it illuminates in a specific color when the temperature is too cold? Everything’s possible!
Temperature & Humidity Sensor Box
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.

Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW
ESP32-S3 4.3inch Capacitive Touch Display Development Board, 800×480, 5-point Touch, 32-bit LX7 Dual-core Processor
BUY NOW
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(0)
- Likes(5)

-
Jurdor Feb 29,2024
-
Volodymyr Sharaienko Jul 11,2022
-
Engineer Feb 18,2022
-
Engineer May 07,2020
-
Karl Sola Sep 04,2019
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Nilhcem
-
-
-
Modifying a Hotplate to a Reflow Solder Station
840 1 5 -
MPL3115A2 Barometric Pressure, Altitude, and Temperature Sensor
440 0 1 -
-
Nintendo 64DD Replacement Shell
374 0 2 -
V2 Commodore AMIGA USB-C Power Sink Delivery High Efficiency Supply Triple Output 5V ±12V OLED display ATARI compatible shark 100W
1079 4 2 -
How to measure weight with Load Cell and HX711
686 0 3