The Propeller Experiment Controller

Inspiration Author: 

Christopher A. Varnon
  • Figure from The Propeller Experiment Controller Paper
  • Figure from The Propeller Experiment Controller Paper
  • Figure from The Propeller Experiment Controller Paper
  • Figure from The Propeller Experiment Controller Paper
  • Figure from The Propeller Experiment Controller Paper
  • Figure from The Propeller Experiment Controller Paper

I am doctoral student studying behavior analysis and comparative psychology at Oklahoma State University in the laboratory of Dr. Charles I. Abramson. To be brief, I study basic principles of learning common to many species, including humans. I use the Parallax Propeller Microcontroller in my research. I developed software to use the Propeller to control experiments and record data. This system, known as the Propeller Experiment Controller (PEC), greatly reduces the costs of conducting research and provides the ability to conduct novel experiments with a wide variety of species such as bees, horses, pigeons, turtles and snakes. See Figures 1-6 (in above slideshow) for some example applications.

I developed the Propeller Experiment Controller after becoming frustrated with the high cost and limitations of commercial research equipment. Even relatively simple apparatuses designed to study the effect of rewards or punishment on common laboratory animals such as rats often cost thousands of dollars. In addition to the expense, commercial research equipment is frequently only suitable to study the most popular species or research paradigms.

The Propeller Experiment Controller was created so that anyone could conduct research with their species of interest for an affordable price. Although I designed it primarily to conduct automated experiments on learning and behavior, it can also be used in a variety of situations such as agriculture, animal training equipment, automated enrichment devices, and classroom demonstrations in principles of learning and behavior.

My primary goal is to use the Propeller Experiment Controller to return control of research technology to researchers and reduce reliance on expensive commercial equipment. An important secondary goal is to make research technology more accessible to teachers, students and anyone with an interest in science. I believe that software and hardware designs should be made freely available so that the scientific community can benefit from shared knowledge. To meet this goal, the Propeller Experiment Controller software is free and designs for research hardware will be made open-access whenever possible.

The basic responsibilities of the Propeller Experiment Controller is divided into two objects: the first object, Experimental Functions, can be considered the foundation of an experiment program. It completes tasks common to experiments, such as keeping track of time and communicating with an SD card to create .csv data spreadsheets. It also contains methods that may be useful in many experiments such as pulse width modulation, frequency generation, and random number generation.

A second object, Experimental Event, is used to monitor specific events in an experiment, such as a lever press or an activation of a feeder. Each event in an experiment uses a unique instance of the Experimental Event object. Methods in the object help to detect and debounce inputs using a four state system. At any given moment an input is considered to be either an onset (just activated), on (continuing activation), offset (just deactivated) or off (continuing deactivation). This system makes it very easy to implement consequences for behavior. For example, a rat may receive a food pellet when it first presses a lever (onset state), or a rat may continually activate a cooling fan while it holds down a lever (on state). Experimental Event also activates outputs and records information about both inputs and outputs such as the event count and duration. During an experiment, some of this information is passed to Experimental Functions so that data can be saved to an SD card.

A single instance of Experimental Functions and multiple instances of Experimental Event work together to make powerful yet concise experiment programs. Both objects are fully commented allowing experienced users to create a variety of programs that share the same event detection and data output methods. Individuals with little to no programming skills can also use the 20 pre-written experiment programs I created that are suitable for a laboratory course in basic principles of behavior.

The Propeller Experiment Controller can be downloaded from the Propeller Object Exchange at or from my website, Visit for updates and tutorials and check out the open-access paper for detailed information about using the Propeller Experiment Controller and the pre-written programs in the classroom.


Contact: Chris Varnon,


Open-access paper: Varnon, C.A., & Abramson, C.I. (2013). The propeller experiment controller: Low-cost automation for classroom experiments in learning and behavior. Innovative Teaching, 2, 1-18. doi:10.2466/07.08.IT.2.2