Overview

The tablet is customized via instructions sent from a master computer that specify the configuration and operation of a displayed array of text buttons. The tablet sends the user’s button selections back to the computer. Communication is wireless (Bluetooth) and instructions and replies are simple text strings. Instructions can be sent from the master computer using any application that can read and write to a serial port, such as Matlab or a simple terminal emulator.

Sponder communicates with the master computer using the Serial Port Profile (SPP) available through Bluetooth. When pairing the computer and tablet through Bluetooth, a virtual serial port on the computer is assigned to handle communication with the device. Multiple tablets can be paired with a computer, with each device assigned a separate serial port. A Bluetooth controller on the master computer can maintain simultaneous connections with up to seven devices through separate virtual serial ports.

The tablet’s screen is divided into three areas: (1) the text area at the top of the screen, which can be used to display arbitrary text such as instructions or questions; (2) the configurable button area below the text area; and (3) the OK button to the right of the text area to finalize a selection of buttons.

(a) This screen shows a button configuration with four alternative responses.

(a) This screen shows a button configuration with four alternative responses.

(b) The OK button becomes available after a selection is made.  Users can change their selection until they press OK, at which point

(b) The OK button becomes available after a selection is made. Users can change their selection until they press OK, at which point

(c) the response is sent wirelessly to the controlling computer and all buttons are disabled until a command from the computer indicates the beginning of a new trial. Buttons can also be rendered invisible instead of being disabled.

(c) the response is sent wirelessly to the controlling computer and all buttons are disabled until a command from the computer indicates the beginning of a new trial. Buttons can also be rendered invisible instead of being disabled.

After OK is pressed, feedback may optionally be given on the selected button:

Green indicates a correct response.

Green indicates a correct response.

Red indicates an incorrect response.

Red indicates an incorrect response.

Users may not always want to use an OK button. With no OK button the first selection will immediately be submitted as the response.

This screen shows a configuration that might be used for delivering a questionnaire.

This screen shows a configuration that might be used for delivering a questionnaire.

These examples show a button configuration with different numbers and sizes of buttons in different columns.

This screen shows the tablet after a response has been made in each column, but before the OK button has been pressed.

This screen shows the tablet after a response has been made in each column, but before the OK button has been pressed.

This screen shows the (optional) feedback given after the selections were submitted.

This screen shows the (optional) feedback given after the selections were submitted.

Requirements

 

Tablet

  • Android 4.1 or higher.
  • Bluetooth with support for the Serial Port Profile (SPP). NOTE: Not all tablet manufacturers and models support this profile.
  • Recommended tablet: Nexus 7

Master computer

  • PC: Windows 7 or Windows 8.
  • Apple: Mac OS 10.8.5. Earlier OS versions may work but have not been tested.
    Bluetooth with support for the Serial Port Profile (SPP). Note that many computers that have built-in Bluetooth do not support SPP. A USB Bluetooth adapter (dongle) can be used to add that capability. The AZiO BTD-V201 is one such dongle that supports the SPP; it has been tested successfully with seven simultaneous connections.
  • In addition, the built-in software device driver on your computer may not support the SPP. The Toshiba Bluetooth stack is a driver that does provide that support. The Toshiba driver is supplied with the AZiO dongle and is also available as a free download from the web.
    Recommended USB Bluetooth adapter: AZIO BTD-V201
    Recommended driver: Toshiba Bluetooth Stack

Purchase Sponder from the Google Play store.

Documentation

Please consult the following documents for important information about Sponder:

 

whist-user-guideSponder User Manual (PDF)

Three Simple functions encapsulate Sponder functionality:

 
clear_response_buffer(s) Clears the response buffer for serial port s

send2tablet(s, txt) Sends a command string txt to serial port s

r – get_response(s, T) Gets the first response sent to serial port s within time T

The following Matlab pseudo-code shows the sequence of Sponder commands that would be used for setting up and running the four-alternative directions example above.

% Directions.m
% This demo can be run only after the serial port has been established with a % command like this:
%           >> s = serial('Com40','BaudRate', 115200)
% and the port has been opened with     
%           >> fopen(s);
 
clear_response_buffer(s)
send2tablet(s, 'b:x');      % Erase any existing buttons
 
% Configure the app.
%----------------------------------------------------------
send2tablet(s, 'D:d');  % Disable buttons after a response is made, but keep them visible.
send2tablet(s, 'O:p');  % portrait orientation
send2tablet(s, 'S:s');  % single button selection
send2tablet(s, 'K:y');  % yes, show the OK button
send2tablet(s, 't:255 255 255 30'); % specify font color and size for text area
 
% Set up a 5-row by 3-column array of buttons; initially not active.
for i=1:5
    for j=1:3
        st = ['B ' num2str(i) ' ' num2str(j) ' n 33 33 33 30:'];
        send2tablet(s, st);     
    end
end
 
% specify four of those buttons to be active with labels
send2tablet(s, 'B 2 2:Up');
send2tablet(s, 'B 3 1:Left');
send2tablet(s, 'B 3 3:Right');
send2tablet(s, 'B 4 2:Down');
send2tablet(s, 'b:v');      % make buttons visible.
% NOTE: No button is specified as correct, so feedback is not given.
 
send2tablet(s, 'T: Press any button to start') % text for text area
r = get_response(s, 60); % allow 60-sec to initiate
 
% trial loop
for i=1:Ntrials
    send2tablet(s, ['T:Which direction?']); % text for text area
    pause(0.5) 			% (simulate stimulus presentation)
    send2tablet(s, 'b:r')	% ready the buttons
    r = get_response(s, 3.0)	% get the response within a 3-sec interval
end
 
send2tablet(s, 'T: Run Ended'); % text for text area
send2tablet(s, 'b:i'); % make buttons invisible