Skip to main content
Associate II
November 11, 2025
Solved

ST1VAFE3BX vAFE validation against reference signals

  • November 11, 2025
  • 4 replies
  • 140 views

I'd like to validate ST1VAFE3BX vAFE measurement data against test signals as part of hardware design validation of a custom ECG sensor design based on ST1VAFE3BX.

I intend to input reference signals (differential or single ended) into the two bio channels of the ST1VAFE6BX, capture the raw ADC data, convert to mV, and then compare to the reference signals.

- Conducting this test will help validate the data processing, especially reading and interpreting vAFE data from the FIFO, which is different than if reading from registers.

Are there any documents or guides for how to do such tests?

Currently the vAFE waveforms I capture look correct except for the amplitude. 

Best answer by bwilkins

Answering my own question here that it's the analog front end circuit prior to the ST1VAFE3BX vAFE input terminals which contribute to the signal attenuation in at least the following two ways:

1. DC blocking capacitors

2. Low-Pass Filter

 

The best way to verify the input signal range and experimental validation of conversion code would be with single-ended inputs test signals feeding directly into the vAFE inputs.

4 replies

Federica Bossi
Technical Moderator
November 12, 2025

Hi @bwilkins ,

You can refer to our official examples on Github.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
bwilkinsAuthor
Associate II
November 12, 2025

Hi @Federica Bossi ,

 

Thanks for the reply. I have seen the code. I'm after other details such as: description of test setup, input signals, ST1VAFE3BX configuration and expected results.

 

Other information:

- configure device in signal-ended configuration, or differential configuration?

- should I attach a signal generator to the electrodes directly, or via ECG pads?

 

Thank you!

bwilkinsAuthor
Associate II
December 16, 2025

Hi @Federica Bossi 

 

I did another test to confirm the conversion of vAFE data from the FIFO to mV value is correct.

 

Procedure:

1. I duplicated this conversion procedure from ST Github into my code, and added a `LOG()` statement to output the mV values to the console:

st1vafe3bx_fifo_data_t test;
test.ah_bio.raw = (int16_t)fifo_data[j + 1] + (int16_t)fifo_data[j + 2] * 256U;
test.ah_bio.mv = st1vafe3bx_from_lsb_to_mv(test.ah_bio.raw);
LOG_INF("%2i: vAFE: %0.4f", i, test.ah_bio.mv);
which would output values at runtime like this
[00:02:34.119,323] <inf> st1vafe3bx: 1: vAFE: 22.8871
[00:02:34.119,384] <inf> st1vafe3bx: 2: vAFE: 22.8993
[00:02:34.119,445] <inf> st1vafe3bx: 3: vAFE: 22.9153
[00:02:34.119,476] <inf> st1vafe3bx: 4: vAFE: 22.9275

I plot the vAFE mV values.

 

2. Simultaneously I collected the ADC counts (using same method as my previous message, which does not use the console) and converted the results to mV using the scaling factor "1311 LSB/mV". I plot the ADC counts and mV values.

 

The following graph shows all results with 150mVp-p sine waveform applied to the ECG electrodes.

- There is a horizontal offset between the data sets, so please ignore that the individual plots are not time aligned. 

- Left axis = ECG raw (ADC counts) (dark blue)

- Right axis = ECG ST (red) and ECG C2G (mV) (light blue)

vAFE_mV_C2G_ST.png

The ECG ST and ECG C2G show the same vertical range; approx +/- 25mV or 50mVp-p.

From this result I believe the conversion from ADC counts to mV I am doing is correct; my mV values match those exactly from ST.

 

My issue is the input signal to the ECG electrodes was 150mVp-p, and I've found here the data shows it as approx 50mVp-p. Somehow the amplitude is 1/3 of what it should be.

 

Could my circuit be doing this, or can vAFE ADC somehow be reducing the ADC counts in some way when the FIFO is configured based on output data rate (ODR) or bandwidth etc?

 

Thank you for any suggestions.

bwilkinsAuthor
Associate II
December 18, 2025

@casadeib Hope you might be able to offer some insight here.

bwilkinsAuthorBest answer
Associate II
March 13, 2026

Answering my own question here that it's the analog front end circuit prior to the ST1VAFE3BX vAFE input terminals which contribute to the signal attenuation in at least the following two ways:

1. DC blocking capacitors

2. Low-Pass Filter

 

The best way to verify the input signal range and experimental validation of conversion code would be with single-ended inputs test signals feeding directly into the vAFE inputs.