Summary
I've been collecting weather data from various sensors around my place for years and have been slowly migrating away from the buy-it kits to the DIY "kits". The process was accelerated when a power-outage bricked the display that came with the weather station, sadly this also took down the indoor temperature as well as barometric pressure readings. Rather than reward the manufacture for making an fragile display I decided to make my own.
The case is designed to hold the following:
- Raspberry Pi4
- Raspberry Pi4 7in Touchscreen Display
- DEVMO PM Sensor SDS011 Air Quality Sensor
- Waveshare BME280 Temperature/Pressure/Humidity Sensor
You will also need a longer ribbon cable than what came with the 7in display. I used a 20cm cable. You can get a 15 Pieces Flexible Ribbon Cable Set from Amazon.com or your favorite electronics supplier.
I put my Pi in a Geekworm Raspberry Pi 4 Armor Case because it is completely quiet and in my small testing kept the Pi as cool or cooler than the other case I have a fan for. The display case models should work with other setups (and I included nut cutouts to support them) but I haven't tested them.
You will also need:
- 4x m2.5 nuts and screws (to affix the pi to the supports in the display case) (I used the screws that came with the Geekworm Armor Case)
- 4x m3 screws 6-8mm to affix front panel to touch screen display.
- 2x m2 (or 2.5m) nuts and screws (6 or 8mm) to affix the BME280 sensor to the display case
- 3x m3 nuts and screws (8mm) to affix the SDS011 sensor to the display case.
- 2x m3 nuts and screws (12mm) to assemble the stand base and attachment.
- 1x m3 nut and screw to securely fasten the back of the case to the front.
- Superglue to secure the nuts to the case.
(You will want to print a 3m spacer for each of the m3 screws, and a 2.5mm spacer for each m2.5 screws you use for the case. You don't need any spacers for the stand base and attachment
Once assembled I set up the Pi to load my weather station using the weewx-kiosk-docker project. I now have a touch screen enabled weather display that I can customize to display the weather infor I want how I want it. Way better than the stock and comparatively static and low-fidelity display that bit the dust.
Print Settings
Printer Brand:
Creality
Printer:
Ender 3 Pro
Rafts:
No
Supports:
Yes
Resolution:
200
Infill:
Any
Notes:
Only the back case needs supports for the cable opening at the bottom of the case. Make sure there are only supports for this opening, none of the other overhangs should need supports (and they will be a pain to remove if you add them).
I used HTPLA for the base attachments with a gyroid infill (in Cura, not sure what other slicers have) because I've found the HTPLA is less brittle and I experience better layer-adhesion with them then plain PLA. Plain PLA should work too.
Post-Printing
Assembly Instructions
Assembling the display case:
After printing all of the pieces use superglue to secure all of the nuts you plan to use in the cutouts in the support structure in the display. There is a small cutout on the backside of the front panel don't forget to glue a nut in there as it is a little hard to access later on.
You may want to pre-wire the display ribbon cable and wires for the Pi and touchscreen display, depending on your dexterity and whatever works for you. I pre-wired the ribbon cable (because the CSI/DSI connector tab on my display broke which made inserting the ribbon cable in later untenable. I used the 5V and ground GPIO pins on the PI to power the display as this removes the need for a second USB cable to enter the case.
- Take the 7in touchscreen out and insert it into the cutout on the front panel. The holes in the front panel should align neatly with the screw holes on the display. (Note for some reason the bottom left corner was off by a fraction of a mm for me and I had to manually widen the bottom left screw hole to get the screws to gain tracking on the display).
- Attach the Raspberry Pi to the component supports. I had to do this first because the Armor case screws hold the case on from the bottom. If you use another case or screw in the pi from the top you can attach the Pi later (assuming you glued nuts for the Pi onto the component support). I used 4 2.5mm spacers to life the Pi PCB off of the component support.
- Align the component supports such that the screw mounts align with the front-panel cutouts and touch screen display screw holes. Note the cable coming out of the display is the bottom of the display.
- Use 4 m3 screws, 6 or 8mm or whatever works for you to secure the front panel and the component supports to the display.
- Use 4 m3 screws to affix the front panel to the display.
- Attach the BME280 sensor using 2 m2.5 screws and nuts. Use the 2.5m spacers between the BME280 PCB and the component supports to ensure the sensor gets airflow on both sides.
- Attach the SDS011 sensor using 3 m3 screws and nuts. (The nuts need to be glued in at this point as they are no longer accessible and may fall out otherwise) use the 3mm spacer to ensure the sensor is raised off of the component support.
- If you haven't already attach the Raspberry Pi to the component support.
- Connect the BME280 wires to the GPIO pins on the PI and the SDS011 sensor to an open USB port on the PI.
- Attach the Pi USB-C cable to the Pi (don't power on the Pi yet).
- Slide the front of the case onto the front panel. There are guides at the top to help get it on straight.
- Use a m3 screw (8mm should do it) to secure the front of the case to the back.
Assembling the stand:
- Super glue an m3 nut to the cutout inside the stand base.
- Insert the stand attachment into the base (it should only go in one way) and secure it using an m3 screw. Note there is a cutout for an m3 nut. You can use a nut to get a little extra traction on the plastic to hold it in place if you need.
- Adjust the base angle to your liking and tighten the screw until the base and attachment are snug and secure and don't move around.
- Repeat these steps for the other stand.
- Insert the stand into the case using the cutouts on the bottom of the case.
Enjoy!
How I Designed This
Источник модели
