This was the final year team project that electrical engineering students in my cohort had to undertake. I like to think of it as running the gauntlet; it tests all the skills that had been learnt over the past three years, and pushes you further.

Demonstration

What is this?

With my teammates, Bec, Justin, and Shay, a digital oscilloscope was made. We divvied up the project into four main parts. Being our software engineer, Bec looked after our PC software. This involved making an entire oscilloscope, along with signal processing for filtering, math channels and upsampling to allow for bandpass sampling.

Working with Bec, Justin wrote the firmware for our embedded device that performed all the communications, sampling, triggering, and the functions needed for an oscilloscope.

Shay took care of power circuitry, overvolatge protection, a huge amount of component sourcing, and part of the PCB design.

I wrote the firmware for the touchscreen, designed the analogue front end, and did part of the PCB design.

The oscilloscope had to have two channels with 250kHz bandwidth. It also had to provide bandpass sampling functionality to allow signals 650kHz to 750kHz to be displayed. It had to be controlled via a touch screen on the device, or from the PC. As seen in the menus in the video, all the usual functions of an oscilloscope had to be provided. We also had to provide a function generator with various waveforms, and controllable amplitude, frequency, and offset.

How did it go?

It was definitely tough at times, but we made a very good product by the end of the project. Looking back, it was one of my favourite experiences from my time at university. It tested all of us, and overall, I had a great time.

Extra Notes

This project was completed in the first half of 2016, at the start of my 4th and final year of electrical engineering.

In the course of this project, I used and learnt about:

-Touch screens

-Designing graphical interfaces for embedded devices (heaps of fun)

-Analogue signal handling circuitry

-PCB Design

-PNGs and image formats

-Writing large C libraries for embedded projects, from the ground up