ECE516 (ECE516H1S): Wearable Computing and AR (Augmediated Reality) Eye Glass
Work with us over the summer:
NSERC USRA (clicking on the NSERC USRA link:
Starts Jan. 2015, available to 3rd and 4th yr.
undergrad or grad. students
Instructor, S. Mann (bio)
Multidisciplinary course offering:
A motto we live by is the IEEE's motto "Advancing Technology for Humanity"
(IEEE is the world's largest technical society),
and that was the topic of our IEEE ISTAS conference:
- Students get to build Wearable Computing devices
for AR (Augmediated Reality);
- You get to design the product ("Digital Eye Glass") that
will replace most smartphones;
- Design technology integrating with the human body,
form, and function;
- Wearable Computing is now a $241 billion industry;
- Want to invent the future? Become a modern-day Leonardo daVinci:
Multidisciplinary thinker+world's best engineer;
- Make the world a better place, e.g. former students of course
instructor S. Mann have gone on to start multimillion dollar
multinational companies like InteraXon
with this technology;
- We also have a small company that manufactures Digital Eye Glass:
- Maktivism: Making physical objects and cloud-based
computing apps. Goal: to make the world a better place.
- Those enrolled for course credit will have opportunity to use and
build various kinds of AR eyewear+smartphone apps.
- The best students have the opportunity to present their work in
Silicon Valley, California, and have some opportunities at Meta
- As Chief Scientist of Rotman School of Business CDL, Prof. Mann
will be available to help top students with enterprise and
- Learn how to do world-class research and publish papers
in top-calibre IEEE conferences:
- See previous publictions here.
- Thanks to Martine Rothblatt
"The Steven Mann Award for Wearable Computing", a cash prize
awared to the top
undergraduate student in ECE516; last year's recipient,
Nima Yasrebi, received the $2500 cash prize.
Course text: "Intelligent Image Processing", by S. Mann, Wiley-Interscience
Course instructor, Prof. Steve Mann
Our Spaceglasses product won "Best Heads-Up Display" at CES2014.
See a review of our product by Laptop Magazine:
Our InteraXon product was said to be
the most important wearable of 2014.
Assignments (each one is due at the beginning of lab period):
Assignment 1 for 2015:
Assignment 2 for 2015:
Make a double-exposure picture.
Assignment 3 for 2015:
Make a 1-pixel camera. To be described in more detail in lecture of Monday
Assignment 4 for 2015:
Calibrate your 1-pixel camera as described in lecture Monday 2015feb09.
See "Photocell experiment" below.
In particular, create a comparagraph of f(kq) vs. f(q),
with well-labelled axes, data points and rigourously defined variables.
Take one data set while trying to exactly double/halve the quantity of light,
and graph it. Graph another data set while changing the quantity of light by
steps in a different ratio. How would you fit a function to this relationship?
Is it possible to figure out the original function f(q) v.s. q?
What does this represent?
Bonus marks for doing this with AC (alternating current) signals and
quadrature detection (e.g. building an oscillator and detector circuit).
See University of Colorado, Phyics 3340 for example.
We also have some wave analyzers as well as the
SR510 lock-in amplifier available.
Bonus marks still available for feedbackography, but this time, let's
"raise the bar" a bit (in fairness to those who got this working last time)
and get the feedback extending over a further range (e.g. greater distance
from the camera with a good visible image).
See an example here,
and also here's some info on
in .gif images.
S. Mann's role as the Chief Scientist at
Rotman School of Management's Creative Destruction Lab brings us
of inventions we can learn from and work with; ask Prof. Mann for the web link
(Click for more examples of instructor's contributions)
ECE516 (formerly known as ECE1766), since 1998 (2015 is its 18th year)
- Ryan Janzen: EA302
- Raymond Lo (back-and-forth between here and Meta in Silicon Valley, California).
Schedule for January 2015:
Hour-long lectures starting Mon 5pm, Wed. 5pm, and Thursday 3pm in
WB119 (Wallberg Building, Room 119)
Lab: Fri. 12noon - 3pm, lab, BA3135 or EA302 or alternate location depending on subject of lab
Each year this course is taught, times can be verified from the official schedule at: APSC 2010 Winter Undergraduate Timetable (this URL seems to have remained constant for a number of years now).
Exam schedule subject to change;
for the latest, check http://www.apsc.utoronto.ca/timetable/fes.aspx
Last year's exam was:
ECE516H1 Intelligent Image Processing
Type:X, Date: Apr 29, 2014
Course structure of previous years; will be customized to meet the interests of those enrolled this year, 2015:
Each year I restructure the course in order to match the interests of the
students enrolled, as well as to capture opportunities of new developments.
Final exam schedule is usually announced on this website:
here, toward the end of the term.
Links to some useful materials
- Patent for "stitching together" pictures to make a panorama
- HDR (High Dynamic Range) imaging patent
- "The first report of digitally combining multiple pictures of the same
scene to improve dynamic range appears to be Mann. [Mann 1993]"
in "Estimation-theoretic approach to dynamic range enhancement using
multiple exposures" by Robertson etal, JEI 12(2), p220, right column, line 26
- Local cache of Atmega 2560 summary and data sheet
- Free Arduino+Linux eBook,
Author of the book mentions ECE516 course
instructor Steve Mann:
"Manoel lives in California with his wife and children.
He admires Dr. Steve Mann,
who is considered the real father of wearable computers,
and David Rolfe, a notable Assembler programmer who created classic
arcade games in the 1980s.", Page xix
- Neurosky EEG brainwave chip and board
- Mindset Communications Protocol
- Lacy Jewellery Supply, 69 Queen Street, East, 2nd Floor, Toronto, Ontario M5C 1R8 CANADA 416-365-1375 1-800-387-4466
- Photocell experiment.
- Read and understand this Derivatives Of Displacement article, and if this article is
temporarily unavailable, you can find a cache of it here.
- Read and understand these examples on absement.
- Differently exposed images of the same subject matter.
- sousveillance in the news...
- Here's what happens when you
try and use a hand-held magnifier at the supermarket; better to put
seeing aids in eyeglasses...
Last year's course "roadmap" by lab units and corresponding book chapters:
Labs were organized according to these six units (the first unit on
KEYER, etc., includes more than one lab, because there is some intro
material, background, getting started, etc.).
Organization of the course usually follows the six chapters in the
course TEXTBOOK, but if you are interested in
other material please bring this to the attention of the course instructor
or TA and we'll try and incorporate your interests into the course design.
location of this course textbook in university of toronto bookstore:
Kevin reported as follows:
I just stopped by the UofT Bookstore, and to help the rest of the
students, I thought you could announce that the book is located in the
engineering aisle, and exactly to the left of the bookstore computer
terminal behind some Investment Science books.
ECE516 is aimed primarily at third and fourth year undergraduates, and
first year graduate students. 4th year undergraduates
often take this course as their
"other technical elective" (fourth year elective).
The classes are comprised of lectures and labs (labs have both a tutorial
component and a grading component, etc.)
starting in January, along with a final exam in April.
The course provides the student with the fundamental knowledge needed
in the rapidly growing field of Personal Cybernetics
("minds and machines", e.g. mind-machine interfaces, etc.)
and Personal Intelligent Image Processing. These topics are
to colloquially as ``Wearable Computing'', ``Personal Technologies'',
``Mobile Multimedia'', etc..
The course focuses on the future of computing and
what will become the most important
aspects of truly personal computation and communication.
Very quickly we are witnessing a merging of communications devices
(such as portable telephones) with computational devices (personal
organizers, personal computers, etc.).
The focus of this course is on the specific and fundamental aspects of
visual interfaces that will have greatest relevence and impact,
namely the notion of a computationally mediated reality,
as well as related topics such as Digital Eye Glass,
brain-computer interfaces (BCI), etc.,
as explored in collaboration with some of our startups, such as
a spinoff company started by former
students from this course.
A computationally mediated reality is a natural extension
of next--generation computing.
In particular, we have witnessed a pivotal shift from mainframe computers
to the personal/personalizable computers owned and operated by individual
end users. We have also witnessed a fundamental change in the nature of
computing from large mathematical calculations, to the use of computers
primarily as a communications medium. The explosive growth of the
Internet, and more recently, the World Wide Web, is a harbinger
of what will evolve into a completely computer--mediated world in
which all aspects of life, not just cyberspace, will be online and
connected by visually based content and visual reality user interfaces.
This transformation in the way we think and communicate will not
be the result of so--called ubiquitous computing
(microprocessors in everything around us).
Instead of the current vision of
``smart floors'', ``smart lightswitches'', ``smart toilets'',
in ``smart buildings''
that watch us and respond to our actions,
what we will witness is the emergence of ``smart people'' ---
intelligence attached to people, not just to buildings.
This gives rise to what
Ray Kurzweil (Chief Enginering of Google),
Marvin Minsky (Father of Artificial Intelligence), and I
refer to as the "Sensory Singularity".
And this will be done,
not by implanting devices into the brain, but, rather,
simply by non--invasively ``tapping'' the highest bandwidth ``pipe''
into the brain, namely the eye. This so--called ``eye tap'' forms the
basis for devices that are currently built into eyeglasses
(prototypes are also being built into contact lenses) to tap into the
EyeTap technology causes inanimate objects to suddently come to life
as nodes on a virtual computer network. For example, while
walking past an old building, the building may come to life with
hyperlinks on its surface, even though the building is not wired
for network connections in any way. These hyperlinks are merely a
shared imagined reality that wearers of the EyeTap technology
When entering a grocery store, a milk carton may come to life,
with a unique message from a spouse, reminding the wearer of the
EyeTap technology to pick up some milk on the way home from work.
EyeTap technology is not merely about a computer screen inside
eyeglasses, but, rather, it's about enabling what is, in effect,
a shared telepathic experience connecting multiple individuals together
in a collective consciousness.
EyeTap technology will have many commercial applications, and emerge
as one of the most industrially relevant forms of communications
The WearTel (TM) phone, for example, uses EyeTap technology to allow
individuals to see each other's point of view.
merely provides a picture of the other person.
But most of the time we call
people we already know, so it is far more useful for use to exchange
points of view. Therefore, the miniature laser light source inside the
WearTel eyeglass--based phone scans across the retinas of both parties
and swaps the image information, so that each person sees what the other
person is looking at. The WearTel phone, in effect, let's someone
rather than just ``see you''. By letting others put themselves
in your shoes and see the world from your point of view, a very powerful
communications medium results.
The course includes iPhone and Android phone technologies, and
eyeglass-based "eyePhone" hybrids.
Intelligent Imaging Processing
(published by John Wiley and Sons, November 2, 2001)
- online materials and online examples, using the GNU Octave
program, as well as other parts of the GNU Linux operating system
(most of us use Ubuntu, Debian, or the like).
additional optional referencess: publications, readings, etc., that might be of interest.
Organization of the textbook
The course will follow very closely to the textbook which is organized into
these six chapters:
- Personal Cybernetics:
The first chapter introduces the general
ideas of ``Wearable Computing'', personal technologies, etc.
- Personal Imaging:
(cameras getting smaller and easier to carry),
wearing the camera (the instructor's
fully functioning XF86 GNUX wristwatch videoconferencing system,
wearing the camera in an "always ready" state
- Mediated Reality and the EyeTap Principle.
- The laser EyeTap camera: Tapping the mind's eye: infinite depth of focus
- Contact lens displays, blurry information displays,
and vitrionic displays
- Comparametric Equations,
Photoquantigraphic Imaging, and comparagraphics
- lightvector spaces and anti-homomorphic imaging
- application of personal imaging to the visual arts
- VideoOrbits and
algebraic projective geometry (see http://wearcam.org/orbits);
Computer Mediated Reality in the real world; Reality Window Manager
Other supplemental material
- Chording keyer (input device) for wearable/portable
computing or personal multimedia environment
- fluid user interfaces
- previously published paper on fluid user interfaces
- University of Ottawa: Cyborg Law course
See, also, the
of Ottawa site, and article on legal and philosophical aspects of
Intelligent Image Processing
- photocell experiment
- "Recording 'Lightspace' so shadows and
highlights vary with varying viewing illumination", Optics Letters, Vol. 20,
Iss. 4, 1995 ("margoloh")
- Example from previous year's work:
data from final lab, year 2005: lightvectors and lightspace
(See readme.txt file).
Lecture, lab, and tutorial schedule from previous years
Here is an example schedule from a previous year the course was taught.
Each year we modify the schedule to keep current with the latest research
as well as with the interests of the participants in the course. If you have
anything you find particularly interesting, let us know and we'll consider
working it into the schedule...
- Week1 (Tue. Jan. 4 and Wed. Jan. 5th):
Humanistic Intelligence for Intelligent Image Processing
Humanistic User Interfaces, e.g. "LiqUIface" and other novel
inputs that have the human being in the feedback loop of a
- Week2: Personal Imaging; concomitant cover activity and
VideoClips; Wristwatch videophone; Telepointer,
metaphor-free computing, and Direct User Interfaces.
- Week3: Atmel AVR, handout of circuitboards for keyers, etc.;
wiring instructions are now on this www site
- Week4: EyeTap part1;
technology that causes the eye itself to
function as if it were both a camera and display;
collinearity criterion; Calibration of EyeTap
systems; Human factors and user studies.
- Week5: Eyetap part2; Blurry information displays;
Laser Eyetap; Vitrionics (electronics in glass);
Vitrionic contact lenses.
- Week6: Comparametric Equations part1.
- Week7: READING WEEK: NO LECTURE THIS WEEK
- Week8: Comparametric Equations part2.
- Week9: Comparametric Equations part3.
- Week10: Lightspace and anti-homomorphic vectorspaces.
- Week11: VideoOrbits, part1; background
- PDC intensive course may also be offered around this time;
- Week12: VideoOrbits, part2; Reality Window Manager (RWM);
Mediated Reality; Augmented Reality in industrial
applications; Visual Filters; topics for further
research (graduate studies and industrial
- Week13; review for final exam;
- Final Exam: standard time frame usually sometime between around
mid April and the end of April.
Course Evaluation (grading):
- Closely Supervised Work: 40% (in-lab reports, testing, participation,
field trials, etc.).
- Not Closely Supervised Work: 25% (take-home assignments or
the portion of lab reports done at home)
- Final exam: 35%. Exam is open book, open calculator, but closed network connection.
This course was originally offered as ECE1766; you can see previous
version (origins of the course),
for info from previous years.
To see the course outline of other previous years, visit, for example,
Resources and info:
- AVR info
- avr_kit.tar (shell
script that installs GCC AVR and SP12 for those of you using the parallel
- Example from ECE385:
CyborGLOG of Lectures from previous year
(...on sabbatical 2009, so last year the course was not offered. Therefore,
the must up-to-date previous course CyborGLOG was from 2008.)
CyborGLOG of Labs
Other background readings:
Christina Mann's fun guide: How to fix things,
drill holes, install binding posts, and solder wires to terminals
Material from year 2007:
Lab 2007-0: Demonstration of an analog keyboard
Example of analog keyboard; continuous fluidly varying input space:
Lab 2007-1, Chapter 1 of textbook: Humanistic Intelligence
In lab 1 you will demonstrate your understanding of Humanistic Intelligence,
either by making a keyer, or by programming an existing keyer,
so that you can learn the overall concept.
Choose one of:
Ideally we would have at least one person doing each part of this project
so that we can put a group together for the entire result (keyer).
- Build a keyer that can be used to control a computer, camera,
music player, or other multimedia device. Your keyer can be modeled
after the standard Twiddler layout.
You can take a look at
to get a rough sense of what our typical keyers look like.
See also pictures from last year's class, of various keyers that
were made, along with the critiques given of each one.
Your keyer should have 13 banana plugs on it: one common and 12 others,
one of these 12 for each key.
If you choose this option, your keyer will be graded for
overall engineering (as a crude and simple prototype),
ergonomics, functionality, and design.
- Modify one or more of the programs on an existing keyer to demonstrate
your understanding of these keyers.
Many of our existing keyers use the standard Twiddler layout,
and are programmed using the C programming language to program
one or more Atmel ATMEGA 48 or ATMEGA 88 microcontrollers.
If you choose this project, please contact Prof. Mann or T.A. Ryan Janzen,
to get a copy of the C program, and to discuss a suitable modification
that demonstrates your understanding of keyers.
- Assemble a "blueboard" (we supply printed circuit board and
pre-programmed chips). Should have experience soldering DIPs, etc..
The blueboard is the standard interface for most wearable computers
and personal cybernetics equipment, and features 15 analog inputs
for 12 finger keys and 3 thumb keys.
If you choose this option, please contact Prof. Mann or T.A. Ryan Janzen,
to determine materials needed.
- Implement a bandpass filter. You can do this using a suitable personal
computer that has a sound card, that can record and play sound
(at the same time). You can write a computer program yourself,
or find an existing program written by someone else that you can use.
Your filter should monitor a microphone input,
filter it, and send the output to a speaker.
The filter should be good enough that it can be set to a particular
frequency, for example, 440Hz, and block sounds at all but that
frequency. Any sound going into the microphone should be audible
at that specific frequency only, i.e. you should notice a musical or
tonal characteristic in the output when the input is driven with
arbitrary or random sound.
Lab 1 results:
OKI Melody 2870A spec sheet
The OKI Melody 2870A spec sheet
Lab 2007-2, Chapter 2 of textbook: Eyeglass-based display device
In this lab we will build a simple eyeglass-based display device,
having a limited number of pixels, in order to understand the concept
of eyeglass-based displays and viewfinders.
This display device could function with a wide range of different kinds of
wearable computing devices, such as your portable music player.
Link to ECE516 Lab 2, 2007
Lab 2007-3, Chapter 3 of textbook: EyeTap (will also give intro to photocell)
Presentation by James Fung:
Lab 2007-4, Chapter 4 of textbook: Photocell experiment
and a recent publication
Example of linear regression
Today there were two really cool projects that deserve mention in the
ECE516 Hall of Fame:
David's comparametic analysis and CEMENTing of telescope images:
Peng's tone generator:
Lab 2007-5, Chapter 5 of textbook: Lightvectors
Lab 2007-6 and 7
something of your choosing, to show what you've learned so far.
No written or otherwise recorded report is required.
However, if you choose to write or record some form of report or
other support material, it need not be of a formal nature, but
you must, of course, abide by good standards of academic conduct,
e.g. any published or submitted material must:
If you choose not to provide a written report, but only to demonstrate
(verbal report, etc.), in the lab, you still need to state your
source and collaboration material.
- properly cite reference source material (e.g. where any ideas that you
decide to use came from);
- properly cite collaborations with others.
You are free to do individual projects or group projects,
and free to discuss and collaborate even if doing individual projects,
but must cite other partners, collaborators, etc..
It is expected that all sudents will have read and agree to the terms
of proper academic conduct. This usually happens and is introduced
in first year, but for anyone who happens to have missed it in earlier years,
How Not to Plagiarize.
It's written mainly to apply to writing, but the ethical concept is
equally applicable to presentations, ideas, and any other representation
of work, research, or the like.
Year 2006 info:
Keyer evauation is posted:
EyeTap lab: Explanation of how eyetap works;
demonstration of eyetap; demonstration of OPENvidia.
Comparametrics lab: Recover the damage done by the Elipses of Evil,
on the Axes of Good: