Project

# Title Team Members TA Documents Sponsor
22 Oscilliosketch: Handheld XY Etch-a-Sketch Signal Generator for Oscilloscopes
Eric Vo
Josh Jenks
Team Members:
- Josh Jenks (JaJenks2)
- Eric Vo (ericvo)

# Problem
Oscilloscope XY mode is a powerful way to visualize 2D parametric signals and vector like graphics, but interactive control typically requires multiple bench instruments or ad hoc setups. There is no simple, handheld, purpose-built controller that can safely generate stable, low noise bipolar X/Y signals for XY mode while providing an intuitive drawing interface. Additionally, producing clean vector style graphics requires careful mixed signal design (DAC, filtering, level shifting, buffering, protection) and deterministic embedded control.

# Solution
We will design a custom PCB and handheld enclosure that connects to an oscilloscope’s CH1 and CH2 inputs (X and Y). The device will function like an Etch-a-Sketch: two rotary encoders control the on screen cursor position, allowing continuous line drawing on the oscilloscope in XY mode. The PCB will include:
- A microcontroller (STM32- or ESP32-class) to read the encoders/buttons and generate X/Y sample streams
- An external dual channel DAC to produce two analog voltages
- Analog filtering, level shifting, and buffering to generate bipolar outputs with selectable full scale up to ±5 V
- A complete power subsystem powered from USB-C 5 V, including a generated negative rail to support bipolar analog output
- Output protection/current limiting so the device cannot damage the oscilloscope inputs under reasonable misuse

Stretch goals: add a vector rendered game/demo mode (Pong; Asteroids as further stretch), including optional Z axis blanking to reduce retrace artifacts, and optional line level audio output to monitor/play back generated signals.

# Solution Components

## Subsystem 1: User Input / UI
Purpose: Provide intuitive control for drawing and mode selection.
Components (examples):
- 2x incremental rotary encoders with push switch (e.g., Bourns PEC11R series or equivalent)
- 4x tactile pushbuttons (e.g., mode select, clear/recenter, scale/zoom, optional pen/blank)
- Optional status LEDs for mode feedback

## Subsystem 2: Microcontroller + Firmware
Purpose: Read inputs, maintain drawing state, and generate X/Y sample buffers at a fixed update rate.
Components:
- MCU (STM32- or ESP32-class)
- Example options: ESP32-WROOM-32E module OR STM32G4/F4-class MCU with SPI + timers
Firmware features:
- Quadrature decoding for encoders; button debouncing
- Drawing modes:
- Base mode: “etch-a-sketch” continuous drawing (position integration with adjustable step/scale)
- Optional modes: predefined shapes/patterns for testing
- Fixed rate DAC update engine (timer driven), with buffered generation to keep output stable independent of UI activity

## Subsystem 3: Dual-Channel DAC + Analog Output Chain (X and Y)
Purpose: Generate clean, low noise bipolar voltages suitable for oscilloscope XY inputs.
Components (examples):
- Dual-channel SPI DAC, 12-bit (Microchip MCP4922 or equivalent)
- Reference for stable scaling / midscale (e.g., LM4040-2.5 or equivalent 2.5 V reference)
- Optional reconstruction filtering per channel (RC and/or 2nd order low-pass) to eliminate high frequency components
- Op-amp signal conditioning:
- Level shift around midscale + gain to produce bipolar output centered at 0 V
- Buffer stage for stable drive into coax cables and oscilloscope inputs
- Example op-amp class: dual op-amp supporting ±5 V rails (e.g., OPA2192/OPA2197 class or equivalent)
- Output connectors:
- 2x PCB mount BNC connectors (X and Y outputs)
- Output protection / safety features (per channel):
- Series output resistor (current limiting and stability into cable capacitance)
- Clamp diodes to rails to limit overvoltage at the connector
- ESD considerations and robust grounding strategy

## Subsystem 4: Power Regulation
Purpose: Provide clean digital and analog rails from a safe, convenient input.
Components (examples):
- USB-C 5 V input (sink configuration with CC resistors) + input protection
- 3.3 V regulator for MCU and logic (e.g., AP2112K-3.3 or equivalent)
- Negative rail generation for analog (e.g., TPS60403 inverting charge pump or equivalent) to enable bipolar outputs
- Power decoupling and analog/digital rail isolation as needed

## (Stretch) Subsystem 5: Z-Axis Blanking Output (Optional)
Purpose: Improve vector graphics/game rendering by blanking the beam during “retrace” moves.
Components:
- Protected Z-output driver (0–5 V-class control) to oscilloscope Z-input
Firmware:
- Assert blanking during reposition moves; unblank during line segments

## (Stretch) Subsystem 6: Line-Level Audio Output (Optional)
Purpose: Provide an auxiliary line out to monitor synthesized signals audibly.
Components:
- 3.5 mm TRS jack (line out)
- AC coupling + attenuation network and optional buffer
Firmware:
- Optional stereo mapping (e.g., X→Left, Y→Right) after removing DC offset

# Criterion For Success
The project is considered successful if all of the following are demonstrated and measured:

1. Bipolar XY output with selectable range:
- Device generates two analog outputs (X and Y) centered at 0 V, with selectable full-scale up to ±5 V.
- Verified with DMM and oscilloscope measurements (documented calibration procedure).

2. Stable interactive drawing in XY mode:
- Using the two rotary encoders, a user can draw continuous line art on an oscilloscope in XY mode.
- At minimum, demonstrate repeatable drawing of a square and a circle using the controller’s clear/recenter and scaling functions.

3. Deterministic update behavior:
- The firmware updates the DAC using a hardware timer or equivalent mechanism to maintain stable, non intensity varying output during user interaction.

4. Safe interfacing / cannot damage scope under reasonable misuse:
- Output stage includes current limiting and voltage clamping such that accidental output short-to-ground and brief overdrive conditions do not produce damaging currents into the oscilloscope input.
- Verified by bench test (short to ground test and measurement of limited fault current through series resistor).

(Stretch) Demonstrate a vector rendered mode (Pong; Asteroids further stretch) with reduced retrace artifacts if Z-blanking is implemented. Optional line-out demonstration if implemented.

Waste Bin Monitoring System

Benjamin Gao, Matt Rylander, Allen Steinberg

Featured Project

# Team Members:

- Matthew Rylander (mjr7)

- Allen Steinberg (allends2)

- Benjamin Gao (bgao8)

# Problem

Restaurants produce large volumes of waste every day which can lead to many problems like overflowing waste bins, smelly trash cans, and customers questioning the cleanliness of a restaurant if it is not dealt with properly. Managers of restaurants value cleanliness as one of their top priorities. Not only is the cleanliness of restaurants required by law, but it is also intrinsically linked to their reputation. Customers can easily judge the worth of a restaurant by how clean they keep their surroundings. A repulsive odor from a trash can, pests such as flies, roaches, or rodents building up from a forgotten trash can, or even just the sight of a can overflowing with refuse can easily reduce the customer base of an establishment.

With this issue in mind, there are many restaurant owners and managers that will likely purchase a device that will help them monitor the cleanliness of aspects of their restaurants. With the hassle of getting an employee to leave their station, walk to a trash can out of sight or far away, possibly even through external weather conditions, and then return to their station after washing their hands, having a way to easily monitor the status of trash cans from the kitchen or another location would be convenient and save time for restaurant staff.

Fullness of each trash can isn’t the only motivating factor to change out the trash. Maybe the trash can is mostly empty, but is extremely smelly. People are usually unable to tell if a trash can is smelly just from sight alone, and would need to get close to it, open it up, and expose themselves to possible smells in order to determine if the trash needs to be changed.

# Solution

Our project will have two components: 1. distributed sensor tags on the trash can, and 2. A central hub for collecting data and displaying the state of each trash can.

The sensor tags will be mounted to the top of a waste bin to monitor fullness of the can with an ultrasonic sensor, the odor/toxins in the trash with an air quality/gas sensor, and also the temperature of the trash can as high temperatures can lead to more potent smells. The tags will specifically be mounted on the underside of the trash can lids so the ultrasonic sensor has a direct line of sight to the trash inside and the gas sensor is directly exposed to the fumes generated by the trash, which are expected to migrate upward past the sensor and out the lid of the can.

The central hub will have an LCD display that will show all of the metrics described in the sensor tags and alert workers if one of the waste bins needs attention with a flashing LED. The hub will also need to be connected to the restaurant’s WiFi.

This system will give workers one less thing to worry about in their busy shifts and give managers peace of mind knowing that workers will be warned before a waste bin overflows. It will also improve the customer experience as they will be much less likely to encounter overflowing or smelly trash cans.

# Solution Components

## Sensor Tag Subsystem x2

Each trash can will be fitted with a sensor tag containing an ultrasonic sensor transceiver pair, a hazardous gas sensor, a temperature sensor, an ESP32 module, and additional circuitry necessary for the functionality of these components. The sensors will be powered with 3.3V or 5V DC from a wall adapter. A small hole will need to be drilled into the side of each trash can to accommodate the wall adapter output cord. They may also need to be connected to the restaurant’s WiFi.

- 2x ESP32-S3-WROOM

https://www.digikey.com/en/products/detail/espressif-systems/ESP32-S3-WROOM-1-N16R2/16162644

- 2x Air Quality Sensor (ZMOD4410)

https://www.digikey.com/en/products/detail/renesas-electronics-corporation/ZMOD4410AI1R/8823799

- 2x Temperature/Humidity Sensor(DHT22)

https://www.amazon.com/HiLetgo-Digital-Temperature-Humidity-Replace/dp/B01DA3C452?source=ps-sl-shoppingads-lpcontext&ref_=fplfs&psc=1&smid=A30QSGOJR8LMXA#customerReviews

- 2x Ultrasonic Transmitter/Receiver

https://www.digikey.com/en/products/detail/cui-devices/CUSA-R75-18-2400-TH/13687422

https://www.digikey.com/en/products/detail/cui-devices/CUSA-T75-18-2400-TH/13687404

## Central Hub Subsystem

The entire system will be monitored from a central hub containing an LCD screen, an LED indicator light, and additional I/O modules as necessary. It will be based around an ESP32 module connected to the restaurant’s WiFi or ESPNOW P2P protocol that communicates with the sensor tags. The central hub will receive pings from the sensor tags at regular intervals, and if the central hub determines that one or more of the values (height of trash, air quality index, or temperature) are too high, it will notify the user. This information will be displayed on the hub’s LCD screen and the LED indicator light on the hub will flash to alert the restaurant staff of the situation.

- 1x ESP32-S3-WROOM

https://www.digikey.com/en/products/detail/espressif-systems/ESP32-S3-WROOM-1-N16R2/16162644

- 1x LCD Screen

https://www.amazon.com/Hosyond-Display-Compatible-Mega2560-Development/dp/B0BWJHK4M6/ref=sr_1_4?keywords=3.5%2Binch%2Blcd&qid=1705694403&sr=8-4&th=1

# Criteria For Success

This project will be successful if the following goals are met:

- The sensor tags can detect when a trash can is almost full (i.e. when trash is within a few inches of the lid) and activate the proper protocol in the central hub.

- The sensor tags can detect when an excess of noxious fumes are being produced in a trash can and activate the proper protocol in the central hub.

- The sensor tags can detect when the temperature in a trash can has exceeded a user-defined threshold and activate the proper protocol in the central hub.

- The central hub can receive wireless messages from all sensor tags reliably and correctly identify which trash cans are sending the messages.

Project Videos