LOADING...
Scroll
Profile picture

Portfolio

Paul Jablonski

M.S. Electrical & Computer Engineering - Georgia Tech
Systems Engineer - Opticent Health
Research Technologist II - Northwestern University
Solidworks CAD PCB Design C++ Python Image Processing DSP FPGA Linux Git OCT
Paul Jablonski

Engineer.
Builder.
Design enthusiast.

I'm someone who is heavily driven by clean design. While functional prototypes are a must, I also deliver on the polish that is needed in a final product.

This truthfully reflects my personality as well. I'm well-organized and someone who appreciates the little things that make our lives easier. While I sometimes take a traditional engineering approach through drawing things out, I'm quick to utilize new tools when I know I need them.

At it's core, learning is what makes my job fun.

Outside the Lab

Music production Snowboarding Game development Caffeine connoisseur Fitness Hiking Cats
Granular Synthesizer preview

Granular Synthesizer

C++ DSP Real-Time
Jan 2025 – May 2025

Overview

A real-time granular synthesis VST3 plugin built with the JUCE C++ framework, fully compatible with DAWs like Ableton Live and FL Studio. The plugin deconstructs incoming audio into micro-sound grains and resynthesizes them into new textures by controlling grain size, timing, pitch, density, and randomness — originally scoped for FPGA deployment, then pivoted to software to prioritize flexibility and rapid iteration.


Plugin Interface

Granular synthesizer GUI
JUCE-based GUI with rotary sliders and tooltips for all parameters

How It Works

Audio is continuously fed into a circular buffer, which is sliced into individual grains at configurable sizes and intervals. Each grain is independently pitch-shifted, time-stretched, and shaped with a Hann window envelope to eliminate clicks and discontinuities at grain boundaries.


Grains are dynamically layered according to density and randomization parameters, producing textures ranging from shimmering pads to glitched artifacts. A dry/wet blend control mixes the resynthesized output back against the original signal, and all parameters are fully automatable within the DAW environment.

Granular synthesizer DSP pipeline
Example usage with waveform previews
Read More
Android Embedded Security System preview

Android Embedded Security System

Android Java DSP
Aug 2024 – Dec 2024

Overview

A data-conservative Android security system that eliminates storage waste by isolating and storing only human subjects — not entire frames. People are detected via background subtraction against a calibration image, cropped to tight bounding boxes, and assigned unique identity labels through Euclidean color distance comparison, enabling cross-reference across footage with minimal storage overhead.


Detection Examples

Single person detection
Single subject detection — labeled, timestamped, with top six color composition displayed
Multiple object detection
Multi-subject detection — unique labels and color profiles assigned per person

DSP Pipeline

Live frames are bitmask-differenced against a calibration image to isolate foreground subjects. Canny edge detection outlines each subject, and a custom flood-fill algorithm groups edges by orientation. Groups are reduced to their average pixel position, then density-based clustering forms tight bounding box proposals around each person.

Each proposal is analyzed with a k-means implementation to extract the six dominant colors from subjects. These color vectors are compared against stored entries via Euclidean distance to either assign an existing label or register a new identity.

Fully manual implementations of flood-fill, DB-scan clustering, and k-means color analysis — no external CV libraries beyond OpenCV for Canny.

Security system pipeline diagram
Overall DSP and image processing pipeline
Read More
Laser & Voice Assisted Cat Toy preview

Laser & Voice Assisted Cat Toy

PCB Arduino CAD
Aug 2024 – Dec 2024

Overview

A mouse-shaped robotic cat toy built from scratch with a custom PCB, CAD-designed enclosure, and Arduino firmware. Beyond basic movement, the toy features a distance-measuring laser for collision avoidance, a vibration sensor that detects when the cat catches it, and a microphone-and-speaker system for voice command interaction — allowing the user to locate or activate the toy hands-free. Received an Honorable Mention award at UIUC, placing in the top 7 among nearly 50 groups.


Design & Build

Concept render of cat toy
Initial concept render showing disassembled front and back
Finalized CAD model
Finalized CAD model (my first ever CAD)

Hardware Design

The toy is driven by two NEMA 17 stepper motors via A4988 drivers, with two SG90 servos handling the animated tail and treat-dispensing latch at the rear. An ATmega328p microcontroller serves as the central state machine, coordinating sensor inputs and motor outputs across four subsystems: sensors, microcontroller, motors and outputs, and power.


Power is supplied by an 11.1V lithium-ion battery regulated down through three AZ1117 voltage regulators, with a CYT1091 button for clean power switching. Audio output is driven by a PAM8302 amplifier paired with a JSM 2.5mm speaker for voice feedback and sound effects.

Main PCB design
Main PCB design and assembly

Functionality Demos

Motor operations demo
Motor operation and laser-triggered directional changes — red LED for direction, green for motor steps
Treat dispensing demo
Vibration detection and treat dispensing — triggered after three detected catches
Read More
Illini Harmonics preview

Music Sharing Platform

React Node.js mySQL Spotify API
Jan 2024 – May 2024

Overview

A GCP-hosted music sharing platform where users register accounts, log in, and create posts rating songs and artists from their listening history. Song, artist, and user data is sourced via the Spotify API and stored in a mySQL database on GCP, with a React and Node.js frontend serving pages for posts, artists, music, and friends.


Stack & Architecture

The backend establishes a Node.js connection to the GCP mySQL database, populating the frontend with live data across all pages. SQL stored procedures handle login and signup validation against stored credentials, while triggers maintain data integrity across post insertions, deletions, and edits.


Initial database population was automated via a Python script using the Spotify API, generating CSV files that seeded the mySQL tables with real song and artist data. The frontend is composed of TSX components styled with CSS, with each page — Posts, Artists, Music, and Friends — driven by parameterized SQL queries.

GCP MySQL console
GCP sample queries

Pages

Illini Harmonics home page
Home page of Illini Harmonics
Ratings and posts page
Posts page displaying user-submitted song ratings
Read More
FPGA Soccer Heads preview

FPGA Soccer Heads

SystemVerilog FPGA VGA UART
Sep 2023 – Dec 2023

Overview

A recreation of the classic flash game Soccer Heads, implemented in SystemVerilog and C on a Microblaze FPGA board. Two players compete in a timed 2D soccer match — one controlled via keyboard, one by an onboard AI — with real-time physics, sprite animation, scorekeeping, and full VGA/HDMI display output.


Gameplay & Demo

FPGA Soccer Heads main menu
Sprite-drawn main menu with background and button sprites
FPGA Soccer Heads gameplay
Live gameplay with player, goal, ball, and background sprites

System Architecture

A top-level SystemVerilog module ties together the VGA controller, color mapper, physics ball module, player and AI modules, FSM, scoreboard, hex display drivers, and Microblaze block design.

SPI protocols connect peripheral devices via a MAX3421e interface, and ROM-based block memory IPs store sprite and palette data via generated COE files.

FPGA block diagram
Overall block diagram for project toplevel
Read More
Handwritten Text Recognition preview

Handwritten Text Recognition

Python CNN Image Processing
Sep 2023 – Oct 2023

Overview

A handwritten character recognition app built with a linear SVM model trained on the EMNIST dataset. Input images are convolved with edge and line detection kernels before classification, achieving over 85% accuracy. A PyQt desktop UI allows users to draw characters directly on a canvas, which are preprocessed, convolved, and classified in real time.


Model & Pipeline

Training data is passed through 2D convolution with identifying kernels that detect edges and lines within 28×28 input images. The resulting feature representations are used to fit a linear SVM, which is then exported and imported into the UI application. User-drawn input is preprocessed and recentered before being fed through the same convolution pipeline and classified by the model.


Interface

Handwritten text recognition UI
PyQt UI — canvas input before and after character drawing and classification
Read More
Opticent Health
Opticent Health
Systems Engineer Opticent Health
Oct 2025 – Present Full-time
  • • Fully redesigning and reducing the footprint of OCT imaging systems for metrology and human research.
  • • Researching and automating liquid lens calibration to accelerate and improve system calibration during assembly.
  • • Standardizing, documenting, and designing wire harnesses for cutting-edge visible-light OCT imaging systems.
  • • Aiming to take our systems to the clinical level.
Northwestern University
Northwestern University
Research Technologist II Northwestern University
Mar 2026 – Present Part-time
  • • Supporting biomedical engineering PhD candidates in their research, providing expertise in programming and CAD.
  • • Contributing to the further development and documentation of visible-light imaging technology.
Georgia Tech
M.S. Electrical & Computer Engineering Georgia Institute of Technology 2025 – Present
UIUC
B.S. Computer Engineering University of Illinois Urbana-Champaign 2021 – 2025