Class Projects

For ECE 362, Microprocessor Design, my course project was a snake arcade game, using the RP2350. For this project, I designed a 4 layer PCB housing the RP2350. We programmed the game fully in C

A demonstration on breadboard

The PCB Design

This was the first project where I really learned how to design a PCB complicated enough to require 4 layers. After doing this project, my interests have shifted more towards embedded systems more than SWE.

The schematic in KiCad

The PCB in KiCad

In ECE 30861, my team of 3 designed a trustworthy LLM registry that uses HuggingFace and Git to ingest, store, and download LLMs for hypothetical product integration. We used several services, such as AWS Lambda, API Gateway, Aurora RDS, Cloudwatch, Amplify, and S3. This project was uniform for all students in the class and used an OpenAPI spec, Our team scored 1st place of 50 teams in the project autograder.

Planning

We were given an OpenAPI spec which we needed to build our system around. Given our timeframe, our team took a mostly waterfall approach, with some iteration back to requirements planning. We used UML diagrams to describe the system.

The API routes defined by the OpenAPI Spec

Workflow

We used several organizational and production tools for an efficient workflow. Firstly, GitHub Projects to communicate current tasks and progress to each other. For the production workflow, we used GitHub actions with AWS SAM, to build the entire app across our AWS services upon each push to our repository.

We built a frontend using a react app, and in the end, we had a functional website (Purdue themed of course) and backend, running on AWS, which could be used for securely uploading LLMs from HuggingFace, and rating them using several metrics.

LLM Usage

We used a lot of LLM resources ourselves during the building of this app, for design and tooling suggestions, and writing code. That is what allowed us to build such a large project during this one semester class, considering we were using so many new tools and processes we had not used before.

GitHub Projects

Dashboard Page. You can see all ingested artifacts (model, code, dataset) and can search by name or RegEx

Artifact Description Page where you can see all the metric ratings, lineage graph, and license information about an ingested model

Create Artifact Page

Product

Login Page

I tested our frontend using Google lighthouse and WAVE to make sure it complied with ADA (Login Page score shown)

A diagram of the overall system

A diagram for analyzing trust boundaries

GitHub Actions