Class Projects
Embedded Snake Arcade Game: https://github.com/oonwuta/ECE36200-Group-Project.git
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
Trustworthy LLM Registry: https://github.com/ECE30861-Team-18/ECE461_Team18_Phase2.git
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