HEALTH, 2009, 1, 39-46
3939Published Online June 2009 in SciRes.
Development of a human computer Interface system
using EOG
Zhao Lv1,2, Xiao-Pei Wu1, Mi Li2, De-Xiang Zhang1
1The Key Laboratory of Intelligent Computing & Signal Processing, Ministry of Education China, of Anhui University, Hefei, Anhui
Province; 2The First Aeronautical College of Air-Force, Xinyang, Henan Province, China.
Received 13 April 2009; revised 1 May 2009; accepted 7 May 2009.
Bio-based human computer interface (HCI) has
attracted more and more attention of researches
all over the world in recent years. In this paper, a
HCI system which based on electrooculogram
(EOG) is proposed. It transforms electrical po-
tentials recorded by horizontal and vertical EOG
into a computer in order to control external
equipment. The system consists of EOG acqui-
sition unit, EOG pattern recognition part and
control command output unit. Three plane elec-
trodes are employed to detect EOG signals,
which contain the information related to the eye
blinking and vertical (or horizontal) eye move-
ments referred to pre-designed command table.
An online signal processing algorithm is de-
signed to get the command information con-
tained in EOG signals, and these commands
could be used to control the computer or other
instruments. Based on this HCI system, the
remote control experiments driven by EOG are
Keywor ds: human computer interface (HCI); elec-
trooculogram (EOG); blinking; eye movements
Bio-based human computer interface (HCI) has the po-
tential to enable severely disabled people to drive com-
puters directly by bioelectricity rather than by physical
means. A study on the group of persons with severe dis-
abilities shows that many of them have the ability to con-
trol their eye movements, which could be used to develop
new human computer interface systems to help them
communicate with other persons or control some special
instruments. Furthermore, this application of EOG-based
HCI could be extended to the group of normal persons
for game or other entertainments. Nowadays, some
methods which attain user’s eye movements are devel-
oped. For example, eye tracking is a technology in which
a camera or imaging system visually tracks some features
of the eye and then a computer determines where the user
is looking at. Eye tracking technology can be divided into
two areas; firstly a remote computer-mounted device, in
which an IR camera is mounted on a computer screen,
and secondly a head-mounted device, in which an IR
camera is placed on user’s head, so this method can get
the eye’s position accurately. However, this technique is
too expensive.
Electro-oculography (EOG) is a new technology of
placing electrodes on user’s forehead around the eyes to
record eye movements. EOG is a very small electrical
potential that can be detected using electrodes. Compared
with the EEG, EOG signals have the characteristics as
follows: the amplitude is relatively high (15-200uV ), the
relationship between EOG and eye movements is linear,
and the waveform is easy to detect. Considering the
characteristics of EOG mentioned above, EOG based
HCI is becoming the hotspot of bio-based HCI research
in recent years. In this paper we present an on-line EOG
signals acquisition and detection system based on EOG
pulses, which are generated by a group of eye movements,
such as looking up and down, looking right and left,
blinking two, three or four times, etc. This system in-
cludes the EOG acquisition circuit, the EOG processing
and commands output part. In order to get the number of
blinking, the system firstly suppress some interference
which exists in the EOG signal, and then remove the
mean value and use dynamic threshold to normalize them,
furthermore, these normalized pulsed is derivation to a
negative and a positive impulse, we neglect negative im-
pulse and count positive impulse, in this way the number
of blinking is attained. On the other hand, we design a set
of “Referenced Pulses” and multiply them by “Normal-
ized EOG signals” to get some new information in order
to detect the eye movements.
The paper is organized as follows: Section 2 intro-
duces the fundamental principles of the propose HCI
system based on EOG. Section 3 describes the imple-
mentation of the system in detail. In this section, firstly it
40 Z. Lv et al. / HEALTH 1 (2009) 39-46
SciRes Copyright © 2009 HEALTH
depicts how to acquire EOG signals and analysis the de-
sign circuit. Next, the course of EOG processing, which
includes designing the 50Hz narrow notch filter, using
dynamic threshold to normalize the EOG signals, is intro-
duced. Lastly, it analyses some algorithms of detecting of
the blinking and eye movements. The experiments are
shown in Section 4 and the conclusion is given in Section 5.
2. Base Fundamental Principles of
2.1. EOG Detection
The electrooculogram (EOG) is the electrical signal pro-
duced by the potential difference between the retina and
the cornea of the eye [1]. This difference is due to the
large presence of electrically active nerves in the retina
compared to the front of the eye. Many experiments show
that the corneal part is a positive pole and the retina part
is a negative pole in the eyeball. Eye movement will re-
spectively generates voltage up to 16uV and 14uV per
1° in horizontal and vertical way [2]. The typical EOG
waveforms generated by eye movements are shown in
Figure 1.
In Figure 1, positive or negative pulses will be generated
when the eyes rolling upward or downward. The amplitude
of pulse will be increased with the increment of rolling an-
gle, and the width of the positive (negative) pulse is propor-
tional to the duration of the eyeball rolling process.
rolling eyes downward
look strai
ht ahead rolling eyes upward
Figure 1. Eye movements and the corresponding waveform.
In our HCI system, three electrodes are employed to at-
tain the EOG signals. Figure 2 shows the electrode
placement. The horizontal plane electrode () is posi-
tioned on the temples to acquire horizontal EOG signal,
and vertical electrode () is placed roughly above the
midline of the eye to get the vertical EOG and eyze
blinking signals. The reference electrode is placed at the
2.2. Basic Components of the System
The proposed HCI system block diagram is shown in
Figure 3, which is composed of three parts: EOG acqui-
Figure 2. Positions of electrodes.
Figure 3. Basic block component diagram of HCI system.
Noise Removal
Eye Movements
Mean value Removal
Output Control
Recognition results
Display EOG Save EOG
Z. Lv et al./ HEALTH 1 (2009) 39-46 41
SciRes Copyright © 2009
sition module, EOG signals recognition unit (includes
EOG pre-processing part and EOG processing part),
and recognition results output part. EOG acquisition
circuit is used to acquire EOG signals and transmit
them to the computer via USB. EOG recognition unit
undertakes online noise removal and eye movements
detection. According to the pre-designed command
tables, the recognition results will be transformed into
the output control commands, at the same time, the
original EOG data will be displayed on the screen and
saved real-time.
2πRC (2)
is circumference ratio, we set the values of
the adjust resistance () and the capacitor () to
make ; the main amplifier circuit (B),
which uses some low-noise, high-precision and high
input impedance amplifier chips OPA2227, is designed
to complement the entire magnification required and the
formula for gain is
f =0.159Hz
R (3)
3.1. EOG Acquisition Module Then a low-pass filter (C) is used to remove power-
frequency interference and high frequency components of
EOG signals and the corresponding transfer function is
The design circuit of EOG acquisition circuit is shown in
Figure 4. From it we can see that the EOG acquiring
circuit is mainly composed of the emitter follower, the
pre-amplifier (A), the high-pass filter (B), the main am-
plifier (C) and low-pass filter(D). 22
H(s)= 3C Rs+CC R s+1 (4)
In order to suppress some interfere and isolate this
circuit form the other circuit, the emitter follower is
adopted, and then the pre-amplifier (gain=10) ampli-
fies the EOG signal to an appropriate amplitude. A
band-pass analog filter (0.159-10Hz) is used to remove
the base- line and higher frequency interference. After
main amplifier with 800 gains, the amplified EOG
signal is converted to digital signals and transmitted to
the computer.
According to Eq.4, the cut-off frequency will be set
by adjusting the resistance () and capaci-
tances ( and C).
On the other hand, during the data acquisition process,
the computer will output some control signals to adjust
the state of the circuit, such as channel chosen, the sam-
pling rate, etc. The corresponding signal follow chart is
shown in Figure 5.
According to the characteristics of EOG signals, the
differential amplifier chip INA128 which is blessed with
low-power and high CMRR is used in pre-amplifier, its
gain can be adjusted by changing the value of the resis-
tance () and computed by the Eq.1.
3.2. EOG Signal Preprocessing
3.2.1. 50Hz Narrow Notch Filter
50Hz power-frequency interference makes some diffi-
culties and errors while the system detecting EOG sig-
nals. So, a notch filter is employed to remove 50Hz
power interference [3]. The notch filter can be designed
as follows:
G=1+R (1)
For removing DC drift and noise of EOG signals, a
high-pass filter (A) is employed and its cut-off frequency
can be computed by Eq.2.
)( 
R6 R5
Emitter Follower
Emitter Follower
Figure 4. EOG acquisition circuit.
42 Z. Lv et al. / HEALTH 1 (2009) 39-46
SciRes Copyright © 2009 HEALTH
Figure 5. EOG acquisition fundamental block diagram.
The filter parameter b is expressible in terms of the 3-dB
(in units of radians per sample) as follows:
b (6)
The Q-factor of a notch filter is another way of ex-
pressing the narrowness of the filter. It is related to the
3-dB width and notch frequency by:
Thus, the higher Q, the narrower the notch. The trans-
fer function is normalized to unity gain at DC.
In this system, the EOG is sampled at a rate of 1KHz,
and the digital notch frequency will be:
 (8)
Designing a Q-factor of 50 for the notch filter, we
have a 3-dB width:
/22 1
Use the design Eq.6 to attain b=0.9969. Hence the
notch filter is:
9969.0)( 
zH (10)
The waveforms of original EOG signals and proc-
essed signals are shown in Figure 6.
Figure 6. (a) EOG signal with 50Hz noise, (b) EOG signal with 50Hz noise removed.
Control Circuit
Z. Lv et al./ HEALTH 1 (2009) 39-46 43
SciRes Copyright © 2009 HEALTH
3.2.2. Using Dynamic Threshold to Normalize
The amplitude of EOG signals that produced by different
users is different, even if every blinking of a person is
different too. To avoid the problem of signal variability,
in our HCI system, a threshold method is employed to
transfer the EOG pulses into the square pulses for further
processing (we call it EOG pulse normalization). But the
small fluctuations on EOG waveform may bring some
troubles in EOG pulse normalization. We deal with the
problem using the dynamic threshold instead of tradi-
tional fixed threshold. Figure 7 interprets the funda-
mental of dynamic threshold.
In Figure 7, supposing the initial threshold is A, the
dynamic range is B. It’s obvious that three rectangle
pulses will generate if only the fixed threshold A is used
in the detection. In an approach using dynamic threshold,
once the system detects the first sample, the threshold
changes to A-B, then keeps this adjusted threshold until
the second sample is detected, and the threshold changes
to the initial value A again, vice versa. If the amplitude
of EOG signals is higher (lower) than the initial thresh-
old A, it is set to 1, otherwise, it equals 0. In this way,
some rectangular pulses can be acquired and waveforms
are shown in Figure 8.
3.3. Blinking Detection
3.3.1. Derivation
To count blinking in a specified time conveniently, nor-
malized signals should be processed derivation firstly.
The waveforms are shown in Figure 9. After derivation,
Figure 7. Fundamental of dynamic threshold.
blinking can be recognized easily and counted in a nu-
merical way.
3.3.2. Counting Blinking
When the system works, the program only detects the
positive pulses and ignores the negative ones. The posi-
tion of the first positive pulse is named “start_point”.
When the second pulse comes, its position is named
“end_point”. If the value(end_point-start_point) which
named DIF, is smaller than 1500(sample at a rate of
1KHz, so the time is 1.5s), the system will identify the
process as a blinking action, and the number of blinking
adds 1. When the third pulse comes, its position is
marked “end_point” instead of the foregoing value, and
then adjusts the DIF again. If it is smaller than 1500, the
program will continue to increase the number of blinking,
else it is recognized as two blinking actions and the
number of pulse is cleared. The flow chart of the soft-
ware is shown in Figure 10.
Figure 8. EOG signals after normalization.
Figure 9. EOG signals after derivation.
Initial threshold: A
First sample
range: B
EOG+50Hz noise
threshold: A-B
Second sample
44 Z. Lv et al. / HEALTH 1 (2009) 39-46
SciRes Copyright © 2009 HEALTH
Figure 10. Software flow chart of blinking detecting.
3.4. Eye Movements Detection
An online detection algorithm is emphasized in our HCI
system. For the sake of an easy explanation, this paper
only analyzes the process of detecting vertical move-
ments, while the method of detecting horizontal move-
ments is same to it.
3.4.1. Normalization
After the narrow notch filter removed the 50Hz power-
frequency interference, the original EOG signals (Fig-
ure 11(a)), managed by dynamic threshold (includes a
positive and a negative threshold), would be trans-
formed to a serial of rectangular pulses which have-1 or
1 in their amplitude, the waveforms are shown in Fig-
ure 11(b).
3.4.2. Getting Eye Movement Direction
Many experiments show that the phrase difference be-
tween the upward-rolling signals and the downward-
rolling is 180º. Hence, a series of rectangle pulses which
polarity is well-regulated are designed and named as
“Referenced Pulses” whose waveform is shown in Fig-
ure 12(a).
Multiply “Referenced Pulses” by “Normalized EOG
signals”, the system gets another series of rectangular
pulses, shown in Figure 12(b).
Compared with the waveforms in Figure 10(a), it’s
obvious that positive pulses mean rolling upward and
(a) Original EOG
(b) Normalization
Figure 11. EOG signals after normalization.
First pulse position
Next pulse position
Blinking number++
Exit program?
Z. Lv et al./ HEALTH 1 (2009) 39-46 45
SciRes Copyright © 2009 HEALTH
(a) Referenced Pulses
(b) Results
Figure 12. Get eye movements direction.
negative pulses mean rolling downward.
3.4.3. Judgment
The following method is adopted to judge the action of
eye movements. Firstly, an array(EOG_UD[1]) is de-
fined to record the polarity of two adjacent pulses. If
the value of the present sample is 0 and the foregoing
sample is 1, then EOG_UD[i]=1(i=0 or 1) and the sys-
tem will judge it as a positive pulse. On the contrary,
EOG_UD[i]=-1 and it is a negative pulse. Next, the
values of EOG_UD[i] should be checked for judging
the rolling direction. If EOG_UD[0] and EOG_UD[1]
are both 1, that means the user is rolling upward; and
so the situation of rolling downward.
The system has two input channels and the sampling rate
is 1000Hz, sampling precision is 16bit. In course of ex-
periment, the screen will play the original EOG signals
(like Figure 10(a)) and the result waveforms (like Fig-
ure 12(b)) real time, and these results are used to control
a remote mini-car to move via computer’s parallel port.
When the user rolls his eyes upward twice continually,
if he/she observes that the detection is correct in the
screen, he /she just blink three times quickly to confirm
the action, the program will attain a command to drive
the minicar. By contraries, if the detection is error, the
user closes eyes for about 3s to restart the system. The
direction of eye movements and corresponding actions
of the minicar are shown in Table 1.
Many applications can be developed using EOG because
this technique provides the users with a degree of inde-
pendence in the environment. Therefore, any improve-
ment in the convenience of this technique would be of
great potential utility in the future. If the eye movements
are known, various user interfaces can then be developed
to control different tasks: spell and speak software pro-
grams allow users to write a letter or a message, after
which a control system can interpret the message and
generate different commands to execute. A similar code
can be generated for deaf people, etc.
Table 1. Relationship between eye movements and output
Eye Movements Commands
Upward-Upward Go forward
Downward-Downward Go backward
Leftward-Leftward Turn left
Rightward- Rightward Turn right
46 Z. Lv et al. / HEALTH 1 (2009) 39-46
SciRes Copyright © 2009 HEALTH
Experiences show that the system has a high-level sta-
bilization after long term testing. Non-linear error of A/D
converter is about () and power
wastage of supply is less than . The
program which uses VC++ 6.0 to achieve runs in win-
dows XP, it have not been found some fatal faults,
waveforms can show EOG signals exactly and real time.
LBS5.1mVLBS 44.21
(5(500  VmA %))10
The research work described in this paper is supported by nature sci-
ence foundation of Anhui province (60771033) and national nature
science foundation (070412038).
[1] R. Barea, L. Boquete, M. Mazo, and E. Lopez, (2002)
System for assisted mobility using eye movements based
on electrooculography, IEEE Transactions on Neual
Systems and Rehabilitation Engineering, 10(4), 209-218.
[2] T. O. Ya, M. K. Asumi, (2005) Development of an input
operation for the amyotrophic lateral sclerosis communi-
cation tool utilizing EOG, Medical and Biological Engi-
neering, 43(1), 172-178. (In Japanese)
[3] S. J. Orfanidis, (1999) Introduction to signal processing,
Rutgers University, 407, 365-367.