Skip to content

destefy/portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 

Repository files navigation

Stefan de Lasa - Project Portfolio

OS161 Operating System

ECE344, Jan - April 2023.

As part of my Operating Systems class, I implemented many core operating system features to build on the bare-bones “OS161” operating system. For this I:

  • Implemented memory management including page reclamation using a page table, demand paging, and page swapping with disk.
  • Created core system calls for user programs including waitpid, fork, and exec.
  • Implemented key synchronization primitives such as locks and condition variables.

Screen Shot 2023-05-02 at 11 50 23 AM

Programmable Digital Compass

ECE342, April 2023.

For my Computer Hardware class’ optional project, I built a compass that can be programmed to point to any location. Using a STM32NUCLEO-F446ZE microcontroller:

  • Used a GY-NEO6MV GPS module to parse GPS data, using USART communication and Direct Memory Access.
  • Communicated via I2C with a HMC5883L magnetonomer to read magnet field data to determine my compass’ orientation.
  • Used Pulse-Width-Modulation (PWM) to display the direction and distance to the programmed location on a NEOPixel Ring.

Deep Learning Model for Circuit Module Identification

APS360, Jan - April 2023.

As part of my Introduction to Deep Learning class, my team and I used machine learning to create a convolution autoencoder that, when given a hand-drawn circuit, could segment the drawing into it’s various components (e.g. resistors, capacitors, etc.). Through this we:

  • Achieved a 45% Intersection-Over-Union accuracy, classifying 46 different modules, representing a 200% increase from the baseline.
  • Designed and tested various Deep Learning models, tuning their hyper parameters to improve accuracy.
  • Prepared, augmented, and labeled hand-drawn circuit images to be used as inputs for the model.
  • Communicated our design process, progress, and results effectively through several reports and a presentation

Screen Shot 2023-05-02 at 12 53 08 PM Screen Shot 2023-05-02 at 12 57 39 PM

Digital Camera Interfacing and Optimization

ECE342, March - April 2023

For my Computer Hardware class, I used a STM32NUCLEO-F446ZE microcontroller to interface with a camera module to receive a continuous video stream. With this project I:

  • Used Direct-Memory-Access to pipeline the video streaming process.
  • Optimized the Frames-Per-Second (FPS) using data truncation and run-length encoding to achieve a 160% improvement in FPS.
  • Optimized FPS again by sending only the difference in frames to achieve an additional 200% improvement.

MNIST Classifier,

Personal Project, Dec 2022, Notebook

To get a better understanding of some basic machine learning techniques, I created a model to classifier the classic MNIST hand-written number data set. The key concepts used were:

  • Softmax Regression, to allow the model to use a regression technique.
  • Minibatch Stochastic Gradient Descent, the chosen regression technique.

After 10 training epochs, I achieved an accuracy of 94%.

correctly_classified

Radio Transceiver

ECE295, Jan - Apr 2022, Video

As part of my 2nd year Hardware Design class, I worked on a Team of 3 students to design, build and test two radio transceiver (transmitter + receiver) components. Specific contributions included,

  • Used Altium and Multisim to design the limiter, filter, mixer, and amplifier radio receiver circuits.
  • Demonstrated successful integration of our subcircuits into a functioning radio receiver.
  • Communicated the team’s design and testing decisions to both a technical and non-technical audience through multiple presentations and progress reports.

{

Messaging App

ECE361, Nov - Dec 2022

As part of my 3rd Computer Networks class, I created a messaging app. Using persistent TCP connections, my teammate and I created a client and server program. Features included:

  • Allowing users to register a login username and password in a database.
  • Allowing user to login/connect to the server with username-password checking.
  • Allowing users to create and join sessions.
  • Allowing users to sent public and private messages.
  • Printing a list of all current users and sessions.

Dr. Mario,

ECE243, Jan - Apr 2022, Video

As part of my 2nd year Computer Organization class, I recreated the popular NES game, Dr. Mario, on a DE1-SoC board using C and the CPUlator simulator. Dr. Mario is a tetris-like game where you move falling pills to eliminate viruses.

  • Designed algorithms to control the pill behaviour, detect collisions and four of the same colour in a row.
  • Detected interrupts from a keyboard and timers.

Lossy Image Compression using Singular Value Decomposition,

MAT188, Sep - Dec 2020

As part of my first year linear algebra class (MAT188), I explored how singular value decomposition (a matrix factorization technique) could be used for image compression.

Image Compression

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published