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
proposal1.pdf
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.

Antweight Battlebot Project

Jeevan Navudu, Keegan Teal, Avik Vaish

Antweight Battlebot Project

Featured Project

# Antweight Battlebot

Team Members:

- Keegan Teal (kteal2)

- Avik Vaish (avikv2)

- Jeevan Navudu (jnavudu2)

# Problem

In order to compete in Professor Gruev’s robot competition, there are many constraints that need to be met, including:

- Maximum weight (2lbs)

- Allowed materials (3D-printed thermoplastics)

- Locomotion system and fighting tool

- Wireless control via Bluetooth or Wifi

The main goal of this competition is to design a Battlebot that is capable of disrupting the functionality of the other Battlebots with our fighting tool while maintaining our own functionality.

# Solution

For the project, we plan to build a battlebot with a custom electronic speed controller (ESC) that can independently control three brushless motors: two for the drive system, and one for the fighting tool. This ESC will be controlled by an STM32 microcontroller, to which we will add a Bluetooth module to connect to it and specify how much power we want to send to each motor. To communicate with our robot, we will use a laptop that can connect to Bluetooth.

# Solution Components

## Vehicle Controller

The main subsystem of the robot will be a combined vehicle control board and ESC. This subsystem will contain an STM32 Microcontroller that will serve as the brain for the whole robot. With this MCU, we’ll be able to flash our whole software package that will be able to control the speed and direction of the robot, the robot’s weapon, and the Bluetooth communication.

## Power Module

This subsystem includes the battery, the voltage regulators/converters needed to power the electronics, and the necessary battery monitoring circuitry. Specifically, for the battery, we will use a 14.8V 4S2P LiPo pack to power all the components. There will also be a voltage short detection circuit for the battery that will shut down the robot in case of a short to ensure safe practices. This subsystem also contains a 5V linear regulator and 3.3V linear regulator to power the low voltage electronics.

## Drivetrain/Powertrain

This subsystem includes the motors and H-bridges needed to control both the wheels and weapon of the robot. The H-bridges will be made with regular N-MOSs that will be controlled by a PWM signal sent from the STM32 MCU. This H-bridge setup will be able to control the voltage and polarity sent to the motors, which will be able to control the speed of the wheels or weapon. This subsystem will also include the mechanical wheels of the robot and actual hardware of the weapon, which will be a spinning object. Since all the wheels and the weapon have the same mechanical motion, they can all use the same hardware and software electronically, with minor adjustments in motor selection and the actual mechanical hardware/peripheral.

## Bluetooth Module

One big requirement for this project is the ability for the robot to be controlled wirelessly via laptop. The STM32 MCU has bluetooth capabilities, and with additional peripheral hardware, the robot will be able to communicate over bluetooth with a laptop. The goal for the laptop is to be able to control the speed, direction, and weapon of the robot wirelessly and also have a display for live telemetry.

## Mechanical Design

The last part of our project would be the mechanical design of the robot chassis and weapon. For the chassis and weapon material, we decided to go with PLA+ as it offers a blend of being strong and robust but not being too brittle. The drive system will be a 2-wheeled tank style drive with one motor controlling each side of the robot. For the weapon, we are looking to utilize a fully 3D-printed drum that will have a 100% infill to maximize the rotational inertia which can lead to bigger impacts.

## Criterion for Success

We would consider our project a success if we are able to communicate with the robot from our computer as in sending throttle and steering commands to the robot, if those commands are then processed on the robots microprocessors and the motors are sent the according power needed to move and behave in the way that we want during a match.

## Alternatives

The most commonly used electronics in current antweight battlebots consist mostly of RC drone parts. We plan to create a very similar ESC to those on the market but it will have an integrated Bluetooth wireless capability as well as telemetry monitoring. We also want to focus on minimizing packaging size to lower weight and increase flexibility as much as possible.

Project Videos