Inaki Iturriaga
ARGENTINA • + Follow
Edit Project
Components
|
WEMOS-D1-MINI |
x 1 | |
|
VEML6075 |
x 1 | |
|
BMP280 |
x 1 | |
|
MQ135 air quality sensor module |
x 1 | |
|
DHT11 |
x 1 | |
|
DS3231 |
x 1 | |
|
10k resistor |
x 1 |
Tools, APP Software Used etc.
|
Soldering Iron Kit |
|
|
arduino IDEArduino
|
Description
Wifi Weather Station - Sensors board
WiFi Weather Station - Sensor unit
In our digital era, many electronics projects integrate diverse sensors to gather and process data for an array of applications. This custom sensor unit, termed the WiFi Weather Station, serves as a powerful, versatile platform facilitating seamless data collection from various sensors, including a BMP280, VEML6075 UV index sensor, MQ-135 air quality sensor, DHT11 humidity and temperature sensor, and DS3231 real-time clock.
Possible Applications:
- Environmental Monitoring: Combining the data collected from the BMP280, VEML6075, MQ-135, and DHT11, this WiFi Weather Station serves as a robust tool for local weather monitoring and prediction, rendering it ideal for outdoor enthusiasts, farmers, and researchers.
- Time-based Applications: The DS3231's exceptional real-time clock functionality facilitates data logging with time-stamping, making it highly suitable for home automation, security systems, and scientific experiments.
- IoT and Smart Home Devices: The compact and modular design of this WiFi Weather Station makes it a perfect fit for various IoT and smart home devices, like air quality monitors, thermostats, or automated weather stations.
Building Guide - Sensor unit
- Gather the necessary tools and materials: Ensure you have a Wemos D1 Mini ESP8266, BMP280, VEML6075 UV index sensor, MQ-135 air quality sensor, DHT11 humidity and temperature sensor, DS3231 real-time clock, soldering iron, solder, flux, desoldering wick or pump, brass sponge or steel wool for cleaning the soldering iron tip, heat-resistant surface or soldering mat, and tweezers or small pliers for holding components.
- Prepare the PCB board: Wipe the PCB board with isopropyl alcohol and a lint-free cloth to eliminate any dirt or grease. This ensures adequate solder adhesion.
- Prepare the components: Check each component and their male pins (headers) for any damage. Align any bent pins and trim excessive leads if necessary.
- Insert the male pins into the components: For sensors and other components requiring male pins, gently insert the pins into the appropriate holes. Ensure the pins are correctly aligned and securely fitted.
- Secure the components to the PCB: Position each component on the PCB, aligning the male pins with the corresponding solder pads or holes. Secure the components with masking tape, Blu-Tack, or a small amount of hot glue.
- Heat up the soldering iron: Turn on your soldering iron and allow it to reach the appropriate temperature (around 350°C or 650°F for 60/40 solder).
- Tin the soldering iron tip: Apply a small quantity of solder to the iron tip to create a thin layer of molten solder. This process, known as "tinning," enhances heat transfer and simplifies the soldering process.
- Solder the components to the PCB: Hold the soldering iron in one hand and the solder in the other. Touch the iron tip to the junction of the component lead (or male pin) and the PCB pad. After a brief moment, introduce the solder to the joint. The solder should flow smoothly and create a shiny, concave fillet. Simultaneously remove the solder and the iron, allowing the joint to cool. Repeat for each component lead or pin.
- Inspect the solder joints: Use a magnifying glass or microscope to scrutinize the solder joints for any cold solder, bridges, or other defects. Cold solder joints appear dull or grainy and may result in poor connections. Bridges are undesired solder connections between adjacent pads or traces and may cause short circuits.
- Fix any issues: If you find any solder joint problems, utilize a desoldering wick or pump to eliminate the excess solder, clean the area, and try again. If a component is poorly aligned or damaged, carefully remove it, clean the area, and replace it with a new component.
- Clean the PCB: After successfully soldering all components, clean the PCB with isopropyl alcohol and a lint-free cloth to remove any residual flux.
- Test the assembled board: After the PCB has dried, power up the board and test its functionality. If everything works as expected, congratulations! You've successfully assembled your custom PCB board.
- Program the board: Use the provided Arduino code to test each sensor on the board, ensuring it performs as expected. Then, tailor the code to meet your specific requirements.
Code
Code
Arduino
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <Wire.h>
#include <Adafruit_BMP280.h>
#include <Adafruit_VEML6075.h>
#include <DHT.h>
#include "RTClib.h"
#include <MQ135.h>
// Define your access point name and password
const char* ssid = "your_AP_name";
const char* password = "your_AP_password";
ESP8266WebServer server(80); //Server on port 80
// Sensors
Adafruit_BMP280 bmp; // connected to D1 (SCL) and D2 (SDA)
Adafruit_VEML6075 uv = Adafruit_VEML6075(); // connected to D1 (SCL) and D2 (SDA)
DHT dht(D5, DHT11); // connected to D5
RTC_DS3231 rtc; // connected to D1 (SCL) and D2 (SDA)
MQ135 gasSensor = MQ135(A0); // connected to A0
void handleRoot() {
// Read sensor data
float temperature = bmp.readTemperature();
float pressure = bmp.readPressure();
uint16_t uvIndex = uv.readUVI();
float humidity = dht.readHumidity();
DateTime now = rtc.now();
float rzero = gasSensor.getRZero(); //calibration, you should use a known good air condition
float ppm = gasSensor.getPPM(); //get CO2 ppm
String message = "{";
message += "\"temperature\":" + String(temperature) + ",";
message += "\"pressure\":" + String(pressure) + ",";
message += "\"uvIndex\":" + String(uvIndex) + ",";
message += "\"humidity\":" + String(humidity) + ",";
message += "\"time\":\"" + String(now.timestamp()) + "\",";
message += "\"co2\":" + String(ppm);
message += "}";
server.send(200, "application/json", message); //Send sensor data
}
void setup() {
Serial.begin(9600);
// Create an access point
WiFi.softAP(ssid, password);
Serial.println("Access Point Created");
// Initialize sensors
if (!bmp.begin()) {
Serial.println("Could not find BMP280 sensor!");
}
if (!uv.begin()) {
Serial.println("Could not find VEML6075 sensor!");
}
dht.begin();
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
}
server.on("/", handleRoot); //Associate handler function to path
server.begin(); //Start server
Serial.println("HTTP server started");
}
void loop() {
server.handleClient(); //Handle client requests
}
CAD-Custom parts and enclosures
Jul 01,2023
1,111 views
Wifi Weather Station - Sensors board
Create your own WiFi Weather Station with two interconnected devices!
1111
2
0
Published: Jul 01,2023
Download Gerber file 3
BOM(Bill of materials)
Purchase
Donation Received ($)
PCBWay Donate 10% cost To Author
Only PCB
PCB+Assembly
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
Copy this HTML into your page to embed a link to order this shared project
Copy
Under the
Attribution-NonCommercial-NoDerivs (CC BY-NC-ND)
License.
- Comments(0)
- Likes(2)
Upload photo
You can only upload 5 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP
0 / 10000
It looks like you have not written anything. Please add a comment and try again.
You can upload up to 5 images!
Image size should not exceed 2MB!
File format not supported!
View More
VOTING
0 votes
- 0 USER VOTES
0.00
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Design
1/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Usability
2/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Creativity
3/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Content
4/4
More by Inaki Iturriaga
- GPS Mobile Beacon Building a GPS Emergency Beacon: A DIY TutorialWelcome to our latest DIY project: creating a GPS Eme...
- Wireless RFID Card Copier. Wireless RFID Card CopierIn today's digital world, security and accessibility are of paramount impor...
- Piezo Alert System. Within the fast-evolving sphere of security tools and home automation, creativity often paves the wa...
- Wifi Weather Station - Sensors board WiFi Weather Station - Sensor unitIn our digital era, many electronics projects integrate diverse se...
- RC Receiver Build Your Own RC ReceiverHarnessing advanced electronics and precise control systems, the RC Receiv...
- Universal RC Controller Build Your Own Universal RC RemoteHarnessing the power of custom PCBs and wireless communication, th...
- Continuous GPS Tracker This compact and efficient tracker provides real-time location updates, making it ideal for surveill...
- Air Quality Monitor Welcome to our DIY tutorial on assembling an Air Quality Monitoring Device. This project is perfect ...
- Automatic Watch Winder Automatic Watch WinderIn the realm of luxury timepieces and watch aficionados, an automatic watch is...
- Handheld GPS Within the swiftly advancing realm of portable technology and travel essentials, innovation often sh...
- Dual Motor Controller for Model Robotics In the thrilling world of robotics and DIY engineering, innovation continues to soar to new heights....
- Altitude Indicator with Beeper for Rocketry Altitude Indicator for Model RocketryIn our ever-advancing technological landscape, countless projec...
- Wifi Weather Station - Display unit WiFi Weather Station - Display UnitIn this technologically advanced age, countless electronics proje...
- Positon Breakout Board Position Sensors Breakout Board In today's era of advanced technology, many electronics projects req...
- Ambient Sensors Breakout Board In today's world, electronics projects often require the integration of multiple sensors to collect ...
- Infrared Launch Controller IntroductionHave you ever wanted to remotely launch a rocket, drone or other device using infrared t...
- Altimeter Datalogger with Display. Building TutorialAltimeter Datalogger with Display.Components needed:BMP280 sensorI2C to 16x2 displa...
- Remote Igniter + 3D printed Case. Remote IR Igniter.Build an Infrared remote ignitor for model rocket testing and launching!This guide...
You may also like
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
113 0 0 -
DIY Laser Power Meter with Arduino
162 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
156 0 2 -
-
A DIY Soldering Station Perfect for Learning (Floppy Soldering Station 3.0)
561 0 2