home

projects

AeroSense

Winter and Spring 2023

tl;dr: Fully custom distributed environmental monitoring sensors developed with the lab of Sep Makhsous

AeroSense

Intro

The AeroSense project is a project designed to measure environmental data for industrial or research purposes. It is designed to be a low cost, scalable, and modular system that can be deployed in a variety of environments. Both a device and a web interface were created for this project.

Collaboration and Presentation

I worked on this project as a research assistant under the direction of Sep Makhsous. I was the primary engineer and lead the development of the project, but was assisted by Kayleen Garcia in UX/UI, Kai Luo in firmware development, and the rest of the PopularEngineering team helped define the direction of the project. Additionally, Samantha Reksosamudra, Luca Fu, and Rotem Haba helped with research towards the end of the project. This project was built separately from the first edition of this concept (AeroSpec), but was built with the same goals in mind.

I presented this project with the PopularEngineering team alongside their Indoor Localization research at the Alaska Airlines Environmental Innovation Challenge Convention as a low-cost way to measure environmental data in a room with a dynamic sensor.

The PopularEngineering Team

The Device

Hardware

All versions listed below are designed and built by me. They were designed in KiCAD, and were soldered by hand with a tube of solder paste and a mini hotplate.

V1

V1

This initial version contained the desired CO2 Sensor and a header for the PM sensor, but the header footprint was incorrect so the PM sensor couldn’t be connected.

V2

V2

This version was designed to show the minimum possible footprint for the sensor if no extra features were added. This meant that the PM sensor was the only onboard sensor, and neither the battery connections nor the micro sd card slot were added.

V3

This was the final version designed and built by me.

V3

This version was designed to include all of the possible features that we wanted to include in the final version. This meant that the CO2 sensor was added back in, and the battery connections and micro sd card slot were included. Additionally the BME680 was added to measure temperature, humidity, pressure, and VOC concentration.

In order to connect all of the sensors and peripherals, a I2C GPIO expander was included. Additionally, because of the density of components in this version, the PCB was designed to be 4 layers instead of 2, and was soldered with a stencil instead of freehand.

stencil stenciled PCB

Firmware

All of the firmware for the device was written by me in C++. The firmware was written to be as modular as possible, so that it could be easily modified and expanded upon in the future.

PlatfromIO was used to compile and upload the firmware to the device.

The Software

Check out our website here.

The Stack

This website was built using the T3 Stack for frontend and backend. Planetscale is used for the database.

T3 Stack components: