Web Server for ESP32 and ESP8266 Software Update Over the Air

I developed a web server for uploading and handling binary images and serving them to ESP32 and ESP8266 boards. Also, I implemented over the air updating for my ESP32 and ESP8266 boards to enable upgrading of boards I don’t have physical access to. In this post I’ll document how I implemented the web server –…

Multi-Architecture Images for Docker Hub

Multi-architecture Docker images can be created using Docker Manifest and pushed to Docker Hub. I’ll give an example on how to do this. Normally when you build a Docker image and push it to Docker Hub it will work on the architecture on which you build it. For a recent project I needed to implement…

ESP32, PMS5003, BME280, MICS6814 Sensor Build

This build consists of an ESP32 with a PMS5003 particle sensor, a BME280 temperature sensor, and a MICS6814 gas sensor for environment monitoring. This is the second sensor array in the system I call AirPatrol. For reasons I explained previously I call this sensor array Marshall. It will monitor environment conditions in my living room….

Logging for Sensor Networks

Deploying network enabled sensors based on ESP32, ESP8266, and Raspberry Pi requires a way to monitor them. I’ll describe how to implement this, using InfluxDB and Grafana. Logs stored on the devices and serial based logging are not valid options. Some of the sensors sit in inaccessible placed. Generally it’s impractical to physically having to…

ESP8266, BME280, CCS811 Sensor Build

The first sensor array will consist of an ESP8266 with a BME280 and a CCS811. As I described in AirPatrol the upstairs sensor array, called Chase, is a downscaled version of Marshall for added monitoring. It is the simplest of my three sensor arrays with fewest sensors. Therefore, it is also ideal as my first build….

Collect, Present, Alert

Below I’ll describe how I’ll setup Docker, InfluxDB, Grafana, and Slack to easily implement data collection, presentation, and event alerts from a sensor. The need for this setup comes from the requirements for AirPatrol where I describe that I want to have an easily accessible data presentation. To achieve this I’ll use Docker to setup…

Analog Noise and RC filter

Analog signals transmitted through long wires can pick up a lot of noise – the wire will act as an antenna. High frequency noise can be filtered with a lowpass filter. I’ll design, implement, and test an RC filter. Following the posts about Botanix and Effectively killing a plant the project will use an analog soil moisture…

555 Cutoff Timer Design

To prevent flooding when watering plants automatically I’ll design and implement a fallback hardware 555 timer to turn off water if the software fails to do so in due time. This is for my plant watering project Botanix – in-door watering requires certain precautions. This post could be called: Controlling Murphy’s Law To pump water…

Flash Grid Light Modifier

Rummaging through some old stuff I stumbled upon a flash grid I build out of straws a couple of years back. My interest in photography has evolved over the years. For the last couple of years been focused on flash and studio photography. Placing a grid on a flash will focus the light which is…

AirPatrol – Environment Monitors

The goal of AirPatrol is to build a sensor array to monitor environment parameters in my home. These are the requirements. In a household with a 4 year old and a 6 year old making them relate to the project is a good way to get them engaged. Thus, the project naming was inspired by…