The Problem
Chronic kidney disease costs the Canadian healthcare system $40 billion annually and is a leading cause of death. Current diagnostics require expensive lab equipment, trained technicians, and complex procedures, which creates barriers to early detection when treatment is most effective. Symptoms often don't appear until irreversible kidney damage has occurred.
The Solution
SpectraStream is a low-cost, accurate, portable spectrometer that uses miniaturized multispectral sensing to measure urinary creatinine levels. The device enables accurate at-home monitoring through simple chemical reaction analysis, replacing expensive lab-based tests with an accessible point-of-care solution.
The Final Device
SpectraStream final version, assembled PCB, and laboratory validation.
SpectraStream uses a 14-channel multispectral sensor to analyze light transmission through a urine sample that’s been mixed with a chemical reagent. When creatinine is present, it produces a colour change that the sensor detects across multiple wavelengths. A machine learning model then converts these spectral measurements into an accurate creatinine concentration reading.
Key Specifications:
- 14 spectral channels covering 370-900nm wavelength range
- 3Ah rechargeable battery (1000+ measurements per charge)
- Wi-Fi connectivity for data logging and remote monitoring
- 12-minute measurement time from sample to result
- Portable design fitting in a 20cm cube
Skills Applied
Background
Creatinine is a waste product generated from normal muscle metabolism that circulates in the blood until filtered by the kidneys and excreted in urine. In healthy individuals, kidneys efficiently remove creatinine, maintaining high urinary concentrations (typically 10-20 mM). When kidney function declines, creatinine builds up in the blood while urinary levels drop—making it one of the most reliable biomarkers for detecting chronic kidney disease.
Physiological origin and chemical structure of creatinine.
Current methods for measuring creatinine require sending samples to clinical laboratories or using subjective urine test strips, creating delays and limiting accuracy. SpectraStream brings this laboratory capability into the home by miniaturizing the spectroscopic measurement process.
How It Works
The User Experience:
- Collect a small urine sample (2.5mL)
- Mix with pre-packaged reagent in provided cuvette
- Place cuvette in device and press measurement button
- Wait 12 minutes for chemical reaction to complete
- View creatinine concentration on device display or web app
Behind the Scenes:
The device uses an AS7343 multispectral sensor; instead of measuring RGB wavelengths like a traditional colour sensor, it measures 14 separate wavelengths of light. A white LED illuminates the sample, and the sensor measures how much light passes through at each wavelength. As creatinine concentration increases, the solution turns redder, which the sensor detects as decreased blue light and increased red light transmission. A machine learning model trained on 20 calibration samples converts these spectral patterns into precise creatinine measurements.
Electrical architecture diagram and spectral responsivity of AS7343 sensor.
Technical Architecture
Hardware
- Sensing: AS7343 14-channel multispectral sensor (370-900nm)
- Processing: ESP32-C2 microcontroller with Wi-Fi
- Power: TI BQ24259 charging IC with 3Ah Li-ion cell
- Illumination: 4000K white LED with adjustable current
- Enclosure: 3D-printed light-tight chassis with user interface
Software
- Firmware: C/C++ on ESP32 for sensor control and data acquisition
- Web Application: HTML/CSS/JavaScript interface for real-time monitoring
- Data Analysis: Python with scikit-learn for model training
- Communication: I2C sensor protocol, Wi-Fi data transmission
Key Learnings
First-Time PCB Success
Successfully fabricating and testing our custom PCB on the first revision required careful planning, thorough design reviews, and conservative component choices. This experience reinforced the value of spending extra time in the design phase to avoid costly manufacturing iterations.
Interdisciplinary Problem-Solving
SpectraStream required integrating knowledge from biomedical engineering, electrical engineering, chemistry, and software development. The most rewarding aspect was seeing how these disciplines came together to create a functional medical device that addresses a real healthcare challenge.
Integration Challenges
The most stressful moment came when our OLED display failed the day before the final demonstration. This taught me to always have backup plans for critical components and to test continuously rather than assuming familiar components will work reliably. Our earlier decision to support multiple output methods (serial, OLED, web app) saved the demonstration.
User-Centered Design in Medical Devices
Designing for elderly users with limited dexterity forced me to question assumptions about “intuitive” interfaces. The physical button controls and larger enclosure were essential accessibility features. This experience changed how I approach engineering problems: understanding the end user’s context is as important as technical performance.
Photo Library
PCB design, schematics, and CAD development • Click to view all 8 images
Documentation
Team: Lauren Stephens, Evan Gintonis, Ernest Spahiu
Advisors: Dr. Shahram Shirani, Dr. Ravi Selvaganapathy, Dr. Omar Boursalie, Dr. Qiyin Fang
| Course: ELECBME 5P06 Engineering Capstone | McMaster University | September 2023 - April 2024 |