verilog, nexys a7-100t, vivado, python, dsp, fixed-point fir filters
Designing a dual-implementation NOAA APT weather satellite decoder targeting a Xilinx Artix-7 FPGA, processing archived pre-demodulation IQ recordings into decoded imagery. Built a 5-stage Python reference pipeline validating the full signal chain: a Kaiser-windowed channel-select FIR, FM demodulation via phase differentiation, and a cascaded two-stage decimation filter bank correcting a 62,400 Hz sample rate down to the 4,160 Hz APT word rate exactly at Nyquist, matching NOAA's original zero-margin engineering. Currently implementing the Verilog RTL, including a CORDIC-based fixed-point FM demodulator and time-multiplexed serial FIR architecture designed to reuse a single DSP slice across all filter taps within the ~1,600-cycle-per-sample budget at 100 MHz.
verilog, nexys a7-100t, i2c, vivado, icarus verilog
Built a from-scratch I2C master FSM in Verilog to read an ADT7420 temperature sensor on a Nexys A7-100T FPGA, dividing the system clock into quarter-phases so SDA transitions land cleanly away from SCL edges. Sensor readings are converted into Celsius/Fahrenheit BCD digits, with a switch-driven unit toggle, and pushed out to a multiplexed seven-segment display refreshed fast enough to avoid visible flicker. Verified protocol correctness with a self-checking testbench that models the ADT7420 as a slave device, asserting each transaction byte and ACK/NACK bit, including randomized data payloads across repeated read cycles.
proxmox, docker-compose, zfs, ubuntu server, cloudflare
Architected and deployed a self-hosted virtualized network environment utilizing a Proxmox hypervisor and ZFS mirrored storage arrays with automated S.M.A.R.T. diagnostics. Infrastructure supports self-hosted local cloud services and a media server handling 7+ concurrent streams. Implemented secure remote access via VPN networks and Cloudflare tunnels to safely manage public web instances, including hosting the official infrastructure and data collection pipelines for a 60+ participant regional student hackathon.
python, ollama (llama 3.1), openai whisper, flask, raspberry pi, gpio
Developed an entirely offline, voice-activated AI home assistant deployed on a Raspberry Pi using a custom physical GPIO button interface. Built a lightweight Python and Flask application layer to orchestrate live hardware audio capture, local transcription via OpenAI Whisper, and localized inference using Ollama to serve Meta's LLaMA 3.1 model completely on the edge.