+1 -1 +6
Vote on this proposal

ExpEYES : Python Powered Open Source Portable Science Lab

by praveen patil (speaking)

Technical level


An understanding of science and technology is necessary in every students life. The main challenge in the field of science Education at a global level is the declining interest of students into science. Unfortunately the performance of a student is often measured by the ability to memorize than the real understanding. as a result most of them fail to apply what they learn in the classroom to the things they encounter in real life. Students also lose interest because of absence of appropriate motivation and also due to the of lack of equipment.

The key to combating this is the adoption of an inquiry-based, 'learn-by-doing' approach i.e. learning by exploring and experimenting. However, almost everywhere science is mostly taught from the textbooks without giving importance to experiments, partly due to lack of equipment. ExpEYES (Experiments for Young Engineers and Scientists) is the most affordable solution to this problem. ExpEYES brings the ability to perform experiments with reasonable accuracy, opens up an entirely new path for learning science.


With the objectives of developing affordable laboratory equipment and training science teachers, ExpEYES is from the PHOENIX project of Inter-University Accelerator Centre, New Delhi. It is an Open Hardware and Free Software framework for developing science experiments, classroom demonstrations and projects without getting in to the details of electronics or computer programming. It converts your PC into a portable science laboratory.

ExpEYES can be used to perform a large number of experiments. For example, the device can be used to study electromagnetic induction, interference of sound waves, Lissajous Figures, to measure gravity by time of flight, alongside many other applications. Concepts like Lissajous Figures and Electromagnetic induction are quite difficult for most students. ExpEYES allows the study of fast changing phenomena and is an effective tool for exploring electromagnetic phenomena and the laws of electromagnetic induction—namely, Faraday’s law and Lenz’s law. The ability to capture real-time graphs offers the important benifit for students to better visualize the associated phenomena and develop a deeper understanding of it.

In this presentation we will be demonstrating and discussing how ExpEYES can be used to explore and study various phenomena like Interference of Sound, Lissajous Figures and Electromagnetic Induction in different situations: a magnet oscillating in a coil, magnet falling through a coil, a ferromagnetic material and a magnet swinging over a coil.


Projector, Power terminals

Speaker bio

Praveen Patil
A Physics Teacher and free software enthusiast.

M.Sc. in Physics from Karnatak University Dharwad, India. Currently pursuing PhD from Visvesvaraya Technological University, Belgaum.

Profession: Working as a Lecturer in Physics since last 12 years at Govindram Seksaria Science College Belgaum, India.

Involvement in Free Software :
Using Free Software and ExpEYES for classroom and laboratory demonstrations for 11th and 12 grade.
Maintaining a blog for ExpEYES.
Involved in FOSS training programs for science teachers.
Working e-content developer for National Repository of Open Educational Resources (NROER) for School Education by Central Institute of Education Technology (CIET), NCERT, New Delhi.

Worked as a member of committee for “Development of ICT Refresher Course forstudents and teachers” @ CIET-NCERT, New Delhi.Developed Three Refresher courses ExpEYES: An open Source Science Lab, STEP : Physics Simulation Environment & IWICT -Interacting with ICT tools.

ExpEYES Workshops/Training programs conducted :

 Carmel College, Nuvem, Goa.  Jansons Institute of Technology, Coimbatore, Tamilnadu.  G S S College, Belgaum, Karnataka and several other schools and colleges.  Resource person for ‘UGC Sponsored State Level Workshop’ on “Experiments for Young Engineers andScientists–ExpEYES” on November 15 - 16, 2013 Organized byDepartment of Physics & Electronics P.V.K.N. Govt. Degree College, Chittoor, Andhra Pradesh.

Talks at International Event
 Invited Speaker @ FOSSASIA - 2014 hosted at Norton University in Phnom Penh City, Cambodia on February 28 - March 2, 2014. ( Delivered a Talk and conducted workshop)

Conference at RMLL-2014 at Montpellier, France https://2014.rmll.info/conference88


  • 2

    [-] Kushal Das 279 days ago

    We should have this. This project can change many students' lives.

  • 1

    [-] Baiju Muthukadan 272 days ago

    This looks like an interesting session!

    Can you please provide links to your slides and videos from your previous sessions; anything that'll help folks decide if they want to attend your session ?

  • 1

    [-] Aravind Krishnaswamy 243 days ago


    This looks like a wonderful project! I did have a question - could you highlight the python related component of your presentation a bit more? Ultimately, this being Pycon - I think it would be appropriate to bring that out.


    • 1

      [-] praveen patil 224 days ago (edited 224 days ago)

      Extremely sorry for the late reply.

      In my presentation (workshop or talk) I will be giving detailed information about how python can be used to easily communicate with the ExpEYES hardware. In fact python made it so easy that even a beginer can write simple python code to fetch data from the interface and plot it with very few lines of python. It would be very dificult to get these results with any other programming language.

      I am giving few examples below

      Ex1. this is a simple example to fetch data and plot it.
      ''' Connect SINE to A1, with a wire

      import expeyes.eyesj
      p = expeyes.eyesj.open()

      t,v = p.capture(1, 3, 100)
      print t # print time and voltage values
      print v

      from pylab import *
      t,v = p.capture(1, 300, 100)

      Ex2. The following program enables user to fetch data for charging a capacitor and aslo plot it

      '''Connect 1k resistor from OD1 to A1 and a 1uF capacitor from A1 to ground '''

      from pylab import *
      import expeyes.eyesj, expeyes.eyemath as em
      p = expeyes.eyesj.open()

      p.set_state(10,1) # OD1 to HIGH
      t,v = p.capture_hr(1, 500, 10)


      Expeyes also has excellent time measurement functions which enable use of expEYES for ant sofisticated experiment.
      ''' multi_r2rtime(input, nskip) returns the microseconds elapsed between two rising edges.
      nskip is the number of edges to be skipped in between.

      import expeyes.eyesj
      p = expeyes.eyesj.open()

      p.set_sqr1(1000) # set 1kHz on SQR1
      t = p.multi_r2rtime(6,9) # 6 is the readback of SQR1. Time of 10 cycles
      print t
      t = t * 1.0e-6 # to seconds
      print 'Frequency = ', (10.0/t)

      Ex4. Generating Square waves was never been so easy...thanks to power of Python

      import expeyes.eyesj
      p = expeyes.eyesj.open()

      from pylab import *
      p.set_sqrs(150,25) # Generate 150 Hz on both with 90 degree phase shift (25% of T)

      res = p.capture2(6,7, 300, 100) # returns two sets of data
      plot(res[0], res[1]) # SQR1 readback
      plot(res[2], res[3]) # SQR2 readback

      If workshop slots are not available, kindly consider this for a conference a talk of about 40 min.

      This project was started with an aim to provide most affordable portable science lab to all students. To enable them to learn by doing science and not by mugging-up things.

      Recently I presented ExpEYES at RMLL-2014 held at Montpellier, France. https://2014.rmll.info/conference88

Login with Twitter or Google to leave a comment →