Project

# Title Team Members TA Documents Sponsor
22 Oscillosketch: Handheld XY Etch-a-Sketch Signal Generator for Oscilloscopes
Eric Vo
Josh Jenks
Xiaodong Ye design_document1.pdf
final_paper1.pdf
photo1.jpg
photo2.png
presentation1.pdf
proposal1.pdf
video
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.

Instant Nitro Cold Brew Machine

Danis Heto, Mihir Vardhan

Instant Nitro Cold Brew Machine

Featured Project

# Instant Nitro Cold Brew Machine

Team Members:

- Mihir Vardhan (mihirv2)

- Danis Heto (dheto3)

# Problem

Cold brew is made by steeping coffee grounds in cold water for 12-18 hours. This low-temperature steeping extracts fewer bitter compounds than traditional hot brewing, leading to a more balanced and sweeter flavor. While cold brew can be prepared in big batches ahead of time and stored for consumption throughout the week, this would make it impossible for someone to choose the specific coffee beans they desire for that very morning. The proposed machine will be able to brew coffee in cold water in minutes by leveraging air pressure. The machine will also bring the fine-tuning and control of brewing parameters currently seen in hot brewing to cold brewing.

# Solution

The brew will take place in an airtight aluminum chamber with a removable lid. The user can drop a tea-bag like pouch of coffee grounds into the chamber along with cold water. By pulling a vacuum in this chamber, the boiling point of water will reach room temperature and allow the coffee extraction to happen at the same rate as hot brewing, but at room temperature. Next, instead of bringing the chamber pressure back to atmospheric with ambient air, nitrogen can be introduced from an attached tank, allowing the gas to dissolve in the coffee rapidly. The introduction of nitrogen will prevent the coffee from oxidizing, and allow it to remain fresh indefinitely. When the user is ready to dispense, the nitrogen pressure will be raised to 30 PSI and the instant nitro cold brew can now be poured from a spout at the bottom of the chamber.

The coffee bag prevents the coffee grounds from making it into the drink and allows the user to remove and replace it with a bag full of different grounds for the next round of brewing, just like a Keurig for hot coffee.

To keep this project feasible and achievable in one semester, the nitrogenation process is a reach goal that we will only implement if time allows. Since the vacuum and nitrogenation phases are independent, they can both take place through the same port in the brewing chamber. The only hardware change would be an extra solenoid control MOSFET on the PCB.

We have spoken to Gregg in the machine shop and he believes this vacuum chamber design is feasible.

# Solution Components

## Brewing Chamber

A roughly 160mm tall and 170mm wide aluminum chamber with 7mm thick walls. This chamber will contain the brew water and coffee grounds and will reach the user-set vacuum level and nitrogenation pressure if time allows. There will be a manually operated ball valve spout at the bottom of this chamber to dispense the cold brew once it is ready. The fittings for the vacuum hose and pressure sensor will be attached to the screw top lid of this chamber, allowing the chamber to be removed to add the water and coffee grounds. This also allows the chamber to be cleaned thoroughly.

## Temperature and Pressure Sensors

A pressure sensor will be threaded into the lid of the brewing chamber. Monitoring the readings from this pressure sensor will allow us to turn off the vacuum pump once the chamber reaches the user-set vacuum level. A temperature thermocouple will be attached to the side of the brewing chamber. The temperature measured will be displayed on the LCD display. This thermocouple will be attached using removable JST connectors so that the chamber can be removed entirely from the machine for cleaning.

## Vacuum Pump and Solenoid Valve

An oilless vacuum pump will be used to pull the vacuum in the brewing chamber. A solenoid valve will close off the connection to this vacuum pump once the user-set vacuum pressure is reached and the pump is turned off. To stay within the $100 budget for this project, we have been given a 2-Stage 50L/m Oil Free Lab Vacuum Pump on loan for this semester. The pump will connect to the chamber through standard PTFE tubing and push-fit connectors

If time allows and we are able to borrow a nitrogen tank, an additional solenoid and a PTFE Y-connector would allow the nitrogen tank to connect to the vacuum chamber through the same port as the vacuum pump.

## LCD Display and Rotary Encoder

The LCD display allows the user to interact with the temperature and pressure components of the brewing chamber. This display will be controlled using a rotary encoder with a push button. The menu style interface will allow you to control the vacuum level and brew time in the chamber, along with the nitrogenation pressure if time allows. The display will also monitor the temperature of the chamber and display it along with the time remaining and the current vacuum level.

# Criterion For Success

- A successful cold brew machine would be able to make cold brew coffee at or below room temperature in ten minutes at most.

- The machine must also allow the user to manually control the brew time and vacuum level as well as display the brew temperature.

- The machine must detect and report faults. If it is unable to reach the desired vacuum pressure or is inexplicably losing pressure, the machine must enter a safe ‘stop state’ and display a human readable error code.

- The reach goal for this project, not a criterion for success, would be the successful nitrogenation of the cold brew.

Project Videos