
This is a demo of the remote start/stop, autonomous sanitization, live status map, and node status updates.

The website has a remote control with live video feed.

Please send me an email if you would like access to these files on GitHub.

This is a demo of the remote start/stop, autonomous sanitization, live status map, and node status updates.
Electrical & Computer Engineering Capstone
July 2021 - December 2021
Capstone is the culmination of Northeastern's intensive engineering program. Groups of 5-6 students are tasked with executing the entire engineering design process and presenting their products in a competition. Using the many skills learned throughout the undergraduate experience, we proposed, designed, and implemented the Autonomous Robot for Ultraviolet Sanitization (ARUS). The COVID-19 pandemic increased the need for proper sanitization in common spaces. The goal of ARUS was to improve the quality of sanitization without requiring increased efforts from frontline workers. We accomplished this by creating a robot that automates the sanitization process. We placed 3rd in the competition.
As project manager, I ascertained required development tasks and assigned them accordingly. In addition, I handled communication with necessary external parties. As software manager, I designed the software architecture and ensured the software team completed all tasks in accordance with the priorly established timeline. As web developer, I created a React web application using JavaScript, HTML, and CSS. Because the ARUS utilized ROS, I established a ROS master and connected the peripheral devices (web app and microcontrollers). In addition, I set up the requisite backend AWS resources (Cognito, DynamoDB, S3).

Buildings with Moon and Stars

Towers of Hanoi

Please send me an email if you would like access to these files on GitHub.

Buildings with Moon and Stars
Animator Java Application
November 2020 - December 2020
Using the Model, View, Controller design pattern, this application reads and parses a text file containing shapes and motion information to create an animation. Using command-line arguments, the user can set the speed of the animation and choose from four types of views: textual, SVG, visual, and interactive. The textual view simply outputs the text that represents the animation over time. The SVG view creates an SVG file that can play the animation. The visual view displays the animation in a separate window. The interactive view allows the user to play, pause, restart, loop, speed up, slow down, and modify the display of the animation while watching.
In addition, another group's view was incorporated into our project, and one of the views in this project was incorporated in another group's application to gain experience with client-customer interactions.

Single Pyramid with Default Rules for Removes

Single Pyramid with Less Restrictive Rules for Removes

Please send me an email if you would like access to these files on GitHub.

Single Pyramid with Default Rules for Removes
Pyramid Solitaire Terminal Application
September 2020 - October 2020
This Java project uses the Model, View, Controller design pattern to implement a solitaire game with a twist! The player's goal is to remove all cards on the pyramid, but cards can only be removed 1 or 2 at a time if the total sum is equal to 13. There is a draw pile with face up cards, which the player can use to help make valid removes with cards on the pyramid. The application supports three versions of pyramid solitaire: Basic, Relaxed, and Multipyramid. Before starting the game, the player can specify the number of rows in the pyramid and number of draw cards face up at a time.


Robotic car follows black line using infrared sensors.

Robotic car uses front and side ultrasonic sensors and rear infrared sensors to detect parking space and parallel park.

Autonomous Robotic Car
May 2020 - June 2020
The robotic car, pictured left, was built with five infrared and two ultrasonic sensors. Three Arduino programs were developed using different sensors and with different end goals. Using the infrared sensors, I developed a program for line-following. Then, the ultrasonic sensors, I developed a program for wall-following and obstacle avoidance. This project culminated in a complex program using both infrared and ultrasonic sensors in which the car finds a free space and parallel parks.




Go Baby Go - Natalia
September 2017 - December 2018
Go Baby Go is a project within the Enabling Engineering organization. For this project, a team of interdisciplinary engineering students redesigned and constructed a ride-on vehicle to enhance the mobility of a client who is physically challenged. This project is still a work in progress.




Electrocardiogram
September 2018 - December 2018
The end goal was to construct an ECG monitor capable of obtaining an amplified and filtered readout of a human heartbeat. It was designed using an instrumentation amplifier, active and passive filters, operational amplifiers, and basic circuit components. The output of the ECG circuit was then inputted to an analog-to-digital converter for further filtering in MATLAB.


Please send me an email if you would like access to these files on GitHub.

Maze Solving Algorithm
December 2018
This C++ program finds a path to go through a maze using two different graph traversal algorithms. First, a given file that represents a maze is mapped to a graph that represents the legal moves in the maze. One path through the maze is found using depth-first-search with a recursive implementation. Another path through the maze is found non-recursively using depth-first-search with a stack-based implementation.


Please send me an email if you would like access to these files on GitHub.

Sudoku Solving Algorithm
November 2018
This C++ program solves a traditional sudoku puzzle. A 9 x 9 grid with various spaces filled with numbers ranging from 0 to 9 is read from a file, and the remaining grid spaces are filled so that no number is repeated in each row, column, and sub-square (3 x 3). As the grid is being read from the external file, the program keeps count of conflicts for rows, columns, and sub-squares in corresponding matrices. The algorithm starts to solve the puzzle by finding the “most constrained” cell using the conflict counts and places a legal digit in it. Using recursion and backtracking, the program fills each grid space until the puzzle is fully solved. Upon solving the puzzle, the solution is printed.


Please send me an email if you would like access to these files on GitHub.

Word Search Algorithm
October 2018
This C++ program solves a word search puzzle. An n x n grid of letters is read from a file and all the words found in the grid are printed. Words can be found in the array by starting at any letter and reading right, left, up, down, or along any of the four diagonals. Words can also wrap around the edges of the array. The program only finds words at least 5 characters long. All possible words are provided in a dictionary file. The program finds a word in the grid and checks if it is in the dictionary.



Robotic arm was controlled with a Wiimote.

Robotic Arm
January 2018 - April 2018
A robotic arm was controlled with three different methods. Initially, programs in C++ were created to move the various servo motors. Next, a Bluetooth Wiimote was integrated to allow a user to control the arm's motion. Lastly, circuits in Matlab's Simulink were designed and uploaded to a ZedBoard's FPGA to allow a user to control the arm with the buttons on the Board.




MATLAB App Development Tutorial
March 2018
As an engineering TA, I was given the task of creating a tutorial about developing applications with GUI using MATLAB's App Designer. The tutorial encompassed inserting buttons, images, gauges, and edit fields. In addition, the tutorial covered how to connect Arduino Uno so the students could control external circuits.




Resiliency Design Project
October 2017 - December 2017
The purpose of the project was to teach children about a type of resiliency. Specifically, my team chose the task of educating individual resiliency through interactive media. We developed a Matlab application with a GUI and constructed a brain model to assess someone's resiliency and illustrate the areas which needed improvement. I was in charge of all coding and circuitry for this project.



Pasta Bridge
September 2017
The task was to design and construct a bridge that could support as much load as possible. Variables that had to be considered included the distance to be spanned, the materials available, and bridge width. This project progressed through all stages of the engineering design process.