element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products & Partners
    Products & Partners
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Smart Home & Healthcare Challenge
  • Challenges & Projects
  • Design Challenges
  • Smart Home & Healthcare Challenge
  • More
  • Cancel
Smart Home & Healthcare Challenge
Forum VitalSense – Part 11 : Research Workstation System Architecture
  • News
  • Projects
  • Forum
  • Details
  • Leaderboard
  • Files
  • Members
  • DC
  • More
  • Cancel
  • New
Join Smart Home & Healthcare Challenge to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 0 replies
  • Subscribers 18 subscribers
  • Views 88 views
  • Users 0 members are here
Related

VitalSense – Part 11 : Research Workstation System Architecture

jelektro
jelektro 2 days ago

Table of Contents
Part 1: System Concept and Architecture
Part 2 : Sponsored Kit Overview
Part 3 : Alternatives for Heart Rate, SpO₂, and Temperature Sensing
Part 4 : MAX30208EVSYS Evaluation System – Technical Overview & Operation
Part 5 : Reverse-Engineering the MAX30208EVSYS Communication Protocol
Part 6 : Communicating with the MAX30208EVSYS in LabVIEW
Part 7 : Building a Cross-Platform Qt6 Desktop Application for the MAX30208EVSYS Temperature Sensor
Part 8 : STM32 Pulse Oximeter & Heart Rate Monitor (MAXREFDES117 + USB CDC)
Part 9 : MAXREFDES117 – JSON Data Acquisition via USB-CDC in LabVIEW
Part 10 : Building a Real-Time Sensor Data Visualizer for MAXREFDES117 / USB CDC
Part 11 : Research Workstation System Architecture
Part 12 : Combined Pulse Oximeter & Temperature Monitoring System in LabVIEW
Part 13 : Dual-Port Biomedical Telemetry Dashboard - Integrating STM32 (MAXREFDES117) and MAX30208EVSYS in C++ and Qt

1. Introduction and Purpose

The stationary research workstation is designed for precise, simultaneous, real-time monitoring of selected human physiological parameters (photoplethysmography, heart rate, oxygen saturation, and clinical-grade body temperature).

The system integrates high-performance biomedical sensor modules, each managed by its own dedicated microcontroller (STM32 for the optical sensor and the MAX32630FTHR ARM Cortex-M4F board for the temperature sensor), combined with a hybrid PC software architecture:

  • LabVIEW handles multi-channel data acquisition, synchronization, and real-time Digital Signal Processing (DSP).

  • Qt provides a modern, responsive Desktop User Interface (UI/UX), database management, and session reporting tools.

2. Hardware Architecture (Hardware Layer)

The measurement layer is split into two independent embedded subsystems that stream data to the host PC:

  • Subsystem 1: MAXREFDES117 + STM32 Microcontroller:

    • Sensor: MAXREFDES117 (integrating the MAX30102 optical sensor for Red and IR photoplethysmography).

    • MCU: An STM32 microcontroller communicating with the sensor via I2C.

    • Function: Samples optical reflections at high frequency (100 Hz – 400 Hz), buffers the raw PPG data, and streams formatted packets over its dedicated USB Virtual COM port.

  • Subsystem 2: MAX30208EVSYS + MAX32630FTHR Board:

    • Sensor: MAX30208EVSYS evaluation system featuring the MAX30208 clinical temperature sensor ($\pm 0.1^\circ\text{C}$ accuracy).

    • MCU: MAX32630FTHR development platform (ARM Cortex-M4F @ 96 MHz) communicating with the MAX30208 via I2C.

    • Function: Measures high-resolution contact skin temperature and transmits readings over its integrated USB Virtual COM port.

image

3. Overall System Block Diagram

image

4. Detailed Layer Description

Layer 1: Physical / Sensor Layer (Hardware)

  • MAXREFDES117:

    • Interface: I2C.

    • Measured Quantities: Raw reflected/absorbed light intensity for Red and Infrared wavelengths.

    • Function: Provides raw optical data required to reconstruct the PPG waveform, calculate HR, and derive SpO2

  • MAX30208EVSYS:

    • Interface: I2C.

    • Measured Quantities: High-resolution digital body temperature (20-bit ADC).

    • Function: Delivers stable, continuous skin temperature measurement.

Layer 2: Conversion & Transmission (Embedded Firmware)

  • Microcontroller Tasks:

    1. Polls the MAX30102 FIFO registers and MAX30208 temperature registers at a configurable sampling rate (100 Hz – 400 Hz for PPG).

    2. Applies precise timestamps to each assembled data packet.

    3. Formats frame payloads (e.g., [HEADER][TIMESTAMP][RED][IR][TEMP][CHECKSUM]).

    4. Transmits framed data over USB CDC (Virtual COM Port).

Layer 3: Acquisition & Analysis Engine (LabVIEW Backend)

  • Acquisition: Utilizes NI-VISA to read incoming serial streams from the COM port and unpack channels.

  • Digital Signal Processing (DSP):

    • Filtering: Bandpass filtering (Butterworth, e.g., 0.5–5.0 Hz) to eliminate motion artifacts, baseline wander (respiration), and high-frequency noise.

    • HR/HRV Algorithm: Detects PPG waveform peaks to determine peak-to-peak (RR/PP) intervals and Heart Rate Variability (HRV).

    • SpO2\text{SpO}_2SpO2​ Algorithm: Computes the AC/DC ratio of Red vs. IR signals

      image

      to evaluate blood oxygen saturation levels.

    • Archiving: Streams raw and processed signals into binary TDMS files optimized for high-speed time-series data.

  • IPC Interface: Serves processed metrics to the Qt desktop app in real time via a local TCP/IP socket.

Layer 4: User Interface & Database Layer (Qt Desktop UI)

  • TCP/IP Client (QTcpSocket): Receives data packages from the LabVIEW server.

  • Visualization (GUI):

    • Real-time rendering of PPG waveforms and temperature trends via plotting widgets (QCustomPlot / Qt Charts).

    • Numerical LCD/Gauge indicators for HR, SpO2​, and Temperature.

  • Database Management (Qt SQL):

    • Session cataloging linked to patient IDs, timestamps, and clinical notes.

  • Business Logic:

    • Two-tier alarm thresholds (Warning / Critical) monitoring for bradycardia, tachycardia, hypoxia, or fever.

    • Automated generation of session summary reports (PDF export).

5. Data Flow Summary

  1. Sensors continuously capture optical reflection and temperature readings.

  2. Microcontrollers aggregate I2C data, timestamps packets, and streams frames over USB.

  3. LabVIEW receives the stream, parses channels, filters noise, and computes physiological parameters.

  4. Qt Application receives processed parameters over IPC, displays real-time plots, alerts operators to anomalies, and logs records to the database.

6. Summary of Subsystem Integration

Parameter / Feature Subsystem 1 (Optical / PPG) Subsystem 2 (Temperature)
Sensor Module MAXREFDES117 (MAX30102) MAX30208EVSYS (MAX30208)
Target Controller STM32 Microcontroller MAX32630FTHR (ARM Cortex-M4F)
Physical Interface I2C I2C
PC Transport USB Virtual COM Port 1 USB Virtual COM Port 2
LabVIEW Processing Filtering, Peak Detection, HR/HRV, SpO2 Moving average filter, thermal trend calculation
Qt UI Display Dynamic PPG plot, numerical HR & SpO2 Live temperature trend curve & LCD indicator
  • Sign in to reply
  • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube