Arduino-Based Oscilloscope with External ADC (Team 10) ECE342-W25

Python
Arduino
PCB
Junior Design

We have prototyped a custom oscilloscope that can gather input data using oscilloscope probes for two channels. It is designed to have robust BNC connectors to allow simultaneous or single channel readings. The data is then output to the screen of a computer running our Python GUI code on an Arduino Uno R4 Minima. It utilizes an external analog-to-digital converter (ADC) (ADS7853IRTER) with a sampling rate of 1 MSPS to convert the AC input signals to digital binary for the Arduino to read. This should effectively allow us to accurately analyze signals from 0Hz to 500kHz based on the Nyquist Rate calculation for 1 MSPS. We have implemented an AC input module for voltage biasing, AC coupling, and op-amp buffer amplification, as well as to set a minimum/maximum frequency to accommodate the constraints of our system. For example, the ADS7853IRTER is not rated to take in any negative voltage values so implementing the AC input module is a key part of our design. The ADC, AC input module, and BNC connectors are all on a custom PCB design we created. The custom GUI includes adjustable voltage and time axes. Some of the notable accomplishments we had with this project were learning PCB, GUI, and CAD design for each section required for our project.

3 Lifts 

Artifacts

Name Description
PCB Circuit Schematic This file contains the schematic for our PCB.   Download
Project Video Video summary of our project.   Link
3D Model Base for Enclosure This is a link crediting the creator of the box design we built our enclosure out of. Thank you projectdesignonline!   Link
Project Summary Executive summary of our project   Download
Feedback