Citizen Science Badge

A badge that enables data collection using a microphone, BME688 air quality sensor to collect data, and upload it using a cellular module.

Badge in action

Some applications of the PCB include:

  • Automating Air Quality data logging using known sounds
  • Conducting community science experiments using a combination of sensors.
Components of the badge

The components of the badge are listed below according to their corresponding number along with their application. They are:

  • Invensense ICS-41350 MEMS Microphone. The audio captured from the microphone is used to detect sound using Edge Impulse
  • Raspberry Pi RP2040 microcontroller with 64MB flash.
  • Blues Wireless cellular module is used to upload data points to the cloud as well as receive “Save The Air” alerts from the cloud.
  • Automotive Gauge Stepper Motor (x27.168) – Used to indicate measured air quality index.
  • Bosch BMI270 IMU to detect motion
  • DA7280 for haptic feedback
  • BME688 air quality sensor to calculate air quality index as well as detect odors
  • JST/ Qwiic sensor port for connecting external sensors.
  • 3 x AA battery pack
  • USB C port for programming.

A detailed write-up is available from on Hackster.io

Pi Day Bling

This is an RP2040-based bling that can detect three keywords: Pi, 3.14, or Irrational

Bling
RP2040 based Pi-Day Bling

The bling is designed around the RP2040 microcontroller. The following image shows the components of the bling.

The components of the bling on the back side (in numerical order) include:

  • RP2040 microcontroller
  • Goertek SD18OB261-060 PDM microphone
  • Flash memory
  • USB-C port
  • Li-Po battery port + charger
  • IS31FL3737 LED driver

The components on the front side of the bling include 12 WS2812B individually addressable RGB LEDs and 48 RGB LEDs.

Demo

The following video shows the bling in action. It changes color every time a keyword is detected!

A detailed write-up is available from here: Hackster

VOC Monitor

This is a second generation device that educates people about Volatile Organic Compounds (VOCs) and Air Quality.

A Raspberry Pi Zero W is used to read data from the VOC sensor via the I2C interface. An RGB LED changes its color based on the measured VOC levels. It can also collect data and upload it to the cloud. This device was:

  • Exhibited at the World Maker Faire held in Queens, NY in September, 2017
  • Featured in the December 2017 of the MagPi magazine from the Raspberry Pi foundation

Here is a video of the device in action where it changes colors when a sharpie is introduced next to the sensor.

Air Quality Display

I built this visual aid for the Buffalo Maker Faire held in May 2018. This display was used to educate visitors about air quality in their zipcodes.

Visitors would enter their zipcode and find out what the air quality looks like where they live.

Visual aid
Visual Aid for tracking air quality

The visual aid was built using an Arduino Yun to celebrate World Arduino Day.

Raspberry Pi based Personal Health Dashboard

The image below shows my Raspberry Pi based Personal Health Dashboard (PHD)

Personal Health Dashboard

I built this dashboard to motivate myself to stay physically active. This dashboard makes use of the Fitbit API to count down from my daily step goal.

  • This dashboard was featured at the World Maker Faire in Queens, NY in September, 2017.
  • It was also featured in the February 2018 issue of the HackSpace Magazine

The major components of this project include:

A detailed write-up of this project is also available at Hackster.io.

Sigfox Hackathon

I participated in a hackathon organized by SigFox and the city of San Francisco. The theme of hackathon was to solve challenges encountered by the city using Sigfox modules.

My team built a disaster response module that can transmit information about the number of people in a room. I implemented the firmware that transmits SOS messages using the Sigfox module. The video below demonstrates the proof of concepts (The static noise at the beginning is caused by the message transmission).

Student Fob tracker

I am a member of the Sensor Sea team at Altschool. The team’s mission is to identify sensors that could be used to collect data from the physical space. One such project was the Student Behavior Tracker. I built this RF receiver that is installed inside each classroom.

We gave one fob to each educator to track specific student behavior: 

The three buttons on the fob were mapped to three behaviors. Whenever the student exhibits a specific behavior, the educator presses the corresponding button. The button press is received by an RF receiver installed inside the classroom. The parsed information and the timestamp is recorded to a spreadsheet via IFTTT

At the end of the day, a report is generated for educators: 

Beats Audio Recorder

I was a member of the Sensor Sea team at Altschool. The team’s mission is to identify sensors that could be used to collect data from the physical space. One such project was Beats. It makes use of an Arduino Yun and a boundary microphone. It runs OpenWRT Linux and the microphone is plugged into the Yun’s USB port. 

It records data throughout the day and simultaneously uploads the data to a local cache. This video shows how educators make use of the collected audio data: 

Social Experiment using Connected Devices

At Altschool, we conducted a social experiment using connected devices. We have three restrooms for about 75 employees and it tends to get crowded during a typical working day. The line extends to the CTO’s desk and he suggested that we install a button that informs people (who are using the restroom) about the line outside. 

I installed this button from bt.tn in the office. 

We installed a neopixel ring and a Particle Photon inside each restroom. They (Particle photon + LED ring) were installed inside a 3D printed case. When a line starts to form, people press the button. We used IFTTT to trigger the light. We received mixed responses from this experiment. 

We also recorded the presses to a spreadsheet. We learned that:

  • The restrooms get crowded around lunch
  • The restrooms were crowded on Tuesdays and Thursdays
  • They were least crowded on Wednesdays due to “Work from Home Wednesdays”

Python Programming with the Raspberry Pi Zero

I co-wrote this book with my brother and it was published in April 2017. The book teaches Python programming with practical examples involving the Raspberry Pi Zero’s GPIO interface.

They include:

  • Setting up the Raspberry Pi as a development environment for learning Python (3.x)
  • Interfacing sensors, actuators and LED displays
  • Exploring machine vision, data visualization, and scientific computations
  • Building a mobile robot using the Raspberry Pi as the controller
  • Building a voice activated home automation controller

Link to title

Fun Fact

This book is a reference textbook for the Embedded Systems Course offered as a part of the M.Tech Industrial Intelligent Systems program.

Raspberry Pi Mechatronics Projects

My brother and I published this book in February 2015. In this book, we wrote about 10 different projects that demonstrates mechatronic system development using the Raspberry Pi. It includes fun projects like a tabletop fountain, christmas lights controller etc.

They include:

  • Prototyping circuits to solve problems using the Raspberry Pi
  • Building mechanisms that could be controlled using the Raspberry Pi
  • Interfacing other prototyping tools such as the Arduino with the Raspberry Pi
  • Building simple tools that automates routine tasks
  • Troubleshooting common problems that arises during development

Link to the title

Load Simulator for Engineering Mechanics

Students of Mechanical Engineering at Carnegie Mellon University make use of a certain servo controller board to simulate loads on their model bridges.

The professor who teaches that class wanted more of these controller boards. Unfortunately the design files and the firmware for these controllers were missing.

I re-designed the circuit and reverse engineered the function of the controller. The video below shows the teaching assistant verifying the function of the first sample. The servo controller includes a microcontroller, potentiometer and a switch.

Autonomous Recharging Agent

This was a graduate school project in the Robotic Agents Laboratory. I was responsible for building the recharging arm that recharges the other robots. I built a proof-of-concept that shows it is possible to recharge a robot in 25 minutes. I used an Arduino to prove the concept.

The video below demonstrates the function of the recharging agent:

VOC sensors

I worked with Professor Eric Paulos at Carnegie Mellon University on this project. This is a wearable device that can measure concentration of atmospheric VOC (volatile organic compounds). These gadgets were meant for the Clean Air Initiative in Pittsburgh and funded by the Heinz foundation.

These gadgets were demonstrated by Professor Paulos at the White House Technology Office. The sensor is interfaced to a microcontroller and runs off a 9V battery. I designed the PCB and wrote the firmware for the gadet. The video below shows its function.

Autonomous Kayak

I was a member of the Telemetric Robotics Group at Carnegie Mellon University for a semester. During this time, I revived a past project to work on a proof-of-concept. 

I wrote some scripts to control the kayak’s movement in a local network. While one kayak was operated using an RF remote, the other kayak reads the GPS coordinates of the RF controlled kayak and follows it. We took the kayaks to the local pond to prove the concept.

Boxing datalogger

I designed this board for a friend. It collects data from a pressure sensor and an accelerometer, transmits the data through a bluetooth module (bluetooth serial module). The board is powered using a Li-Po battery and embedded inside the boxing glove. 

 

Connect Four Robot

This project was a part of my Mechatronic System Design class during graduate school at Carnegie Mellon University. The class project was to design a robot that competes against another robot in a Connect Four game.

I designed the electrical subsystem for the robot. I built the DC motor and stepper motor control circuitry. I also ported an open source Connect Four game algorithm to work on a microcontroller.

Demo of the robot:

Carbon Dioxide Monitor

I built this carbon dioxide monitor at my first job (Picture taken with permission). This was my very first PCB design. It makes use of a PIC16F877A microcontroller. The sensor is interfaced to the microcontroller via the I²C interface. It also controls a 16×2 LCD display. 

The microcontroller triggers the buzzer when it crosses the threshold of 800 ppm. The unit had push buttons to adjust the trigger threshold. I also wrote the firmware for this unit.