Category: Open Source Software

  • DIY Advanced Indoor/Outdoor Environmental Monitoring & Weather Station

    My Weather Station in Progress…

    For all of you that might be a little bit of a “Weather Geek” like me, and care about your respiratory health, here is a project that may be of interest to you, especially with regard to environmental exposures monitoring, along with a standard local weather station. I have put together this project that you can build for yourself, and it can be expanded to measure other aspects of your local environmental/weather conditions as well. I have listed this project on Thingiverse (https://www.thingiverse.com/thing:7347425), and plan to put up a Github repository for the code, as well as an Instructables page to provide instructions for the build process.

    *Everything here is a “Work In Progress”, so just know that things will change with regard to this project over time. At the end of this post, I will attach a BOM for those who wish to attempt this project.*

    It is a Raspberry Pi Zero 2W/Raspberry Pico 2 based wireless indoor/outdoor environmental conditions station that happens to also function as a local weather station. For this project, I chose to use a Raspberry Pi Zero 2W for the main server “base” station, and 2 Raspberry Pico 2‘s for the “remote” devices, to take the following measurements:

    1. Outdoor Weather (With UV Index)
    2. Outdoor Air Quality (Particulate Matter)
    3. Indoor Air Quality (CO² Concentration)

    The Raspberry Pi Zero 2W will function as the central server to receive and report the measurements of the 2 Raspberry Pico 2W sensor devices, and render the data it receives from them in the WeeWX webserver interface that you can access from your web browser on your computer, smartphone, or tablet on your local area network. It has has the following software installed:

    On the 2 Raspberry Pico 2‘s that I am using for this project, I have chosen to install Circuit Python onto them, since it is the most compatible version of Python for Adafruit Industries devices. Some of you might want to choose to use Micropython for this use case, but be forewarned that when I wrote this post, I found out that Micropython did not have working drivers for at least one of these device’s sensors – specifically the Bosch sensor on the Adafruit BME680. As an added bonus, CircuitPython provides a builtin lightweight webserver interface that can be accessed over your local area network (LAN) for troubleshooting, device resetting, and easily editing/updating the code contained on each Raspberry Pico 2W unit. This has definitely come in handy for me on more than one occasion.

    In my setup, the Raspberry Pico 2‘s take the following sensor readings:

    The first of the Pico’s in this setup will be located outdoors, and the second one will be indoors. The first Pico (we’ll call that one “AQO-Pico”). It will be taking the following measurements:

    It is important to note here that AQO-Pico will be taking an air quality index measurement, in the form of a particulate matter measurement, given in μg/m³. It senses particulate matter of various sizes, and the ones that we will be measuring are in the 1 μg/m³, 2.5 μg/m³, and 10 μg/m³ ranges respectively.

    Particulates 2.5 μg/m³ or smaller are the ones that are “bad” for us, since these are ones that are small enough to enter our aveoli (the small sacs in our lungs that allow oxygen to get into the bloodstream), and negatively impact our health – pretty much immediately for people with breathing problems, like asthma or bronchitis, and for healthier individuals, they cause harm over time, contributing to “wonderful” 🤢 diseases like COPD, emphysema, and lung cancer.

    But enough of the health science stuff for now, let’s get back to the topic at hand – the weather station build!

    Okay, so the second Pico in my setup(which I will call “AQI-Pico”), will be tasked with measuring the following values indoors:

    Just as outdoor particulate matter can be harmful to our health, excessively high indoor concentrations of CO² can be harmful to us as well, that is why measuring it is important.

    Ok, so now that we know what devices we have in our setup, and what they will be doing/measuring, we can now move on to the sensors portion of things. For this project, I chose to use the following sensors, sourced from Adafruit Industries:

    The one sensor I did not buy from Adafruit, but is included in this build, is the ds18b20 temperature sensor, which is used to measure ambient temperature. I installed it on the mast of the Weather-Pico outdoor unit, housed in

    For the weather monitoring part of things, including the wind direction, wind speed, and precipitation measurements, I bought the Wind/Rain Sensor Assembly from Argent Data Systems, since it was much cheaper than I could find it anywhere else on the Internet.

    To make things a simple as possible to cleanly connect the Wind/Rain sensor assembly, I chose to get the BC Robotics Raspberry Pi Pico 1591B Weather Board, with which I am really impressed/super happy about, save for 2 caveats:

    • You have to solder the Raspberry Pico 2W to it, so you should have good soldering skills, and the right equipment to do the soldering.
    • If you are having it shipped to the U. S., you will pay more in tariffs than you will for the PCB. It cost me $16.78 USD for the board itself, and I ended up paying $89 USD for it by the time I paid for shipping, tariffs, and brokers fees to get it across the border. I think the shipping cost was $11 for my order, from Nanaimo, British Columbia, Canada, to Mossyrock, Washington, USA (188 miles).

    For the power supply end of things, I bought the following items:

  • “Trixie” Available for Raspberry Pi

    In case you missed it, Raspberry Pi OS 13, “Trixie” is now available for download! Please see here for details: https://www.raspberrypi.com/news/trixie-the-new-version-of-raspberry-pi-os/.

    If you are running the Hailo AI accelerator on your Raspberry Pi, make sure to wait until the new libraries are out before you make the switch!

    Update April 12, 2026: Hailo AI accelerator is ready and fully functional for Raspberry Pi OS Trixie! Yay! 😉

  • Debian 13 “Trixie” Released Today!

    WooHoo! Debian 13, codename “Trixie” is released today, with all sorts of new goodness to play with! Here is the Press Release, the Release Notes, and a Direct Link for to get the goodness that is Debian! Also, here is How to Upgrade to Trixie for all of you that already “Know the Love”!

  • My Journey with OpenWebUI

    July 4, 2025:

    Today, I am starting my journey using OpenWebUI, a self hosted AI platform.

    I will be adding to this post as I go along – sharing in the discovery, failures, learning, frustration, and successes of hosting my own local AI.

    July 16, 2025:

    Hosting your own AI has many benefits:

    Hosting your own local Artificial Intelligence (AI) solution can bring several benefits to individuals, organizations, and communities. Here are some advantages, according to my OpenWebUI instance using the LLM model Llama3.1(8B):

    1. Improved Data Privacy: By hosting AI locally, you maintain control over the data and ensure it remains within your premises or a secure, trusted location. This minimizes the risk of data breaches, cyber attacks, and unauthorized access.
    2. Enhanced Security: Local AI deployment reduces the attack surface for malicious actors to target, as there’s no need to transmit sensitive data to the cloud. You can implement robust security measures to protect your system from vulnerabilities.
    3. Increased Performance: Hosting AI locally allows for faster processing times and reduced latency, especially when dealing with large datasets or real-time applications. This is particularly beneficial in applications like autonomous vehicles, drones, or smart cities.
    4. Reduced Dependence on the Cloud: By having a local AI infrastructure, you’re less reliant on cloud services, which can be vulnerable to outages, downtime, or changes in their terms of service.
    5. Customization and Flexibility: Local AI hosting enables you to tailor the solution to your specific needs and requirements. You can modify the architecture, algorithms, and models to suit your organization’s unique circumstances.
    6. Cost Savings: While initial investment costs may be higher for local AI deployment, they can lead to long-term cost savings by reducing cloud service fees, data transmission costs, and potential penalties for non-compliance with regulations.
    7. Regulatory Compliance: By hosting AI locally, you may be better positioned to comply with specific regulatory requirements, such as data residency laws, GDPR, or CCPA, which mandate the storage of sensitive data within a country’s borders.
    8. Edge Computing Benefits: Local AI deployment enables edge computing applications, where processing happens closer to the source of the data (e.g., IoT devices). This reduces latency and improves real-time decision-making capabilities.
    9. Disaster Recovery and Business Continuity: With a local AI infrastructure in place, you can ensure business continuity during outages or disasters by switching to a secondary system or location.
    10. Research and Development Opportunities: Hosting local AI solutions creates opportunities for research and development (R&D) within your organization, allowing you to explore new applications, models, and techniques.

    Usefully Fast:

    Mind you, that response took only 13 seconds for my AI rig to take my prompt, which was “Benefits of hosting your own local AI”, to think about it, and then write this output for me (and you) in a clean, easy to read format. It also gave me “Follow up” questions like these:

    Follow up

    What are some common challenges or considerations when implementing a local AI solution?


    Can you provide more information on the hardware requirements for hosting a local AI solution?


    How do I choose the right AI framework or platform for my specific needs?

    Thoughts:

    As you can see, you get a lot of information and suggestions for follow up questions pretty quickly. That’s not too shabby for a 6 year old computer I cobbled together from spare parts, using a currently “normal” sized LLM. You can get information on an incredible range of subjects in a clear, concise output which you can use to help with your workflows and/or thought processes without spending too much money. From what I have learned, the most important part is to have a good GPU (Graphics Processing Unit) to do the work quickly, as AI speed is mostly determined by GPU, not CPU. Just to save you the time and hassle of doing the research yourself, here is an Amazon link to the GPU I’m using for my AI rig: NVIDIA 3060 12GB OC Edition. It is a cost-effective modestly priced GPU with quite a bit of VRAM, which is (primarily) what OpenWebUI uses to process your requests, and return the outputs.