Research Software

Some of the software we use or have used for teaching and research is custom-written. We're making some of it available for free use by non-profit, non-commercial organisations, but note that these are presented as-is and in several cases, software development has ceased. As a department, we advocate the use of PsychoPy for experimental software generation and have a users support group to help. We also support more specialist software for particular projects.

Arduino Sketch

The Department uses Arduino boards for several purposes. One common use is as a controller for digital input/output: a way to interface a computer with external devices, and have the computer control them and/or take input from them. This is such a common use that we have developed a standardised Arduino Sketch (a program you load onto the Arduino board) for controlling and monitoring digital pins.

Download
More information

Text To PNGs

This small web application was written to reduce the tedium of making picture files of text for experiment generator packages. You enter a list of words or phrases, one per line, and it makes one image file (in PNG format) for each line of text you supplied. You can set your preferred typeface, size, colour, etc.

Download

Working memory test battery

As described in Stone & Towse (2015), a battery of measures to test working memory is available. This java-based collected of tests can be installed as-is, or configured for particular use, or can be developed from its open-source GitHub base.The memory span tasks provided are; digit span, matrix span, arrow span, reading span, operation span, rotation span, and symmetry span.

Download

Obscure

This small web application obscures a certain proportion of an image with little clear squares allowing a background to show through. You can use it in experiments where you want to conceal different proportions of an image (e.g. a logo) and see whether the participant can still tell what the image is.

Download

MirrorDraw

A web app which implements the old psychology experiment where you try to draw something but your hand moves left when you try to move it right. Sets the participant a maze task and scores them on how long their route is and how much of it is on the route. Includes all sorts of other rotations and reflections, too. Requires HTML5 so it won't work under Internet Explorer.

Download

Travelling Salesman Problem toy

This is a JavaScript toy which attempts some naive solutions for the travelling salesman problem. It implements two iterative solutions, neither of which are very good, and a third which combines them together, which is surprisingly effective. You can enter your own coordinates or it will come up with them randomly.

Download

HTML colour shower

A tiny JavaScript app that allows you to type an HTML colour code and see a big area of that colour.

Download

PsyScript3

This is a new version of PsyScript which runs in a web browser.

This is a complete re-write of PsyScript with the objective of allowing users to develop scripts using any HTML5-compliant browser and run experiments not just on Macs but also Windows, Unix, Linux, and tablets and smartphones which have web browsers. Experiments can be put on a web server, participants supplied with a URL, and the results gathered on the web server.

Download

PsyScript2

This is a fully-fledged scriptable experiment generator. It can present pictures, sounds and QuickTime movies and accept feedback from the subject via keys on the keyboard, clicks on pictures, and/or the position of a sliding control. The experimenter can specify which information should be logged and the log is produced in a format suitable for reading or pasting into a spreadsheet or statistical analysis program.

PsyScript's scripting language provides ways of handling repetitions, procedures and tables of stimulus files. It allows for conditional execution depending on the subject's responses so that, for example, a correct response and an incorrect response can lead to completely different next steps.

Download

Arduino Sketch

Arduino Sketch for handling digital I/O commands via the serial port

The Department uses Arduino boards for several purposes. One common use is as a controller for digital input/output: a way to interface a computer with external devices, and have the computer control them and/or take input from them. This is such a common use that we have developed a standardised Arduino Sketch (firmware you load onto the Arduino board) for controlling and monitoring digital pins.

You plug the board into a USB socket of your computer, then use any piece of software which can address a serial port to issue commands and read results. Your computer can be running any software which has the ability to address a serial port. Inside the department, we use PsyScript, a programming environment specially designed for running psychology experiments, but the sketch has also been tested working with Python.

The interface language

The interface language includes commands to set the status of digital pins and find out the status of digital pins. There are plans to extend this to analogue pins. A text file with full documentation for the interface language is included in the (very small) download in the next section.

Download

Download version 1.0.0 of the sketch: Arduino. The download includes full documentation for the interface language and a few programming examples.

Change history

DateVersionUpdate
2010/08/10 1.0.0 Initial release

Requirements

Written for the Arduino Duemilanove but should work on any Arduino.