Username:     
Password:     
            Register  

Contest 2009
Contest 2008
ECG Primer 1.0
 
This project is for detecting human ECG (Electrocardiogram, or EKG). A tiny amplifier is embedded (<1mA). The on-chip Timer, ADC and DMA (double buffering) are used for getting ECG data. An IIR filter and hardware LCD scrolling are used for ECG rendering. User can simply touch the Primer by 2 hands, his/her ECG trace is scrolling alive on the LCD screen. The instant heart rate is displayed with beep sound and LED flashing. The device also delivers and displays the ECG on a PC through the USB cable.

Code size:8K Author:jingxizhang
Source files included:yes Version:1.0
Use circleOS:yes (1.7) Creation date:2008-02-07 01:41:26
Hardware modification:yes Modification date:2008-02-11 21:00:00
Based on the STM32 Primer:Primer1
   
Downloads:15463 Views:55168
   
Vote:
Average ratings:2.86/5 (1077 rates)

Download:    ECG-Primer-1.0.zip (3928 KB)

Description:

This project is for detecting human ECG (Electrocardiogram, or EKG). A tiny amplifier is embedded (<1mA). The on-chip Timer, ADC and DMA (double buffering) are used for getting ECG data. An IIR filter and hardware LCD scrolling are used for ECG rendering. User can simply touch the Primer by 2 hands, his/her ECG trace is scrolling alive on the LCD screen. The instant heart rate is displayed with beep sound and LED flashing. The device also delivers and displays the ECG on a PC through the USB cable.

PROJECT DESCRIPTION

Figure 1 is the ECG Primer in operation. It is a STM32 Primer with two copper foils placed on each side of the front circle. These two metal foils are the ECG electrodes. User can place his/her both thumbs on the copper foil to start the operation. The ECG trace is scrolling on the LCD display. The heart rate calculated and display on the top of the LCD display while the LED and beep sound indicating the pulse detected.

Figure 1. ECG Primer in operation. Two metal foils are on each side of the ECG Primer for the ECG detection. The heart rate is shown on upper-left corner of the screen.

The ECG Primer consists of an extern ECG amplifier circuit for signal conditioning, the STM32 on-chip mixed signal processing peripherals for the data acquisition resources and the software handler for rending the ECG data and delivering ECG data to the USB port (Figure 2).

Figure 2. The ECG Primer block diagram
 
 
External ECG Amplifier Hardware
 
The external ECG amplifier circuit (less than 25 electronic components) is a tiny PCB embedded in the STM32 Primer enclosure (Figure 3. The sample of the PCB circuit was mailed to Raisonance, separately). Figure 4 is the ECG circuit schematic (it is also in the uploaded project zip file) and Figure 5 is the BOM for the PCB.

The first stage of the ECG amplifier circuit is an instrument amplifier (U1). It has high common mode reject ratio (CMRR) for eliminating the common mode noise, such as the 50 or 60 Hz AC interference. The gain is set to 5. Because human skin contacting the ECG electrode may create a small DC voltage offset, an integrator (U2D) is used for compensating this DC offset by feedback it to the reference pin of the instrument amplifier. The human ECG signal is very small (in 1 mV range).The gain of the second amplifier stage (U2A) is set to 200 and total gain of the circuit is about 1000 so that the ECG is in right voltage range for the analog to digital converter (ADC). The output of the ECG amplifier is connected the ADC input 2 (AIN2, pin 16 of STM32 Primer J1 connector). U3 is the switching power supply for generating +5V and -5V rails. The power and ground are also connected to the J1 connector. The instrument amplifier, operation amplifier and power regulator are lower power and the entire circuit current consumption is less than 1 mA.

 

Figure 3. The tiny ECG Amplifier PCB is embedded at back of the STM32 Primer main board. The input of ECG Amplifier is connected to font electrodes while the output and power supply are connect to the J1 connector.

Figure 4. The ECG circuit schematic

 

 Figure 5. Bill of Material for the ECG PCB

 
ECG Data Acquisition
 
The ECG signal is digitized by ADC1 (channel 2, AIN2). The sampling rate is 480/sec. ADC1 is set to the single conversion mode with the external event triggering the conversion. The conversion trigger source is the Timer1 (TIM1) channel 1. The prescaler of TIM1 is set to 24 while the modular register (Auto-reload register TIM1_ARR) is set to 6250. The system clock frequency is 72MHz and the TIM1 channel output is 72MHz / 24 / 6250 = 480 Hz. DMA channel 1 is setup for transfer the ADC sampled data from the ADC regular data register (ADC_DR) to a memory buffer. The memory buffer size is 240 bytes to hold 120 16-bit data entries, which is size for a period of ¼ second. The DMA Half-Transfer-Interrupt (HTIE), Transfer-Complete-Interrupt (TCIE) and destination memory address auto-increment mode are enabled. The DMA channel 1 destination address is increased each time a sampled data is transferred to the memory buffer until it reaches to the end of the buffer. Then the DMA is automatically wraps the destination address back to the beginning of the memory buffer to form a circular buffer scheme. The double buffering (or so called Ping-Pong buffering) is made by the dual interruptions. When the memory buffer is filled with half of the buffer size data, the Half-Transfer-Interrupt flag (HTIF) is set and signal an interruption. The interrupt service routine (ISR) is activated and a global pointer (for ECG data rendering) is set to point the beginning of the memory buffer. The data in first half of the memory buffer (60 data entries), therefore, is being processed by the ECG data rendering procedure (in the Application_Handler function) while the DMA continue transferring the ADC sampled data to the second half of the memory buffer. When the memory buffer is full, the Transfer- Complete-Interrupt flag (TCIF) is set and there ISR is activated again. At this time, the global pointer is pointing to middle of the memory buffer. So the ECG data rendering procedure processes the data in second half of the memory buffer while the DMA continues transferring the DAC sampled data to first half of the memory buffer (see Figure 2). In this way, the data acquisition and data rendering is decoupled without pending each other. The chunk of the buffered data (representing the period of 1/8 second) is served at 8 Hz.
 
ECG Data Rendering
 
The ECG render procedure is in the Application_Handler function. While the Application_Handler function is activated at 30Hz (when sysclk = 72MHz), the ADC data buffer for process is at a rate of 8 Hz. The global pointer (pointing to the memory buffer) is evaluated each time the Application_Handler function is called. If the global pointer is not null (a block data is ready), the ECG data rendering procedure starts. The data is first processed by a 4th order Chebyshev IIR (Infinite Impulse Response) low pass digital filter (LPF). The LPF cut-off frequency is set to 40 Hz to remove the higher frequency noise (including the 60 Hz AC interference at USA and 50 Hz AC interference at Europe). In order to speed the filtering process and reduce the code size, the fixed point process instead of floating point process is used in the filtering. All the coefficients are pre-scaled by 65536. Only integer multiplications are involved during the calculation. The final result is then shifted 16-bit right (equivalent divided by 65536). The filter procedure also reduces the data rate by 4 times for easy rendering at the low resolution LCD display. The filtered data (reduced to 15 bytes) is then rendered at the LCD display. In order to increase the ECG trace drawing efficiency and avoid the display flickering, the LCD hardware scroll function is used. First, the entire LCD drawing is shift to left 15 pixels by the LCD scrolling commands (the SCRLAR and VSCSAD commands). Then the 15 pixels wide area at right most of the screen is erased. The new trace is drawn on the erased area. In this way, the ECG trance is continuously scrolling from right to left on the screen at the 8 Hz update rate without the screen flickering.
 
In order to calculate the heart rate, a threshold based QRS wave detector is used. The threshold is also drawn at the screen for visual assessment. If the signal is over the threshold, a short beep is on and the red LED flashes to indicate the heart pulse. The interval between the detected QRS waves is converted to heart rate and displayed on the up-left corner of the LCD display. A hysteresis at the threshold and an inhibiting period are used to avoid the mistake triggering by the noise or high T-wave.
 
USB Data Transfer
 
Besides drawing the ECG trace on the LCD display screen, the device also sends the ECG data to a PC through the USB port (the USB port behind the pushbutton). The USB data transfer is using the Human Interface Device (HID) class. The code implementation references the PrimerMouse project posted on the stm32circle.com website. The HID report descriptor is rewritten. Instead of the predefined mouse and pointer device, the report descriptor usage page and the usage are vendor defined classes. The input report size set to 16 for the16-bit ECG data and the report count is set to 60 for sending the entire block of the ECG data at once. Other descriptors are also modified accordingly. When the block of ECG data is ready, besides the trace rendering the Application_Handler function also copies the ECG data to the 512-byte USB dedicated SRAM memory for the input report at Endpoint 1. Because the data block is ready every 128 ms (in 8 Hz), the interrupt (polling) interval is set to 64 ms for guaranteeing there is no missing for the input report. When the device senses the report request, if the data is ready the device sends the data to the host PC.
 
PC USB Handler and ECG Display Software
 
The PC USB handler and ECG display program is written in Windows .NET environment using the C# language. Figure 6 is screenshot of the PC host GUI. Since the PC software development is not in the scope of the contest, detail description is omitted. However, the PC software executable is provided in the uploaded zip file (require .NET framework 2.0 or later installed).

Figure 6. ECG trace displayed on the PC screen.

 



Project comments

Comiler Failed...                                                                                                             Please, log you to post a reply.
#1   2009-05-31 05:36:38
chienchun
New member

Offline

I have trouble compile ECG_Acquisition.c using Ride7 (7.20.09.0139)
How can I fix them? Are they related to new STM32F10xxx firmware library (FWLib) V2.0 compatibility issues?

Building C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c
Running: GCC
\"C:\Program Files\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-gcc.exe" -MD -D_STM32F103RBT6_ -D_STM3x_ -D_STM32x_ -mthumb   -mcpu=cortex-m3 "C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c" -o "C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\objdebug\ECG_Acquisition.o" -I "." -I "C:\Program Files\Raisonance\Ride\Lib\ARM\include" -I "C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\Include" -I "C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\USBLIB" -c     -fsigned-char  -g       -Os   -ffunction-sections         -mlittle-endian
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c: In function 'InitTIM1': 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:50: error: 'TIM1_TimeBaseInitTypeDef' undeclared (first use in this function) 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:50: error: (Each undeclared identifier is reported only once 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:50: error: for each function it appears in.) 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:50: error: expected ';' before 'TIM1_TimeBaseStructure' 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:51: error: 'TIM1_OCInitTypeDef' undeclared (first use in this function) 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:51: error: expected ';' before 'TIM1_OCInitStructure' 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c: In function 'InitDMA1': 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:128: error: 'DMA_Channel1' undeclared (first use in this function) 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:129: error: 'DMA' undeclared (first use in this function) 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:133: warning: passing argument 2 of '(u32 (*)(u32,  u32))(*ptrCircle_API)[185]' makes integer from pointer without a cast 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c: In function 'ResetDMA1': 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:173: error: 'DMA_Channel1' undeclared (first use in this function) 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:174: error: 'DMA' undeclared (first use in this function) 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:177: warning: passing argument 2 of '(u32 (*)(u32,  u32))(*ptrCircle_API)[185]' makes integer from pointer without a cast 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c: In function 'ECG_NVIC_Configuration': 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:277: error: 'DMAChannel1_IRQChannel' undeclared (first use in this function) 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:283: error: 'SCB_TypeDef' has no member named 'AIRC' 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:293: error: 'NVIC_TypeDef' has no member named 'Priority' 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:299: error: 'NVIC_TypeDef' has no member named 'Priority' 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:302: error: 'NVIC_TypeDef' has no member named 'Enable' 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c: In function 'DMA1_Interrupts_Stop': 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:324: error: 'DMAChannel1_IRQChannel' undeclared (first use in this function) 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c: In function 'DMA1_ISR': 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:336: error: 'DMA' undeclared (first use in this function) 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:336: error: 'DMA_FLAG_HT1' undeclared (first use in this function) 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:341: error: 'DMA_FLAG_TC1' undeclared (first use in this function) 
C:\Documents and Settings\Jingxi\My Documents\My Projects\STM32Primer\Projects\STM32ECG\src\ECG_Acquisition.c:347: error: 'DMA_FLAG_GL1' undeclared (first use in this function)

 
#2   2009-06-03 11:35:12
matloub
Administrator

Offline

Hi

Some projects such as ECG Fatfryer and RB-Primer1 are not compiling anymore due to
library version compatibility.

Regards,
Matloub

 
#3   2009-06-28 15:58:19
toni1000
New member

Offline

I upload a new version of ECG Primer, (version 1.1) on Projects section that it works for Circle OS 3.8, and new libraries.

Toni Martinez

 
#4   2009-09-13 05:14:21
yemingxp
New member

Offline

toni1000 wrote:

I upload a new version of ECG Primer, (version 1.1) on Projects section that it works for Circle OS 3.7, and new libraries.

Toni Martinez

i met the same qustion as chienchun,so where's your uploaded new version? thx a lot

 
#5   2009-12-20 14:43:27
guille36
New member

Offline

How do I do to compile right? where is the 1.1 version of ECG primer? do I have to replace the lib folder with older st libraries? where do I get it from? pls answer this question because the most loaded project just don't work! thanks a lot!

 
#6   2009-12-22 10:35:25
Francis
Administrator

Offline

The new ST libraries are not 100% compatible with previous versions. We adapted all the project posted by Raisonance (and most of the projects that do not require any hardware), but some projects (such as ECG) that require a specific hardware extension have not been modified.

 
#7   2010-01-19 21:43:42
toni1000
New member

Offline

try ECG-Primer-1.1, it should works.

 
#8   2010-02-04 23:37:46
rfarrow2010
New member

Offline

What would be required to make your software run on a Primer2?

 

how can i buy the STm32 and the ECG bord                                                                                                             Please, log you to post a reply.
#1   2008-03-04 23:41:13
dbbb
New member

Offline

???

 
#2   2008-03-05 08:26:35
tybos
Member

Offline

Hi,
Do not be impatient ! I think everybody lets Jingxi Zhang answer because he's the author of the project.
Anyway, the simpler way to get an ECG Primer is to buy a STM32 Primer (see other topics to know where) and the components needed to perform the hardware upgrade to do the upgrade following instructions given on the Project page and to download the code.
Regards
Tybos

 
#3   2008-03-05 21:17:22
jingxizhang
Member

Offline

I have 2 pieces of ECG PCB left and I can give them free for the developers interested. You have to buy the amplifiers and resistors, and solder the SMD components on to the PCB. If more people want the PCB I can order more and having each one share the cost (probably in $10-$15 each, depends on the volume). Are there any other suggestions?

You can buy STM32 Primer at Digikey, Mouser and Avnet. Here is a discussion link for it (STM32 prices by mtuxpe). I checked the availabilities of the STM32 Primer on these sites. Here are the results by today:
Digikey (http://search.digikey.com/scripts/DkSea … 97-6049-ND): Availability: 30. Price US$50.75/each.
Mouser (http://www.mouser.com/Search/ProductDet … SvpA%3d%3d): Availability: 236. Price US$50.75/each
Avnet (https://www.em.avnet.com/pns/home/0,553 … ilter=TRUE): Availability: 23. Price US$33.93/each

Jingxi Zhang

 
#4   2008-03-05 21:28:53
dbbb
New member

Offline

Jingxi Zhang thank u for your help
how i can send u the mony for the pcbs
or if you have a complit kit of the pcb and the componnrnt
any way if i buy 20 units what will be the price of the pcb?
can u send me the 2 units u have and i deliver u the mony ?

 
#5   2008-03-05 22:15:40
killerwhale
New member

Offline

I also would like to buy one of your ECG boards if you have one available. (Email sent)
thanks!

 
#6   2008-03-07 00:23:27
jingxizhang
Member

Offline

Hi dbbb and killerwhale,
please send me your shipping address. I will send one PCB to each of you.

Regards,

Jingxi Zhang

 
#7   2008-03-13 17:19:41
killerwhale
New member

Offline

Jing,
I sent you an email about buying a PCB from you, but I have not heard back. Did you receive it yet?
thanks!

 
#8   2008-03-13 19:20:24
jingxizhang
Member

Offline

Hi Killerwhale,
I sent email to you.
Jingxi

 
#9   2008-04-04 04:31:44
BPWillis
New member

Offline

Greetings...I noticed that the ECG circuit / schematic and the Bill of Materials do not match with regards to AD instrumentation amp. I will assume actual circuit / schematic calls out the correct IC. patience requested as I am an aeronautics engineer by trade. while I cannot solder smt I would still like to build circuit on protoboard and integrate. clunky I know.

none the less I would like to get the PCB and try my hand at smt work. email is: bpwillis@buckeye-express.com

BPWillis

 
#10   2008-04-04 05:08:54
blakeadkins
New member

Offline

jingxizhang,

Is it possible to post your board layout file? I looked for it, but didn't see it on here.  Thanks!

 
#11   2008-04-04 09:12:45
jingxizhang
Member

Offline

The Instrumentation amplifier (IA) is AD627BR. The IA is the schematic is correct. However, in the BOM the IA showed in the LibRef column is AD622AR. Since the AD627BR and AD622AR has the same package and footprint,, and AD622AR library was available so I used the AD622AR Lib reference. Please be sure to use AD627BR in your circuit.
Sorry for the confusing.

Jingxi Zhang

 
#12   2008-04-07 10:14:57
rudi_vs
New member

Offline

jingxizhang wrote:

I have 2 pieces of ECG PCB left and I can give them free for the developers interested. You have to buy the amplifiers and resistors, and solder the SMD components on to the PCB. If more people want the PCB I can order more and having each one share the cost (probably in $10-$15 each, depends on the volume). Are there any other suggestions?

You can buy STM32 Primer at Digikey, Mouser and Avnet. Here is a discussion link for it (STM32 prices by mtuxpe). I checked the availabilities of the STM32 Primer on these sites. Here are the results by today:
Digikey (http://search.digikey.com/scripts/DkSea … 97-6049-ND): Availability: 30. Price US$50.75/each.
Mouser (http://www.mouser.com/Search/ProductDet … SvpA%3d%3d): Availability: 236. Price US$50.75/each
Avnet (https://www.em.avnet.com/pns/home/0,553 … ilter=TRUE): Availability: 23. Price US$33.93/each

Jingxi Zhang

Hi Jingxi,

Could you please post the gerber file for the pcb?

 
#13   2008-04-09 18:18:13
englere
Member

Offline

How about if we get a group order for boards? How many people are interested - please post here?

 
#14   2008-04-16 06:04:18
blakeadkins
New member

Offline

englere wrote:

How about if we get a group order for boards? How many people are interested - please post here?

I would be interested in a couple

 
#15   2008-05-27 20:17:26
Techi
New member

Offline

I would be interested in one PCB

 
#16   2008-07-04 16:31:42
guitaclass
New member

Offline

Hi,
I would be interested in one PCB, is it possible to get one yet?

 
#17   2009-01-07 02:08:10
jingxizhang
Member

Offline

Hi,
I got some PCBs for ECG Primer. Let me know if you are interested. It is $15/ea plus shipping.

Jingxi Zhang

 
#18   2009-02-05 16:28:41
jonno
New member

Offline

I would interested in a pcb as well.
                   Jonno

 
#19   2009-02-18 07:54:24
anug6ue
New member

Offline

Hey Jingxi:
     I was going through your project and it really interest me. Wondering if I can use your device to create a solution for my parents. Will it be possible to get one of these devices. I can pay for the cost of device. Plz let me know ASAP.

Thanks,
Anub.



jingxizhang wrote:

I have 2 pieces of ECG PCB left and I can give them free for the developers interested. You have to buy the amplifiers and resistors, and solder the SMD components on to the PCB. If more people want the PCB I can order more and having each one share the cost (probably in $10-$15 each, depends on the volume). Are there any other suggestions?

You can buy STM32 Primer at Digikey, Mouser and Avnet. Here is a discussion link for it (STM32 prices by mtuxpe). I checked the availabilities of the STM32 Primer on these sites. Here are the results by today:
Digikey (http://search.digikey.com/scripts/DkSea … 97-6049-ND): Availability: 30. Price US$50.75/each.
Mouser (http://www.mouser.com/Search/ProductDet … SvpA%3d%3d): Availability: 236. Price US$50.75/each
Avnet (https://www.em.avnet.com/pns/home/0,553 … ilter=TRUE): Availability: 23. Price US$33.93/each

Jingxi Zhang

 
#20   2009-05-05 08:41:51
weoweoweo
New member

Offline

jingxizhang, i sent you an email, i'm really interested in buying one.. email me.

thanks.

 
#21   2010-01-10 13:51:06
toiyeuvn2348
New member

Offline

jingxizhang wrote:

I have 2 pieces of ECG PCB left and I can give them free for the developers interested. You have to buy the amplifiers and resistors, and solder the SMD components on to the PCB. If more people want the PCB I can order more and having each one share the cost (probably in $10-$15 each, depends on the volume). Are there any other suggestions?

You can buy STM32 Primer at Digikey, Mouser and Avnet. Here is a discussion link for it (STM32 prices by mtuxpe). I checked the availabilities of the STM32 Primer on these sites. Here are the results by today:
Digikey (http://search.digikey.com/scripts/DkSea … 97-6049-ND): Availability: 30. Price US$50.75/each.
Mouser (http://www.mouser.com/Search/ProductDet … SvpA%3d%3d): Availability: 236. Price US$50.75/each
Avnet (https://www.em.avnet.com/pns/home/0,553 … ilter=TRUE): Availability: 23. Price US$33.93/each

Jingxi Zhang

hi jingxizhang!
your project is really excellent so that i was interested  from the first time i saw it! now i 'm planing to do my graduation thesis about ecg. The ecg project is necessary for me and thus i want to have one! let me know how i can spend the money to you! please mail to me at address: toiyeuvn2348@yahoo.com. Hoping see you soon.

 

hi all                                                                                                             Please, log you to post a reply.
#1   2009-11-16 16:18:16
begotiamo2005
New member

Offline

hi all i wanna tell all that i make this project and it is very well and i have all component if u need any thing from it with cheap price i have also STM32 primer
and all components
if u need send to me email at
ahmedfouda2009@gmail.com

 

Typo on TPS601070 part number                                                                                                             Please, log you to post a reply.
#1   2008-03-10 20:17:40
jingxizhang
Member

Offline

People are starting to build ECG Primer and writing to me for the questions of the electronic parts. I noticed that in the schematic the low power boost converter TPS601070 (U3) has a typo. The correct part number is TPS61070. I apologize for the inconvenience caused by this confusion and thanks for the developers interested in the project.

Jingxi Zhang

 
#2   2009-09-11 04:55:31
yemingxp
New member

Offline

gotta you

 

Need a PCB                                                                                                             Please, log you to post a reply.
#1   2009-02-18 06:38:42
sapmittal
New member

Offline

Hi Jingxi,
Is is possible to get one PCB ? Thanks

 

can we work togather to make new wireless products?                                                                                                             Please, log you to post a reply.
#1   2008-06-19 16:44:47
mxwang
New member

Offline

Hi Jingxizhang,

This is really a nice project, very creative. I do think if we work at it will be a very good bluetooth products.

I can put bluetooth module into it.

1) It will be safe that connect to computer/mobile/PDA with wirless
2) The data will be processed by more powerful software.
3) We can use lots of BT handhold to display, sand data over wireless network.

For to do this, only thing you need to do is:

Send you data to RS232 port.

I never use STM32 Primer, so I don't know how to do you project. But I can see it is work great.
I think you can easy setup RS232 port, and give me 1.8v - 3.3v DC power.
Then I can put my tiny 12X22MM Bluetooth module in.
My bluetooth system is very easy to use, just power on, wait 2 S, connecting, working……,just like wired RS232.

So why we do not put it to wireless?

Regards,

Xin Wang

mwang56@gmail.com

 
#2   2008-06-19 23:20:14
domi
New member

Offline

Hello Xin Wang,

I am in ST and we are currently investigating solutions combining Bluetooth and the STM32.
Could you let us know more about your solution:  which Bluetooth module, which Bluetooth stack and profiles running on the STM32 (SPP, HID...).

Regards,
Dominique

 
#3   2008-06-20 05:04:29
mxwang
New member

Offline

domi wrote:

Hello Xin Wang,

I am in ST and we are currently investigating solutions combining Bluetooth and the STM32.
Could you let us know more about your solution:  which Bluetooth module, which Bluetooth stack and profiles running on the STM32 (SPP, HID...).

Regards,
Dominique

Hi, Dominique,

Yes, I think if ST can put Bluetooth into STM32, that will be great.

I have several solutions:

1) The simplest one, just put my mini  SPP Bluetooth module in.
connect RS232 3 wire: TX, TR, GND, and 1.8~3.1DC power.
My modules' size is 12mm X 21mm X 2mm. 
It has one button, pressed and held for a duration of five seconds, in order to pair with other side.
You only need to pair once. Next time, just power on the system, it will auto connect, and work.
For STM32, it is just like wire RS232 port.

2) Use STM32 with Bluetooth stack and profiles running on it. In this case, It will be a big job. but hardware cost will be low.

Compare 1) & 2) for STM32,
I think 1) is better, easier method if for cases like STM32 Primer.
But if it's for mass products, like mobile phones, we better go to 2)

Now I have several wireless medical equipment projects. I do use bluetooth for wireless solutions because there are lots of devices that already have bluetooth. We only need to develop our sides, other sides just have standard Bluetooth devices/profiles + application softwares.

My module has milt-profiles: SPP, HS, HFP.

If you want to more detailed infomation, please send me an e-mail.

Regards,

Xin Wang

 
#4   2009-02-10 16:44:50
erwingroenendaal
New member

Offline

mxwang wrote:

Hi Jingxizhang,

This is really a nice project, very creative. I do think if we work at it will be a very good bluetooth products.

I can put bluetooth module into it.

1) It will be safe that connect to computer/mobile/PDA with wirless
2) The data will be processed by more powerful software.
3) We can use lots of BT handhold to display, sand data over wireless network.

For to do this, only thing you need to do is:

Send you data to RS232 port.

I never use STM32 Primer, so I don't know how to do you project. But I can see it is work great.
I think you can easy setup RS232 port, and give me 1.8v - 3.3v DC power.
Then I can put my tiny 12X22MM Bluetooth module in.
My bluetooth system is very easy to use, just power on, wait 2 S, connecting, working……,just like wired RS232.

So why we do not put it to wireless?

Regards,

Xin Wang

mwang56@gmail.com

Hello,

You are using an rs232 port, however in the data sheet of the STM32 primer, I could not find an rs232 port. Which pins did you connect to your bluetooth module.
Or did you use the evaluation board which has an Rs232 port.

Regards,

Erwin

 
#5   2009-02-10 19:02:16
sjoerd
Member

Offline

You can use a max3232 on the UART of the primer.

 
#6   2009-02-10 19:44:44
zwieblum
Member

Offline

or even easier use uart1. that goes to the ir on primer2 (you'll probably have to remove it). or on primer 1 the ir module is absent, so you can just solder the connections for the bt module.

 
#7   2009-02-10 19:49:39
sjoerd
Member

Offline

Correct me if i'm wrong but if it's true RS232 you need to convert it to 3.3v TTL

 
#8   2009-02-10 21:18:31
zwieblum
Member

Offline

definitly. but most bt modules work with rs232 on ~ 3V ttl level or what ever support voltage is. if have here a module called "BlueMod+B20" from stollmann. it uses 3V supply and rs232 (3v level) to communicate. it's easy to integrate. but keep in mind, water is a perfect 2.4 ghz insulator ...

 
#9   2009-02-10 21:49:18
sjoerd
Member

Offline

sparkfun.com has some nice 3.3v uart bluetooth modules which can be used on the Primers.

 

tests                                                                                                             Please, log you to post a reply.
#1   2009-01-09 15:11:28
rina_1220
New member

Offline

Hi there. I am building some sort of project like yours and I am having some problems. I think you can help me out.
I have my circuit (a simple INA114 with Gain 10 and another op amp to give me the rest of the gain I want) working fine when I connect it to a simulator, but it gives me no response when I try it with real people.
I found, then, your project and I decided to assembly it just to test and see if my circuit had any problems. Same thing, the oscilloscope shows a fine signal when it is connected to my ecg simulator, but when I test it with my own thumbs I get no response at all.
I am using, as electrodes, 2 small copper plates, just as I see you use on your project. Sometimes I try with commercial electrodes too, but nothing changes.
Do you have any hints on what my problem could be?
Any help is appreciated.
Thanks
And nice project by the way.

 

stm32                                                                                                             Please, log you to post a reply.
#1   2008-12-25 16:40:29
alhamza
New member

Offline

hi all
I want to make the stm32 , I mean I want to make up the ECG primer (all theings) can any one help me. what the number of the microcontroler inside the stm32 please?
my email is      alhamza_888@hotmail.com


alhamza

 

pls add a SD card to store the ECG data                                                                                                             Please, log you to post a reply.
#1   2008-12-13 07:49:46
ericdai
New member

Offline

hi jingxi
I suggest you would better add a SD Card to store the ECG data so that can make it run offline for sports man .
another, why do not try 5 leads ECG ,It is more useful

 

instrumentation amplifier ad622ar                                                                                                             Please, log you to post a reply.
#1   2008-12-05 17:20:23
alhamza
New member

Offline

hi jingxizhang
please help me
i can't get the instrumentation amplifier ad622ar and  synchronous boos converter tps601070  is there any substance ?
what about the stm32 family ? what i can buy stm32f103vb or what ?

my email  (alhamza_888@hotmail.com )

 

i like a stm32 ecg                                                                                                             Please, log you to post a reply.
#1   2008-12-04 03:03:19
bobzhu2008
New member

Offline

jingxizhang
i think 2,3-lead has its common usage, can you send me your pcb full package, i would like buy a set

pls contact me , bob3000@sohu.com

thanks

 

ECG amplifier hardware sample                                                                                                             Please, log you to post a reply.
#1   2008-07-09 07:42:03
okarmdy
New member

Offline

jingxizhang-san:
    Can you send me ECG amplifier hardware sample?my email: okarmdy@gmail.com
    thank you!

 
#2   2008-12-01 17:29:06
nancyneira
New member

Offline

Hi Guys,

I am working on ECGstreams and I need to know is there a Ecg class already for Microsoft Visual Studio 2008?
Jus wondering...
Nancy

 
#3   2008-12-03 19:24:12
mehmetmf09
New member

Offline

hello.My name is mehmet.I'm studying at the university in Turkey.my thesis is to send the ecg with telephone.can you send me the ecg project's files.(shematic,pcb,windows source code...)
my email address: mehmetmf09@gmail.com
Thanks....

 

jingxizhang                                                                                                             Please, log you to post a reply.
#1   2008-11-27 18:19:35
Wehbe_M
New member

Offline

Hey jingxizhang ,i'm senior year BME ur project is a great one i would like 2 make something like it but i want to know  what kind of electrodes u used cause the signal is so small so i want to know the name of the electrodes and where can i get something like it my email is Mohamadwehbe66@hotmail.com thanks

 

bluetooth ECG                                                                                                             Please, log you to post a reply.
#1   2008-11-20 19:55:28
cacashi555
New member

Offline

Hi jingxizhang,
my project in university is bluetooth ECG could you help me please,
what is the software of pc or mobile to receive the signal
what is the program of micro controller pic that send the signal from the circuit to the bluetooth
my email is (fawaz_just86@yahoo.com)
thanks very much..

 

SMALL requst                                                                                                             Please, log you to post a reply.
#1   2008-11-18 16:40:03
alhamza
New member

Offline

pleas I want all things about the project
my E_mail    alhamza_888@hotmail.com

 

hi                                                                                                             Please, log you to post a reply.
#1   2008-10-15 11:19:33
jenkinsxu
New member

Offline

jingxizhang-san:
    Can you send me ECG amplifier hardware sample?my email: zqxux@163l.com
    thank you!

 

Need PCB design                                                                                                             Please, log you to post a reply.
#1   2008-09-27 15:10:19
Anne
New member

Offline

Hi All,
   My name is Anne, I am trying to make one ECG. Can someone please send me PCB design? I have STM32 but still working on ECG .
My email: hathaikan.senaphan@hotmail.com
Thank you in advance,
Anne

 

help                                                                                                             Please, log you to post a reply.
#1   2008-07-28 13:06:29
weoweoweo
New member

Offline

hey im trying to make one as a project but im just gonna use it on a breadboard. i was wondering what other components could be used instead of the TSP601070 cause im having a hard time finding it on the stores here in the philippines. and i think it would be too costly and too much of a hassle if i had them delivered.

i would really appreciate it if you could tell me the similar components that i could use. thanks a lot. smile

you could also email me in antont_79@yahoo.com if you want. thanks again! smile

 

PCB BOARDS                                                                                                             Please, log you to post a reply.
#1   2008-07-16 21:16:56
basic4ever
New member

Offline

I did the circuit in the PCB PROTEL.
If someone is interested, i send the PCB and GERBER FILES.
Worked fine!
Only U$20,00
tcpipchip@hotmail.com

 

Is that an ECG ?                                                                                                             Please, log you to post a reply.
#1   2008-02-13 20:45:41
House MD
New member

Offline

I wonder whether this can be called ECG since it can only measure heart pulse.
Indeed, an ECG must show several waves, got thanks to 10 different electrodes at least...
Otherwise this one wave doesn't give any valuable information about heart health !
But I admit that it can be fun to see electrical activity on fingers skin.

See wikipedia to have further information ( http://en.wikipedia.org/wiki/Ecg )

Regards
[H]ouse

 
#2   2008-02-18 23:29:15
jingxizhang
Member

Offline

Two leads should be able to detect ECG signal although 3 leads are preferred (as the wikipedia described Limb Leads, the leads I, II and III). The 2 arm leads can detect the differential signal from atrium and ventricle. The third lead can be used to inject a small feedback signal back to patient’s leg to compensate the common mode noise. The professional ECG machine has 12 leads to view the ECG from different angles (different lead pair combination), but in each channel only two leads (bipolar mode) or one lead (unipolar, reference to a virtual “center” point) are used.
There is two good papers in the web described the ECG amplifier. One is Texas Instrument App Note “Getting the most out of your instrumentation amplifier design” (http://focus.ti.com/lit/an/slyt226/slyt226.pdf). Another is Analog Device Inc paper on Analog Dialogue November 2003 “ECG Front-End Design is Simplified with MicroConverter” (http://www.analog.com/library/analogDia … 1/ecg.html). ECG Primer referenced to and is modified from those papers. To lower the power consumption, the instrument amplifier and OpAmps are selected low power version. Due to the contest rule requires less than 25 electronic components, the third lead was not used in ECG Primer (although the circuit board has the design) and the ECG wave is not as clear as it should be. But you still can see the QRS wave complex and the slow rising T-wave after QRS wave complex. The P and U waves are too small and is hard to tell from the noise. The following is the screenshot of ECG data which ECG Primer sent to PC display through the USB port. Hop this can be help.
http://www.stm32circle.com/projects/image/ECGPrimer/Figure6.jpg

 
#3   2008-03-06 11:45:30
House MD
New member

Offline

What I meant is that it can't be called ECG because it has almost no medical value.
The 3 first leads of an ECG can't say anything about the heart's health. To be synthetic, I will say that this device won't be able to detect heart failures like infarct, heart rhythm disorders, and so on.
I'm afraid your device can only be a fun toy but nothing serious concerning health.

[H]ouse

 
#4   2008-03-07 01:25:53
jingxizhang
Member

Offline

Sorry, I disagree with House’s comment for the 3-lead ECG. The 3-lead ECG has its medical value although the ECG Primer is not emphasis on its medical benefit. When I was in the medical school earlier, a portable 3-lead ECG system was the favor equipment being used. “3-Lead wire ECG system (Einthoven’s Triangle) has been around for sometime. In fact, the three lead ECG recently celebrate its 100th birthday. While the five lead ECG is gradually becoming the norm, the three lead ECG continues to be used in emergency departments, telemetry, monitoring and during medical procedures.” (www.nursecom.com). The 3-lead ECG can definitely be used for the diagnosis of cardiac arrhythmias by assessment of PP- or RR-intervals, which including the sinus arrhythmia, sinus bradycardiac, sinus tachycardiac, wandering pacemaker, paroxysmal atrial techycardiac, supraventricular arrhythmias, ventricular arrhythmias, atrial fibrillation and ventricular fibrillation. It can be also used for the diagnosis of disorders in the activation sequence by observing the relationship between P-wave and QRS-complex wave, which including different degrees of atrioventricular conduction defects (A-V blocks). The 3-lead ECG system may not suitable for atrial or ventricular enlargement and myocardiacl ischemia and infarction may require because it need more leads to look at the heart in different angles. The 12-lead system can provide more accurate information in those cases.
I never enforcing ECG Primer in medical usage is not because the 2-lead or 3-lead system. It is because that even you can get ECG traces, to interpreting the traces for diagnosis requires the good trained doctor and ECG technician, which may not be the easy task for the normal person. Also, the safety measurements (such as the isolation amplifier) will be the import issues. The ECG Primer project is not claimed to be the clinic equipment (at least not the pricing professional medical equipment) but it can be used in preventive medicine along other non-professional devices as the consumer blood pressure mornitor, the home diabetes kits and the body temperature meter. I am sure the Primer can find its way to be practically used in other fields such as biofeedback monitor. I am working on lowering its noise level to improve its performance.

Jingxi Zhang

 
#5   2008-05-21 21:45:30
Techi
New member

Offline

Hi Jingxizhang,

This is really a nice project, very creative. To reduce the noise level, although it is always better to clean it at the hardware level, never the less it is also easier to write a small program to filter out the noise. Modifying a program for the cut off frequency and greater stop band attenuation is easier in software as compared in hardware. I wrote it in 1993 for my mtech project and worked amazingly. If you would like I will be more than happy to share the knowledge with you.

Also I would love to try your work and would like to buy ECG amplifier PCB if you have one in spare.

Thanks,

 

PCB PROTEL FILE                                                                                                             Please, log you to post a reply.
#1   2008-05-21 21:17:15
MIGUELAWISITNAINER
New member

Offline

Hi,
How much do you want to for the PCB FILE ?
Contact me
tcpipchip@hotmail.com

 

USB PC Host source code                                                                                                             Please, log you to post a reply.
#1   2008-03-02 02:12:33
jingxizhang
Member

Offline

Since many people downloaded my project, ECG Primer 1.0, I think some of the people may also be interested in knowing how to handle the USB ECG data on the PC host side. It is appropriate for me to put my Windows source code and project to public. I think it can be a reference for other developers who like to use the STM32 Primer USB to exchange data to the PC host. However, I don’t know how I can upload it to STM32Circle website since the contest uploading is closed. Maybe I can send it individually by email if you send a request to my email. Any suggestion?

The program uses USB HID (Human Interface Device) class. Don’t be fooled by the class name. You can use the HID class to transmit many different data stream which have nothing to do with the human interface (ECG data is one example). The program is adapted from Ashley Deakin’s article “Making USB C# friendly” (http://www.vsj.co.uk/articles/display.asp?id=600). Although it is a C# project (Visual Studio 2005), the system USB API calls are converted from C/C++. It can easily be adapted to C/C++ project.

Jingxi Zhang

 
#2   2008-03-02 09:41:45
tybos
Member

Offline

I think adding a "non contest" project would do the trick : it's there.

Regards
Tybos

 
#3   2008-03-02 22:51:02
jingxizhang
Member

Offline

Yes, I uploaded it as a non contest project "ECGMonitor".

Jingxi

 
#4   2008-04-09 18:10:04
englere
Member

Offline

Thanks a lot for sharing this C# code!

The article you mentioned, “Making USB C# friendly”, has a broken download link for it's code. I emailed the editor of that site and hopefully they will fix it.

Your ECG application is amazing for this particular device. You did a great job!

Eric

 

Why 150 ?                                                                                                             Please, log you to post a reply.
#1   2008-03-10 07:54:16
tybos
Member

Offline

Hi,

I took a look at your code at I was surprised to see that you limited the measured heart frequency to 150 BPM.
It is a problem for sportsmen and women whose heart frequency can approach 200 !!
Is there a valid reason to limit this ?

Regards
Tybos

 
#2   2008-03-10 20:56:59
jingxizhang
Member

Offline

The person with heart rate over 150 BPM probably cannot hold the ECG Primer device steady (sorry, just kidding).
Actually, I was setting a temporal inhibition window after detecting the QRS wave to prevent the high T-wave mis-triggering the heart rate detector. The 150 BPM is arbitrary set by taking the half of normal RR-interval. Because the normal heart rate is 72 BPM and the heart rate for half of the normal RR-interval is 144 BPM. So I used 150 BPM. However, there is no reason to prevent shortening the window to cover the HR up to 200 BPM.

Jingxi Zhang

 

how can i buy the STm32 and the ECG bord                                                                                                             Please, log you to post a reply.
#1   2008-03-04 22:18:51
dbbb
New member

Offline

???

 

ECG Primer Applications                                                                                                             Please, log you to post a reply.
#1   2008-02-22 21:54:18
jingxizhang
Member

Offline

Primer developers,
I need your creative brain to help me for the ECG Primer applications.
jingxi

 
#2   2008-02-22 21:55:46
jingxizhang
Member

Offline

I had some thought on ECG Primer usages:

- Biofeedback: In the modern society people are always getting emotional stretches (lost in stock trading?).The heart rate and blood pressure increasing is not good for the health. Biofeedback can help the calm down the emotion states such as angry, frustrating, fear, anxious and etc, and recover the cardiovascular conditions. The ECG Primer can give the user the ECG information and the instant heart rate feedback when he/she is trying to adjust the way for relaxation.
http://aycu35.webshots.com/image/45154/2004413888990067765_rs.jpg

- ECG On Bicycle: You can extend the 2 electrode lead to the bicycle handles. When user is riding a bicycle his/her ECG trace and instant heart rate can display in front. With the timer and heart rate, the Primer can estimate the calorie being consumed.
http://aycu19.webshots.com/image/46338/2004144162241247212_rs.jpg

- ECG On Steering wheel: By extend the 2 electrode leads to the automobile steering wheel ECG primer can monitor the driver’s emotional status. The ECG trace and instant heart rate can warning the driver if it is safe to drive the car. The sleep/wake state can also affect the heart rate. When the driver feels sleepy and drowsing, the heart rate is decreasing and ECG Primer can alarm the driver about dangers.
http://aycu06.webshots.com/image/46085/2004162299591493825_rs.jpg

- ECG On game paddle or controller: can monitor the user attention and fear.

- ECG On exercise match: Monitor the heart and energy conditions.

Welcome any suggestion for the ECG Primer applications.

Best regards,

Jingxi

 
#3   2008-02-23 01:27:20
jingxizhang
Member

Offline

- Lie Detector: Another ECG Primer application is for the lie detection. When a person tells lies under the questioning, the heart rate is increasing and skin is sweating. Skin sweating could make a better contact to the ECG electrodes and the stronger and faster signal will should be seen on ECG trace.
http://aycu15.webshots.com/image/45894/2001941732846422337_rs.jpg

 
#4   2008-02-23 12:02:48
tybos
Member

Offline

Well, I have to say you've got many ideas ... but I don't think these could be either fun or useful !
To start, there will be a very restricted number of people who will modify there Primer to get your project work and much less who will be likely to modify their bike or their steering wheel !!
I think there are many widgets that will do the trick and which will be much more reliable ...

But again, I'm impressed by your imagination !
Go on with this frame of mind.

Regards
Tybos

 
#5   2008-02-23 20:33:17
jingxizhang
Member

Offline

Hi Tybos,
Thank you for the comments. You did very good job on your Canyon game project. You have very clear coding style and I think it could be very educational for other developers. I especially like the scrolling technique and I think it is very creative. Congratulations for your work!
I am a guy likes new technologies and new ideas. I don’t think we should limit our imagination and ideas in creating new projects. Throwing ideas could help stimulate other people’s mind and the brainstorming could have some unexpected results. Some ideas could be done with efforts although some of them might not practical limited by the resources. Of cause in comparison with other commercial available ECG machine or other gadgets the ECG primer is very primitive. But in many embedded applications we don’t need to use the ECG machine with price tag of thousands of dollars (even the ECG leads could cost $300). In the same way, you can not compare the STM32 Primary games with Playstation or Xbox games. I think all the games posted are very good. The fun is the creative – you need to make the nice game or gadgets from the small, low cost and resource limiting platform.
I think the STM32 Primer is a very well designed development platform. When the FAE put it on my office desk, I was immediately attracted by its compact size, the bright color LCD display, the creative accelerometer driving control style and well thought peripherals. Although I tried the other company’s ARM Cortex M3 microcontroller on the earlier contest and became the winner (French Yahoo, PRNewWire and Circuit Cellar Article), I found STM32 has more technically advantages over the Luminary Micros LM3S811 microcontroller. The LM3S811 lacks of DMA channels. I have to use many CPU cycles for moving the data sampled from the ADC. The STM32 even has the built-in USB controller but LM3S811 does not have (I had to use another chip on board and went through serial simulation for the USB connection). The Raisonance 132x132 bright color LCD is much more impressive than the 16x96 monochrome OLED display on the LM3S811 evaluation board. I also very impressed by the Raisonance small footprint OS which the developer much easier to access the low-level registers. I think the STM32 Primer should be a development platform not just limited by game applications (although the games are very import area in the STM32 society) but also a platform for the other embedded developments. I think Raisonance has thought about this and planed the extension socket footprint J1 on the Primer PCB. It is true, as you said, many developers may not want modify the hardware. I think it is will be benefit to all the developers if in the next version the STM32 Primer package can be change to allow a tiny add-on card plug into the J1 socket. It can be used to create a lot practical gadgets, such a tilt meter with a laser beam alignment, ultrasound meter with space calculator, etc. The application developer can get the add-in card without worry about the soldering.
I hope every developers in the STM32 circle doing well! wink
Regards,
Jingxi

 
#6   2008-02-23 22:03:33
tybos
Member

Offline

Thanks for the compliment ... I had great teachers and I'm about to leave school so courses are still fresh in my mind !!

Concerning your ECG, since it gives no relevant medical information, I thought it will be more comparable with cheap sports devices ... which would fit better with your ideas !

I felt obliged to say a word about the ideas you put forward because it seemed to me a bit irrealistic ... (especially the Lie detector thing !!).
But ideas you just mentionned can be much more interesting (from my point of view).

Regards
Tybos

 
#7   2008-02-25 19:09:18
kevinccc
Member

Offline

I like lie dector, if somebody can code for this, I really appiciate it. I will bring this to my lovers and test them.
big_smile

 
#8   2008-02-27 08:23:18
foster
New member

Offline

jingxizhang:
I like your ECG application ideas. I have a naive thought for ECG application: can ECG signal be a biometric authentication parameter? I am not sure if each person's ECG has its unique personality. If so, you can log into your account by touching the two thumbs to the ECG device and having the processor to analyse the ECG patterns and verify the person.

 
#9   2008-02-27 13:11:42
Pierre
Member

Offline

Hello jingxizhang,

Very good job, I like your ECG Primer application (about the quality and the creativity).

Best regards
Pierre

 
#10   2008-02-28 21:42:46
jingxizhang
Member

Offline

Hi foster,
Thank you. You have very good suggestion. I am not sure if each person has a unique ECG pattern. However, because the ECG waves are varied by the person’s condition it is very difficult to use it as the individual signature.
Regards,

Jingxi

 

to zhang jing xi:                                                                                                             Please, log you to post a reply.
#1   2008-02-25 16:48:37
huayuliang
New member

Offline

to zhang jing xi:
I like your project!
you said that STM32 Primer is a good develop platform, I think too. but you shuld not do change add more. this is only country's differents. many many people have no ... to modify their STM32 Primer.

sorry for my poor poor english.

this website is nice, added into my favorate.

 

Tests                                                                                                             Please, log you to post a reply.
#1   2008-02-21 14:10:39
Francis
Administrator

Offline

Jingxi,
We are trying your hardware. It works (after resoldering some components), but the signal seems too weak to trigger the detection (always under the threshold line). Is there any simple way to change the threshold level?
Thanks,
Francis

 
#2   2008-02-21 22:06:02
jingxizhang
Member

Offline

Hi Francis,
The ECG amplifier hardware sample I mailed to you has problem which I did not have time to fix it before I sent it to you (the ECG amplifier embedded in my Primer works fine). I sent to you for just for the physical sample. I am glad you made it work. The amplifier gain on the sample I sent to you is set to x500 (the R6 is 10K).  In later design I changed the gain to x1000 to get larger ECG signal. What you need is to solder another 10K resister (0402 SMD) piggyback on top of R6 and parallel the two resisters to get to R6 to 5K. This will make the 2nd amplifier gain from x100 to x200 (1M/5K = 200) and double the signal strength. The following picture is the screenshot of the ECG board component layout for you to identify the R6.
The threshold is defined in Application.c file by 2 macros “UpperThresheld” and “LowerThreshold”. Because I wanted package the application fitted into the 8K boundary so I did not make a GUI for user to change the threshold (I should do it in later version). The UpperThresheld determines the trigger level while the LowerThresheld determines the hysteriesis. If the signal is still too small after you change the R6, you can modify these two macros.
The dry skin can affect the ECG signal (in clinic the patients are applied conducting gel on the contact electrodes to lower the contact resistance). For Primer ECG I find if I wet the finger before touch the ECG input lead there are usually no problem for get large ECG signal.

http://aycu07.webshots.com/image/43846/2004213941902916821_rs.jpg

 
#3   2008-02-21 23:01:22
jingxizhang
Member

Offline

Hi Francis,
Another note I should mention for using ECG Primer is the power supply noise from the host PC. The ECG Primer is working fine when uses its battery. If you connect it to a laptop by the USB port, make sure the power cord for the laptop power adaptor has 3 conductors (two power wires plug the grounding wire). I have tried connecting ECG primer to some laptop which has 2 conductors in its power cord and I find there is a large 60 Hz (in the United States and 50 Hz in Europe I think) voltage from laptop to the earth. This common mode noise saturates the ECG amplifier and makes the amplifier not function. Another reason to use power cord has grounding wire is the safety issue.

Jingxi

 
#4   2008-02-22 10:30:49
Francis
Administrator

Offline

Thanks.  We will modify the gain.
An idea would be modify the threshold by tilting the Primer.
Francis

 
#5   2008-02-22 19:44:48
jingxizhang
Member

Offline

Hi Francis,
Yes, I thought about using the accelerometer to set the heart rate trigger threshold. Ideally it would be nice the user can see the ECG trace when the threshold level is adjusting. It needs a button action when the threshold level indicator is moved to the right place. However, both thumbs of the user are tired up on the ECG electrodes. There is no free hand to push the button at that moment.
It would good if there is a push button at back of the STM32 Primer (just like the trigger at bottom of those game controllers for Sony playstation or X-Box) so the user can use the middle finger to push the button at back of the device for setting the threshold while both thumbs are touching the ECG electrodes. I also like a function to freeze the screen temporary. So, if the user can hold the button at back of the device, the threshold level indicator can be moved by tilting the device until the user release the button. If a single toggle at the button, it will stop or start the ECG trace. Because adding a button may violate contest rule so I did not do it. But it can be easily done. Do you have any better idea?
Regards,

Jingxi

 

Abstract size is truncated to 256 characters                                                                                                             Please, log you to post a reply.
#1   2008-02-07 10:37:35
jingxizhang
Member

Offline

According to the contest website, the Abstract is limited by 512 characters. However, I found my abstract is truncated to half to 256 characters. Please check it.
Thank you,

Jingxi

 
#2   2008-02-11 14:39:40
Benoit
Administrator

Offline

Fixed.
Benoit

 

Fail to upload the zip file                                                                                                             Please, log you to post a reply.
#1   2008-02-07 02:26:07
jingxizhang
Member

Offline

I was submitting my contest entry. However,  I repeatedly got the "Failure while uploading" error. I checked my entry, the download zip file is 0. Please help me on this problem.

Thanks,
Jingxi

 
#2   2008-02-07 10:03:01
Benoit
Administrator

Offline

Hi jingxizhang,

I have change the ZIP file size limitation to 5M bytes (previously it was 1 M byte). You can now reload your project.

Regards,

Benoit

 
#3   2008-02-07 10:25:45
jingxizhang
Member

Offline

Hi Benoit,
I tried to reload my zip file again but it still fails. I got the same error message. My zip file size is 3926KB.

Jingxi

 
#4   2008-02-07 22:53:30
rtburke
New member

Offline

... and now you can't upload at all!

 
#5   2008-02-08 11:59:36
rtburke
New member

Offline

Hi Benoit,

So when is the competition submission page going to reappear? At the moment it redirects back to http://www.stm32circle.com/projects/index.php

Regards,
rtb

 


To add comments, please register you.