Optical DSP / C++ / FastAPI

LightLink

LightLink is a browser-based optical modem firmware demo that turns random bits into BPSK symbols, sends them through a noisy optical channel, and runs a C++ firmware-style DSP loop for gain control, FIR filtering, demodulation, SNR, BER, MSE, and ASIC-style lock detection.

Firmware simulation and full-stack dashboardC++FastAPIReactDSPBPSKASIC telemetry

Firmware DSP Loop

The C++ simulator generates transmit bits, applies BPSK modulation, injects optical channel impairments, then runs gain control, FIR filtering, demodulation, and validation metrics.

Lab Automation API

FastAPI wraps the simulator with endpoints for simulation, sweeps, heatmaps, auto-tuning, telemetry, and generated firmware configuration output.

Validation Dashboard

The React dashboard visualizes waveforms, constellation plots, ASIC registers, channel stress presets, BER/SNR heatmaps, and a final PASS/FAIL report.

Project Notes

The details that mattered.

What it simulates

LightLink works like a small optical modem validation bench. It generates random transmit bits, maps them into BPSK symbols, and pushes the signal through optical impairments such as Gaussian noise, attenuation, phase drift, and burst noise before recovery.

C++ firmware engine

The core simulator reads simulated ASIC registers, applies RX gain or AGC, optionally uses fixed-point DSP, filters the received signal, demodulates recovered symbols, and computes SNR, BER, MSE, lock status, and error counters.

Backend automation layer

A FastAPI backend builds or runs the C++ simulator and serves structured JSON results for single simulations, parameter sweeps, heatmaps, auto-tuning runs, and telemetry inspection.

Frontend engineering display

The browser dashboard turns the telemetry into an interview-friendly lab view with pipeline animation, live signal charts, constellation diagrams, ASIC register monitoring, channel presets, and generated firmware configuration headers.

Validation workflow

The final report combines measured SNR, BER, MSE, register state, lock detection, and error counters into a PASS/FAIL validation result so each run feels like a firmware bring-up check instead of a static visualization.

Videos

Project demos and test footage.

LightLink firmware simulator walkthrough