acrylic sheet rgb glowing weather station with indoor/outdoor/forecast using esp8266
by:LCD Mall
2020-08-12
The weather station I did was based on Daniel Eichhorn\'s software from Switserland.
This firmware includes the measurement of internal temperature humidity and external temperature and air pressure (
Get data from 2nd Weather station connected to thingtalk)
Local forecast data from Wunderground (
Weather Underground)
Please see his blog and want to make sure that my project this time I added everything I need to complete my Instructure.
Let me know if anything is missing!
I think it would be cool to design my own weather station with a larger OLED Display (
Not the original 0. 96\", I found 2. 4\")
And pay great attention to the appearance of the station.
So as the \"shell\" I used the acrylic sheet of my laser
Cut into the shape of the sun/cloud.
My goal is to make acrylic \"glow\" based on predictions or other criteria: red means it warms, blue means it gets cold, white flashes: thunderstorms are expected. Etc.
Or just the beautiful color you like?
I used about to do this.
20 cm Adafruit rgb led Neopixel bar around the OLED display (
There are a total of 12 Neopixels on this street).
They\'re very easy with their 1-
Wire connection and built-in-
LED controller for each LED!
Cheaper Chinese clones might work, but I would like to make sure and want to use Adafruit lib.
So I expanded the firmware Neopixel control (
RGB led of Adafruit on one board)
The decline of peace and slip.
Depending on the forecast data and current readings, Neopixels will now fade in some color.
I use almost any technology I have.
Thanks to my local FabLab, CAD schematic design PCB, Arduino programming, laser cutting, 3d printing. Update!
This was added after I posted the text in the Instructure and the following steps.
I noticed that the USB cable is clearly visible in the picture I uploaded.
I didn\'t pay attention to it while posting, but now it\'s starting to annoy me.
So I have a solution.
Instead of using the USB connector mentioned in my electronic material list, use this connector instead.
Now, when the USB cable is plugged in, the USB cable points back.
However, this connector is not suitable for the PCB design I made.
A little mechanical adjustment is needed to overcome this.
Two large metal pins on this connector I bend to the side and weld them to the PCB large ground pads.
I had to push 5 USB data pins slightly to the PCB so they could touch the PCB and do the soldering.
I also added a picture showing how to do this with this step.
It\'s up to you to decide which connector to use, and the BOM is the connector installed directly on the PCB, but the connector mentioned in this update makes the station look better!
Download the ZIP file I attached to this project which contains everything: CAD file for laser cutter (body + stand)
And 3d printers (display bezel)
, Schematic diagram of PCB and Gerber File, bill of materials for electronic products, and firmware for the mechanical part I use acrylic sheet.
In the Netherlands I found a really cheap supplier of plexiglass where you can order the smallest size of plexiglass you like (
Just the size you need)
In all thickness.
Please click here for Dutch readers.
For others, you have to find this locally.
You can make the base and body with any acrylic resin you like, I show here what I do.
But, for example, the body of the cloud/Sun can also disappear from 1 clear sheet of paper, not the cloud clear, the sun yellow --clear.
ElectronicsHere is a complete overview of what I use in my project.
In terms of electronic technology, I will explain further the use of these parts.
Depending on what you want the station to show, you can decide not to use them all.
You need at least ESP8266 and OLED display!
SoftwareI provides all CAD files, and the cutting itself depends on the speed and power of the machine available locally to you.
I have included the base bracket file, a file with the full sun/cloud, and two separate files for the Sun and the cloud.
In the picture you can see, I made two bodies, one is completely transparent and the other is the yellow sun on the yellow acrylic sheet.
Using the files provided, you can choose which one to make.
Finally, I chose the yellow sun, the transparent colorless cloud, the blue base.
I provided a laser.
The cut version of the border and the 3d file version.
If you choose the laser version then you need the plastic sheet. 1mm to 1. 5mm thick.
I use a laser.
Because it looks cleaner than 3d printing and has less light exposure due to RGB LEDs.
Align the laser
The cut version of the acrylic body is more difficult because it doesn\'t have a gap like the 3d print version, but looks tighter and doesn\'t let the light go through the RGB (Neopixel)
The LEDs behind it glow through the acrylic body.
The 4 corner holes on the acrylic body need to be treated with the counter table.
A picture was added to this step showing the appearance of the anti-concave hole.
This way, when installing the PCB on the acrylic body, you can put the screws on the body, and the baffle will be installed well on it, hiding the screws.
I used a pair at last.
Attach the bezel to the double sided tape on the body of the plexiglass.
After I tested my electronics prototype on the breadboard (
Lab Board)
I decided to design a printed circuit board that looks very beautiful and makes it easier.
So there are two ways to build your own weather station variants.
On a simple breadboard or you can use my PCB design!
The easy way to do this is: using the PCB to design the parts list, I provide the schematic diagram of the PCB, the material list and the Gerber file.
The easy way is to buy the parts on my material list (
Including Farnell/Newark order code)
, Order my PCB design from the PCB supplier of your choice and weld on the PCB.
No further instructions are required, you can go to the next step after welding.
Note: R7 R8 is not installed as there is-on the OLED display I am using-board pull-
Its up resistance on the I2C SCLK and SDA lines.
To fit the PCB to the back of the acrylic body, I used 4 12mm high brackets and 4 M3 screws with a counterhead.
Building an electronic circuit on the lab board as an alternative, you can build the circuit on the lab board, using only the parts you can do and/or want to use.
Schematic PCB layout is fancy version, but when I pre-
I connect it with some \"in the air\" wires, the OLED display DHT22 is connected directly to the ESP8266 with wires, everything is running on 3. 3V.
However, Neopixels do require a large electrolytic capacitor of 5 V, 470 ohm resistance for protection, so please use them.
The additional part in the final schematic is to ensure that each part that is intended to run on 5v gets 5v and can communicate securely with 3.
3V ESP8266 is not damaged.
Fuses have also been added for protection.
Ordering PCB and parts from BOM is the easiest way, but here is some information if you want to keep the cost to a minimum.
So this information is only for those who want to build the circuit manually and use the smallest components.
You need OLED panels and esp8266 at least.
The DHT22 is used to measure the internal temperature and humidity.
You can leave this if you want.
In addition, the connection to thingtalk is optional.
I just used this to show what I measured at my doorstep.
If you want to include it on your station, it requires you to have your own data on thingtalk using your own weather station.
There are a lot of options to find on structures. com.
My own is to use only the ESP8266 with the mp180 pressure temperature sensor.
I will also post my thingtalk station when I finish this Instructure and have time, and update this Instructure :)
First of all: all capacitors and resistors are none-
That means you need them, but that\'s what anyone will do.
So a resistance of 5% can also be used, and a capacitor of 20% can also be used.
All footprints (sizes)
Same: 0805 casing.
IC6 is only used to easily program ESP8266 from Arduino IDE using USB cables similar to Arduino.
If you already have a USB converter like ftsfp or something like that, you can also skip IC6 and pre-
Program ESP8266 with software.
If you do, then S1 and S2 can also be skipped.
F1 and D1 are for protection.
Don\'t install D1 and short if you don\'t want this-
Just pack the F1 circuit with a wire, tin drop or fancy \"1206\"-shaped 0 ohm resistor.
Level 2, 3, 4, 5 translation.
I added them to make sure the 5v component can communicate with 3. 3V components.
I have seen at least some designs where people feed DHT22 with 3.
3V although this is too low according to specifications.
You can try this as well, don\'t install ic3.
In this case, connect the GPIO12 of ESP8266 directly to the DHT22 data pin.
Neopixels are not suitable to run on 3.
3V logic signal, it definitely needs 5V power supply: 3. 3V is too low.
As a compromise, some people run their circuits on the 3 Th.
7v using LiPo battery.
You can do this, but keep in mind that this is the maximum value of ESP8266 and also the minimum value of Neopixels.
In my schematic PCB design, the OLED panel is powered by 5 v.
I know it works on number 3. 3V as well (tested it)
Only light intensity is slightly lower.
If you want to build the circuit on the lab board, just feed it with 3.
You will be fine. The last step!
Software is very important.
If you have already used my PCB design then it is possible to program in Arduino IDE.
Set the board in the IDE to a universal ESP8266 module.
Connect the weather station to a PC using a micro USB cable.
The COM port you need depends on the COM number your computer gives to the weather station.
You can find this in the device manager under the port.
My ESP8266 comes with a speed/bode rate of 115200, so this is what I set up in the IDE.
Press the switch on the board: first S2, then S1, then S1.
Blue light on ESP-
07 flashes quickly and ESP8266 is in boot loader mode ready to upload the sketch.
The code is very self-contained.
Explained and commented on the work of each section.
In the code, there is a section to start/end with:/start setting:/in this section, you will need to fill in some details of your local wifi, Wunderground, and thingtalk accounts.
You can specify in the code: int numberOfFSo how many pages must be displayed on the OLED panel, for example, if you want to skip the thingtalk string. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . }
This firmware includes the measurement of internal temperature humidity and external temperature and air pressure (
Get data from 2nd Weather station connected to thingtalk)
Local forecast data from Wunderground (
Weather Underground)
Please see his blog and want to make sure that my project this time I added everything I need to complete my Instructure.
Let me know if anything is missing!
I think it would be cool to design my own weather station with a larger OLED Display (
Not the original 0. 96\", I found 2. 4\")
And pay great attention to the appearance of the station.
So as the \"shell\" I used the acrylic sheet of my laser
Cut into the shape of the sun/cloud.
My goal is to make acrylic \"glow\" based on predictions or other criteria: red means it warms, blue means it gets cold, white flashes: thunderstorms are expected. Etc.
Or just the beautiful color you like?
I used about to do this.
20 cm Adafruit rgb led Neopixel bar around the OLED display (
There are a total of 12 Neopixels on this street).
They\'re very easy with their 1-
Wire connection and built-in-
LED controller for each LED!
Cheaper Chinese clones might work, but I would like to make sure and want to use Adafruit lib.
So I expanded the firmware Neopixel control (
RGB led of Adafruit on one board)
The decline of peace and slip.
Depending on the forecast data and current readings, Neopixels will now fade in some color.
I use almost any technology I have.
Thanks to my local FabLab, CAD schematic design PCB, Arduino programming, laser cutting, 3d printing. Update!
This was added after I posted the text in the Instructure and the following steps.
I noticed that the USB cable is clearly visible in the picture I uploaded.
I didn\'t pay attention to it while posting, but now it\'s starting to annoy me.
So I have a solution.
Instead of using the USB connector mentioned in my electronic material list, use this connector instead.
Now, when the USB cable is plugged in, the USB cable points back.
However, this connector is not suitable for the PCB design I made.
A little mechanical adjustment is needed to overcome this.
Two large metal pins on this connector I bend to the side and weld them to the PCB large ground pads.
I had to push 5 USB data pins slightly to the PCB so they could touch the PCB and do the soldering.
I also added a picture showing how to do this with this step.
It\'s up to you to decide which connector to use, and the BOM is the connector installed directly on the PCB, but the connector mentioned in this update makes the station look better!
Download the ZIP file I attached to this project which contains everything: CAD file for laser cutter (body + stand)
And 3d printers (display bezel)
, Schematic diagram of PCB and Gerber File, bill of materials for electronic products, and firmware for the mechanical part I use acrylic sheet.
In the Netherlands I found a really cheap supplier of plexiglass where you can order the smallest size of plexiglass you like (
Just the size you need)
In all thickness.
Please click here for Dutch readers.
For others, you have to find this locally.
You can make the base and body with any acrylic resin you like, I show here what I do.
But, for example, the body of the cloud/Sun can also disappear from 1 clear sheet of paper, not the cloud clear, the sun yellow --clear.
ElectronicsHere is a complete overview of what I use in my project.
In terms of electronic technology, I will explain further the use of these parts.
Depending on what you want the station to show, you can decide not to use them all.
You need at least ESP8266 and OLED display!
SoftwareI provides all CAD files, and the cutting itself depends on the speed and power of the machine available locally to you.
I have included the base bracket file, a file with the full sun/cloud, and two separate files for the Sun and the cloud.
In the picture you can see, I made two bodies, one is completely transparent and the other is the yellow sun on the yellow acrylic sheet.
Using the files provided, you can choose which one to make.
Finally, I chose the yellow sun, the transparent colorless cloud, the blue base.
I provided a laser.
The cut version of the border and the 3d file version.
If you choose the laser version then you need the plastic sheet. 1mm to 1. 5mm thick.
I use a laser.
Because it looks cleaner than 3d printing and has less light exposure due to RGB LEDs.
Align the laser
The cut version of the acrylic body is more difficult because it doesn\'t have a gap like the 3d print version, but looks tighter and doesn\'t let the light go through the RGB (Neopixel)
The LEDs behind it glow through the acrylic body.
The 4 corner holes on the acrylic body need to be treated with the counter table.
A picture was added to this step showing the appearance of the anti-concave hole.
This way, when installing the PCB on the acrylic body, you can put the screws on the body, and the baffle will be installed well on it, hiding the screws.
I used a pair at last.
Attach the bezel to the double sided tape on the body of the plexiglass.
After I tested my electronics prototype on the breadboard (
Lab Board)
I decided to design a printed circuit board that looks very beautiful and makes it easier.
So there are two ways to build your own weather station variants.
On a simple breadboard or you can use my PCB design!
The easy way to do this is: using the PCB to design the parts list, I provide the schematic diagram of the PCB, the material list and the Gerber file.
The easy way is to buy the parts on my material list (
Including Farnell/Newark order code)
, Order my PCB design from the PCB supplier of your choice and weld on the PCB.
No further instructions are required, you can go to the next step after welding.
Note: R7 R8 is not installed as there is-on the OLED display I am using-board pull-
Its up resistance on the I2C SCLK and SDA lines.
To fit the PCB to the back of the acrylic body, I used 4 12mm high brackets and 4 M3 screws with a counterhead.
Building an electronic circuit on the lab board as an alternative, you can build the circuit on the lab board, using only the parts you can do and/or want to use.
Schematic PCB layout is fancy version, but when I pre-
I connect it with some \"in the air\" wires, the OLED display DHT22 is connected directly to the ESP8266 with wires, everything is running on 3. 3V.
However, Neopixels do require a large electrolytic capacitor of 5 V, 470 ohm resistance for protection, so please use them.
The additional part in the final schematic is to ensure that each part that is intended to run on 5v gets 5v and can communicate securely with 3.
3V ESP8266 is not damaged.
Fuses have also been added for protection.
Ordering PCB and parts from BOM is the easiest way, but here is some information if you want to keep the cost to a minimum.
So this information is only for those who want to build the circuit manually and use the smallest components.
You need OLED panels and esp8266 at least.
The DHT22 is used to measure the internal temperature and humidity.
You can leave this if you want.
In addition, the connection to thingtalk is optional.
I just used this to show what I measured at my doorstep.
If you want to include it on your station, it requires you to have your own data on thingtalk using your own weather station.
There are a lot of options to find on structures. com.
My own is to use only the ESP8266 with the mp180 pressure temperature sensor.
I will also post my thingtalk station when I finish this Instructure and have time, and update this Instructure :)
First of all: all capacitors and resistors are none-
That means you need them, but that\'s what anyone will do.
So a resistance of 5% can also be used, and a capacitor of 20% can also be used.
All footprints (sizes)
Same: 0805 casing.
IC6 is only used to easily program ESP8266 from Arduino IDE using USB cables similar to Arduino.
If you already have a USB converter like ftsfp or something like that, you can also skip IC6 and pre-
Program ESP8266 with software.
If you do, then S1 and S2 can also be skipped.
F1 and D1 are for protection.
Don\'t install D1 and short if you don\'t want this-
Just pack the F1 circuit with a wire, tin drop or fancy \"1206\"-shaped 0 ohm resistor.
Level 2, 3, 4, 5 translation.
I added them to make sure the 5v component can communicate with 3. 3V components.
I have seen at least some designs where people feed DHT22 with 3.
3V although this is too low according to specifications.
You can try this as well, don\'t install ic3.
In this case, connect the GPIO12 of ESP8266 directly to the DHT22 data pin.
Neopixels are not suitable to run on 3.
3V logic signal, it definitely needs 5V power supply: 3. 3V is too low.
As a compromise, some people run their circuits on the 3 Th.
7v using LiPo battery.
You can do this, but keep in mind that this is the maximum value of ESP8266 and also the minimum value of Neopixels.
In my schematic PCB design, the OLED panel is powered by 5 v.
I know it works on number 3. 3V as well (tested it)
Only light intensity is slightly lower.
If you want to build the circuit on the lab board, just feed it with 3.
You will be fine. The last step!
Software is very important.
If you have already used my PCB design then it is possible to program in Arduino IDE.
Set the board in the IDE to a universal ESP8266 module.
Connect the weather station to a PC using a micro USB cable.
The COM port you need depends on the COM number your computer gives to the weather station.
You can find this in the device manager under the port.
My ESP8266 comes with a speed/bode rate of 115200, so this is what I set up in the IDE.
Press the switch on the board: first S2, then S1, then S1.
Blue light on ESP-
07 flashes quickly and ESP8266 is in boot loader mode ready to upload the sketch.
The code is very self-contained.
Explained and commented on the work of each section.
In the code, there is a section to start/end with:/start setting:/in this section, you will need to fill in some details of your local wifi, Wunderground, and thingtalk accounts.
You can specify in the code: int numberOfFSo how many pages must be displayed on the OLED panel, for example, if you want to skip the thingtalk string. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . }
Custom message