project eyeCan

eye can __________.

eyeCan P-Ctrl 재미있게 사용하는 방법들!

P-Controller 는 눈의 동작을 다양한 입력으로 바꾸어 줍니다.

(P for Programmable, Playable, Possible, Powerful)


[눈으로 알람 울리기]

[앵그리 버드 쉽게 하기]

[눈 깜박임 만으로 글자 쓰기]

[다음 지도로 거리를 돌아다니기]

[꿀뷰로 쉽게 만화책 보기]

[PDF 책 쉽게 읽기]

[슈퍼 마리오 플레이하기]

eyeCan beta 1.2 released

1.2릴리즈 노트 및 간단한 매뉴얼입니다.


[2011/12/09] eyeCan beta 1.1 version is now released.



[1] Win XP/Vista/7 32-bit version.

(with 64-bit pc, you may need to install vs2010 redistributable package for 64-bit OS.)

[2] You may need a DIY hardware from Eyewriter 1.0 (

or you can follow steps in our eyeCan DIY prezi from

[3] Ps3eye Driver (in case you use a Ps3eye camera) –

-Installation: Run “Setup.exe” (internet connection is needed)

(If you already have eyeCan installed on your PC, please uninstall the previous application and then try installation.)


-Changes & Updates:

[1]  Icons for buttons are added.

[2] Can navigate through different screens (Camera Setting, Calibration, Mouse Control, PCtrl) with mouse.

[3] Advanced Click Mode User Interaction has been modified. (Removed possible false activation of Error Compensation)

[4] Some new actions for PCtrl

[5] More options of setting parameters for using eyeCan.


– Configuration:

[IMPORTANT] Edit the ‘deviceId’ parameter of the data/settings/inputSettings.xml to the one your eyeCan camera is assigned. Generally zero, but if you have another USB cam installed, it may be other numbers such as 1 or 2 or…

[ ] With some PC the program may run very slow. In this case, it is very difficult to control mouse with eyeCan. In this case, open data/settings/programSettings.xml file and change framerate parameter to an appropriate value (lower values).


– Use:

‘Enter’ – Screen Mode change (Camera Setting screen -> Calibration screen -> Mouse Screen -> PCtrl Screen)

‘F12′ – Enable/disable Eye Tracking (Enable/disable PC control with eye)

‘O’ – Open PCtrl script (example scripts in data/scripts)

Camera Settings: First, in Camera Setting screen, configure brightness, threshold and etc + click on the preview image and drag mouse to choose appropriate ROI for eye tracking. And make sure the program is correctly tracking your eye.

Calibration: Hit ‘start calibration’ button, and hit ‘space’ key to start calibration. (Stare at the red dots)

Mouse: Switch to Mouse Screen and hit F12 to toggle mouse on/off. (mouse click: 0.5 second eye blink)

Programmable Controller: Switch to PCtrl Screen and hit ‘O’ to load a script file (XML) and hit F12 to toggle controller on/off.


If you have question please contact



Download (eyeCan beta 1.2b)



[2011/12/09] eyeCan 베타 1.2 버전이 나왔습니다.



[1] Win XP/Vista/7 32-bit 버전.

(64-bit OS일 경우, 64-bit 용 vs2010 재배포 패키지를 필요로 할 수도 있습니다.)

[2] Eyewriter 1.0 기반 DIY 하드웨어를 필요로 합니다. –

저희 eyeCan의 DIY 제작을 위한 prezi를 참고하셔도 됩니다. –

[3] Ps3eye 드라이버 –


-설치 방법: “Setup.exe” 실행 (인터넷 연결 필요)

(이전 버전의 eyeCan이 설치되어 있다면 삭제 후 설치 부탁드립니다.)


-변경 및 업데이트 사항:

[1]  버튼 아이콘이 생겼습니다!

[2] 마우스 클릭을 통해서 화면간 이동이 가능합니다. (카메라 설정, Calibration, 마우스 이용, PCtrl 이용)

[3] 고급 클릭 기능 수정 사항 – Dwell 모드가 False Activated 되어서 오차 보정 모드로 들어가는 것을 방지하였습니다.

[4] PCtrl에서 사용할 수 있는 몇가지 눈 액션이 추가되었습니다.

[5] eyeCan 소프트웨어 환경 설정 변수를 더 추가하였습니다.


– 설정:

[중요] data/settings/inputSettings.xml 파일을 열어 deviceId 항목을 eyeCan의 카메라가 할당 받은 번호로 설정해줍니다. 일반적으로 0 이지만, 다른 USB 카메라가 설치되어 있는 경우에는 1이나 2등 다른 숫자일 수 있습니다.

[ ] 컴퓨터 사양에 따라 프로그램이 천천히 동작할 수 있습니다. 이런 경우에는 data/settings/programSettings.xml 파일을 열어 컴퓨터가 지원할 수 있는 수준의 framerate을 설정해주어야 합니다. (60 보다 낮은 값으로)


– 사용 방법:

‘Enter’ – 화면 변경 (카메라설정 화면-> Calibration 화면 -> 마우스 이용 화면 -> PCtrl 이용 화면)

‘F12′ – 눈으로 컴퓨터 조종 on/off

‘O’ – PCtrl을 위한 스크립트 파일 열기 (data/scripts – 예제 스크립트)

카메라 설정: 우선 카메라설정 화면에서 밝기, 임계값(threshold) 등을 설정한 후, 카메라 프리뷰 화면을 클릭/드래그 하여 눈동자가 있는 영역의 위치와 크기를 적절히 설정합니다. 설정을 바꾸어가면서 프로그램이 눈을 정확히 따라가고 있는지 확인합니다.

Calibration: ‘start calibration’ 버튼을 누른 후, 스페이스 키를 입력하면 시작됩니다. (붉은 점을 주시)

Mouse: 마우스 조종화면으로 이동한 뒤 F12 버튼을 누르면 마우스 조종이 on/off 됩니다. (클릭: 0.5 초간 천천히 눈 깜빡이기)

Programmable Controller: PCtrl 화면에서 ‘O’ 버튼을 눌러 스크립트 파일을 선택한 후 (XML),  F12 버튼으로 PCtrl 이용을 on/off 합니다.


문의 사항은 으로 주시면 감사하겠습니다.



다운로드 (eyeCan beta 1.2b)




by Sang-won Leigh.

The history of eyeCan (software ver.) – Part 1


[Let’s have fun with eyeCan!]


This is a brief history of eyeCan’s software. – Part 1

As you may know, eyeCan project is a project inspired by a project named Eyewriter( We were strongly motivated that we can help lots of people build their own eye-mouse with the fantastic idea from Eyewriter. So we started building an easy-to-make hardware and window-based software to use the hardware as an eye-mouse. See the Eyewriter 1.0 based hardware below.

Eyewriter team provided a software ( which consists of 3 parts – eye-tracker system, calibration system, and a simple box-game which we can play with our eyes. After some camera setting and calibration steps, users can control cursor on the screen and play the box-game using eyes. The Eyewriter team also provides a Drawing App with which users can make fantastic graffiti using eyes.


However, our immediate challenge was that the Eyewriter software does not enable users to control the actual mouse cursor, which means, technically, we could not directly use the Eyewriter as an actual eye-mouse as we expected. So we decided to build our own software based on Eyewriter’s eye-tracker – which is later called ‘eyeCan’


[eyeCan 0.1b – look at the ugly, purple-ish color of the background – was a huge mistake]


The very first version eyeCan consists of Eyewriter’s eye-tracker, calibration system, and a newly introduced mouse system. Also a pre-loaded a click-based keyboard application – Clickey – could help users to type using eyes. Mouse functions were implemented by translating eye action into mouse actions.

The idea was very simple – detect a meaningful eye blink (a 0.5 second long eye blink) and assign it to mouse click action. Similarly, double click can be done by assigning longer eye blink to double click action. With this piece of application, we can move mouse cursor and perform mouse click and double click – we can do a lot of things that we do with a computer mouse – open an application by double-clicking or surf through web by clicking on hyperlinks.

Another great idea was to use ‘out-of-screen’ events to provide additional functionalities – perform mouse/key actions when the user looks outside the PC screen.

–          Out of top boundary: Scroll Up

–          Out of bottom boundary: Scroll Down

–          Out of left boundary + 0.5s eye blink: Alt-Tab

–          Out of right boundary + 0.5s eye blink: Alt+F4

With these, it became much convenient for users to do web-surfing with eyeCan. We could easily navigate through websites and read contents from a browser.


At this time, we decided to apply our eyeCan to actual users who really need our new device – people who have disabilities and can only move their eyes. We had meetings with a lot of guys and finally found some candidates for our pilot test. However, after a few trials, we found out that our device, software, and even the installation service needed huge improvement. So we decided to officially kick-off our eyeCan project and started working on a new version of eyeCan – eyeCan 1.0b.


[eyeCan 1.0 beta – new buttons added]


The first official eyeCan version comes with new mouse control scheme (we won’t go deep down with software architecture lying behind this scheme). The biggest change was newly added buttons for mouse action selection – user can choose among click, double-click, right-click, drag, and scroll for default click action. By this, the software could support full mouse functionality. Moreover, the button themselves notice users about what they are doing and what they can do with the software. Message box above the buttons also help users to easily understand the functions of eyeCan software.

Some other amazing features are Click-helper and Error-compensator. Click-helper helps users to perform mouse click with better accuracy even when they have dexterity difficulties. With this feature, users can do several tasks that require greater accuracy than the eye-tracker itself provides. Error-compensator is useful when a mismatch between eye-gaze point and actual mouse cursor occurs. This mismatch usually occurs when there is a head movement or eyeCan device displacement. In this situation, Error-compensator helps users to easily remove mismatch without re-calibrating.

Another interesting change is the introduction of score system in calibration process. Calibration is required to compute the relationship between eye-position and mouse cursor, so the accuracy of calibration is very important for accurately controlling mouse. However, calibration is a very painful task. So doing it over and over will really make users exhausted. That’s why we introduced the score system – we change the boring and painful task to a joyful game. Also, we can numerically estimate the accuracy of calibration results.


This is the end of Part 1.

In Part 2, we will cover stories on eyeCan 1.1b ~ 1.2b.

+ There must be A LOT OF grammatical errors in this post. 🙂


[by Sang-won Leigh]