Background
The Anti Anti-Masker Mask (AAMM) was a group submission (my friends Phoebe Luo, Olivia Ye, Ryan Chan, and I) to Make UofT, a 24 hour hackathon that ran in February 2022.
The Anti Anti-Masker Mask is a wearable defense mechanism to protect yourself from COVID-19 mandate breakers. It detects if someone within 6 feet of you is wearing a mask or not, and if they dare be mask-less in your vicinity, the shooter mechanism will fire darts at them until they leave.

How We Built It
The mask can be split into 3 main subsystems.
Physical Systems
The dart launcher, frame, and loading system are entirely custom modeled and built using SolidWorks and FDM 3D Printers. The dart launcher is powered by a small lipo battery and uses 2 brushless drone motors as flywheels. The darts are automatically loaded into the launcher by a rack and pinion mechanism driven by a servo, and the entire launcher is controlled by an Arduino Nano which receives serial communications from the laptop.
Sensors and Vision
We used a single-point lidar to detect whether a non-mask wearer is within 6 ft of the user. For the mask detection system, we use a downloadable app to take live video stream to a web server where the processing takes place. Finally, for the vision processing, our OpenCV pipeline reads the data from the web server.
Code
Other than spending 9 hours trying to install OpenCV on a raspberry pi 🤡 the software was one of the most fun parts. To program the lidar, we used an open source library that has premade methods that can return the distance from the lidar to the next closest object. By checking if the lidar is within 500 and 1500mm, we can ensure that a target that is not wearing a mask is within cough range (6ft) before punishing them. The mask detection with OpenCV allowed us to find those public anti-maskers and then send a signal to the s
For more info on the challenges we faced, lessons we learned, and future improvements please check out the AAMM DevPost link below :)
TL;DR We underestimated how hard it would be to run OpenCV on the Pi Zero which ruined our plans of having the lidar, vision, and launcher control all run from a battery-powered Pi. We adapted and due to the short time period of the hackathon found some janky workarounds but in the end, gave us a final working product.