The Forgione-Avent-Barber Device¶
The Forgione-Avent-Barber (FAB) finger pressure stimulator is a pain stimlation device for use in scientific research.
The FAB updates an original design to allow for indepenent computer control of pressure stimulation of each hand, allowing for a much greater range of experimental designs (e.g. deceptive or conditioned placebo designs).
Rationale for the new design¶
Studies of pain and placebo analgesia have historically used a wide variety of stimuli as laborotory analogues including electrical stimuli [2], cold water (i.e. a cold pressor; [3]), heat [4], iontophorensis [5], lasers [6], and pressure [7].
Pain stimuli for laborotory studies can be evaluated on a number of dimensions: the reliability of the stimuli (in the sense the same stimuli can be delivered consistently); validity of the stimuli, in the sense that it corresponds to real world pain experiences; repeatability, in the sense that multiple stimuli can be given in a single experiment; whether deception is possible — that is, whether participants can be convincingly misinformed about the stimuli to be delivered (this would, for exaple, allow placebo-conditioning studies to take place, e.g. [5]; and the expense and practicality of the techniques.
Stimuli | Reliablity | Validity | Repeatable | Deception | Blinding | Expense | Practical |
Heat | Good | Good | Yes | Yes | Yes | High | Yes |
Cold | Moderate | Good | No | No | No | Low | Yes |
Iontophorensis | Yes | Poor | Yes | Yes | Yes | NA | NA |
Electrical | Good | Poor | Yes | Yes | Yes | Med | Yes |
Laser | Good | Poor | Yes | Yes | Yes | High | No |
Focal pressure | Moderate | Good | Yes | No | No | Low | Yes |
Focal pressure, applied to the skin over bone, is a method of evoking experimental pain of an ‘aching’ nature. The experienced sensation is relatively closely related to the pressure applied, and many studies of pain and placebo analgesia use pressure stimuli because they are cheap, practical, reliable and have reasonable ecological validity (see Table for a comparison of the different types of pain stimulator available). The FB device is used to apply pressure to the fingers via a lever [8], see figure. However, three important limitations of the original FB device (and related devices such as pressure algometers or myometers, e.g. [9]) are that
1. It is impossible to deceive pariticpants as to the true magnitude of the stimulus to be delivered, ruling out conditioning studies.
- It is impossible to blind experimenters to the stimuli to be delivered (e.g. via computer control), and that
- The reliability of pain measurements is limited by the resolution of pain self report scales.
The FAB is designed to resolve all three of these limitations.

A Forgione Barber device [8].
The FAB Hardware¶
The FAB is based on cheap, readily available hardware (an Arduino microcontroller and widely-available pressure-sensors) and the key mechanical components are 3D printed and can be assembled by lab technicians. Ready-assembled units are also be available to buy.
More details, including circuit diagrams, schematics, and CAD files sufficient to enable 3d-printing and assembly of a device, will be available soon under a permissive open source license.
- The piston
- The key mechanical component is a 3D-printed piston which contains 2kg of ballast and a linear motor to drive the probe which makes contact with the participants finger. As the linear motor drives the probe downwards and makes contact with the finger the piston is lifted from a rest position, but the maximum weight which can be applied to the probe remains 2kg [1].
- Arduino microcontroller and sensors
- An arduino microcontroller is used to drive the linear actuators and capture data from two load cells mounted within the pistons (between the probe and the motor). These data are fed to a controlling PC via the Firmata serial protocol.
[1] | Where 1kg = 9.8 mN |
Software¶
The system includes two software components which communicate via a USB serial link:
- This control software, which runs on a host computer and provides a user interface via a web browser.
- The open source Standard Firmata firmware, which runs on the embedded controller inside the device. This is pre-installed on ready-assembled devices.
Installation¶
The software should work on both Mac and PC - the primary dependencies are a recent version of Python plus a C compiler (needed to install the python-gevent library).
On OS X (or BSD/Linux)¶
- Install XCode from the Mac App Store (you can skip this if you already have a working C compiler on your linux system).
- Open the Terminal app (in the /Applications/Utilities folder).
- If you don’t already have pip installed, type sudo easy_install pip
And then to install the software: pip install fab-controller
- To start using the FAB device, type the command: fab
On Windows¶
- Ensure you have GCC, Python and pip installed.
- Repeat the steps above.
User guide¶
Getting started¶
- Connect both the DC power input and the USB cables.
- Run the fab command from the Terminal or Windows shell.
On running the fab command, a browser window will open containing the user interface for the FAB device, shown below.

The FAB user interface
The device has 3 primary modes of use:
- Manual control
- Programmed control
- Calibration mode
fab command options¶
..code
--no-box Allows the UI server to run without an FAB device connected,
for testing or demos.
-v --verbose Displays more verbose messages.
--port Which port the UI server should run on. Defaults to 2008
Target weights and tracking¶
In both manual and programmed control, the interface distinguishes between:
- Target value for the weight in grams to be applied to each hand.
- The actual measurements recorded by the sensor [1].
[1] | Note that the exact pressure applied to the finger will vary as a function of the probe size. |
Targets can be set in ‘grams’ for each hand[#grams]_. Once a target has been set the control software moves the probes up and down, attempting to maintain the target weight, as measured by the sensor. Thus where participants flex or move their fingers, the system will attempt to compensate to keep the measured force constant.
Manual control¶
Using the slider controls under the ‘manual’ tab, you can set a target weight in grams for each hand.

Programmed control¶

Programs for blocks of stimuli can be entered in the text area. Programs are simple lists of comma-separated integers. The first column specifies the duration, the second the target in grams for the left hand, and the third the target for the right hand. So, the following lines:
20,500,500
10,1000,2000
Denote a program which will deliver 500g to both hands for 20 seconds, and then 1000g to the left and 2000g to the right hands for 10 seconds.
At the end of a program target weights are set to zero.
Adding prompts to programs:
In addition, programs can cause an audio prompt to play the word “left” or “right”. Simply add “left” or “right” as a 4th element to a line in a program:
- ::
- 5, 500, 500, left 10, 500, 500, right
Would play the words “left” and “right” at 5 and 10 seconds respectively.
Get set, Stop and Reset buttons.¶
- The get set button sets the target for both hands to 20g. This allows a participant to find a comfortable position, and for program to begin from a common reference point.
- The stop button will always stop any program or manual setting, and reduce the target weights to zero. Additionally, the probes will be moved approx 1mm upwards to give the participant space to move their fingers.
- The reset button moves both probes to their top resting points.
Logging and data capture¶
By default, log files will be saved into ~/Documents/fab/logs/.
The current log file name can be changed (e.g. per-participant) in the ‘Detailed Log’ tab, next to the console.
Ethical considerations¶
Warning
It is the experimenter’s responsibility to ensure all relevant ethical standards are met in the course of using the FAB device. In addition to the participant exclusions noted in our Instructions for participants, experimenters must take precautions to exclude any other participants who could be expected to suffer harm in the course of the experiments.
Weight, force, pressure, and perceived stimulus intensity¶
Studies using the original FB device delivered painful pressure-stimuli to the fingers. This was achieved by lowering a 2kg [1] weight (force = approx 19.6N) attached to a lucite knife 0.5mm wide, which made contact with an area in the region of 5mm2 of the tested finger.
Because the area in contact with the knife varied with width of the finger (and this varies by partipant) the peak pressure delivered could vary substantially between participants. We estimate that studies using the original FB device applied pressures in the range of 3.14MPa to 5.23MPa (megapascals). However, many Forgione Barber devices subsequently used in research have not conformed to the original specification, and in our experience most used a knife probe approximately 2mm in width, equating to a peak pressure of approximately 1.31MPa.
The nature of the relationship between peak pressure, total force applied, perceived stimulus intensity, and pain is not fully understood. However we have found that, in use, participants with narrow fingers typically find FB stimuli substantially more painful than those with wider fingers. Furthermore, the large individual-differences typically observed in response to FB stimuli may be in part due to the shape of participants’ finger bones; those with wider, flatter finger bones may experience less pain, purely as an artifact of the device design.
Our new device replaces the linear knife-probe with a circular probe, 5mm in diameter. Holding the force applied constant, we anticipate a peak pressure of 1.25MPa. Thus, the stimulus is well below the pressures delivered by the FB device as originally specified, and also slightly lower than the peak force delivered by later machines which did not fully conform to the specification. However our new device ensures that all participants recieve the same peak force and pressure in all stimuli.
Note
Calculations of pressure from knife size and assumed contact areas are available in this spreadsheet pressures.xslx.
[1] | Some non-standard devices delivered as much as 3kg (29.4N) of force, e.g. [1] |
Stimulus intensity, duration and safety¶
Pressure stimuli in the range delivered by the FB and FAB devices are typically not immediately painful; the sensation of pain typically builds over a duration of 10-20 seconds. Most previous studies capped stimuli at 2 minutes in duration, although many participants opt to end the trial early, typically between 40 and 80 seconds.
However, because the FAB device can be used dynamically, we make several observations:
- Pressure stimulus can be introduced gradually, rather than all at once.
- Pressure intensity can be varied through the trial. The current model is fast enough to pulse from rest to full-pressue at approximately 0.5hz, potentially facilitating wind-up type effects.
- Peaks and troughs in pressure applied may provide opportunities to make several measurements
- Participants are blind to the actual pressure applied, and so measurements could be taken where participants hold pain constant, but vary weight instead.
However, we don’t recommend that trials on an individual finger last longer than 2 minutes at full stimulus intensity. Where less-painful stimuli are applied, somewhat longer trials may be appropriate, but 5 minutes with no more than 1 minutes spent at > 50% intensity, should probably be considered an upper bound until more data are available on safety and participant-acceptability.
Instructions for participants¶
The following text may be useful in instructing participants and explaing to ethics/IRB panels what you propose.
What is the FAB device?¶
This device is designed to apply a safe but painful pressure to fingers on one or both of your hands.
The pressure is applied by a weight, attached to a plastic blade which rests on your fingers.
The weights can be lifted up and down by a computer to adjust the intensity of the pain you experience.
The machine has a failsafe which means it can never press with a force greater than the equivalent of 2kg. This makes it safe to use in our experiments.
Deciding whether to take part¶
The FAB machine will deliver a painful stimulus to one or both of your fingers. The maximum force which can be delivered is equivalent to 2kg applied to an area approximately 19mm:sup:2. This force is safe, but painful, and can leave some temporary indentations or marks on your fingers, although these will soon disappear.
You should NOT take part in this experiment if you have:
- Any current or part skin or joint problems with your hands (e.g. excema or arthritis).
- If you have recently injured or damaged any part of your hands.
- If you bruise easily, or suffer from excessive bleeding. Also if you have thin or delicate skin, or are taking medications which might cause your skin to become thin (for example, oral corticosteroids taken for asthma).
- Any form of restricted blood flow to your hands, poor circulation, or conditions like Raynaud’s disease.
You should also tell the experimenter if you:
- Have a condition which affects your perception of pain
- Have experienced long-term or chronic pain at any time in your life
- Are anxious or worried about the procedure.
What will happen during the experiement?¶
The FAB machine works by lowering weights onto your finger, which press a plastic probe into the skin between your first and second knuckles.
Two fingers may be tested at once, although only one from each hand. You may undergo several trials in the course of the experiment.
The experimenter is likely to ask you to:
- Tell them when the probe begins to hurt
- Tell them when the pain is unbearable and you want to stop the trial
- Ask you to rate how much the probe hurts and particular moments during the trial
Stopping and/or withdrawing¶
It is always your right as a participant to stop an experiment at any time. This is even more important when the experiment includes a pain stimulus. Please remember that:
- You can tell the experimenter at any time you would like to stop the study.
- You can stop any trial at any time by simply pulling your fingers backwards.
Note
You can remove your hands at any time by pulling backwards. This will not harm the machine or disrupt the experiment. The experimenter should show you how to do this before starting the study.
References¶
[1] | KELLI F Koltyn, AW Garvin, RL Gardiner, and TOBEN F Nelson. Perception of pain following aerobic exercise. Medicine and science in sports and exercise, 28(11):1418–1421, 1996. |
[2] | Tor D Wager, James K Rilling, Edward E Smith, Alex Sokolik, Kenneth L Casey, Richard J Davidson, Stephen M Kosslyn, Robert M Rose, and Jonathan D Cohen. Placebo-induced changes in fmri in the anticipation and experience of pain. Science, 303(5661):1162–1167, 2004. |
[3] | John Posner, Andras Telekes, Dominic Crowley, Richard Phillipson, and Anthony W Peck. Effects of an opiate on cold-induced pain and the cns in healthy volunteers. Pain, 23(1):73–82, 1985. |
[4] | Predrag Petrovic, Eija Kalso, Karl Magnus Petersson, and Martin Ingvar. Placebo and opioid analgesia–imaging a shared neuronal network. Science, 295(5560):1737–1740, 2002. |
[5] | Guy H Montgomery and Irving Kirsch. Classical conditioning and the placebo effect. Pain, 72(1):107–113, 1997. |
[6] | Ulrike Bingel, Jürgen Lorenz, Eszter Schoell, Cornelius Weiller, and Christian Büchel. Mechanisms of placebo analgesia: racc recruitment of a subcortical antinociceptive network. Pain, 120(1):8–15, 2006. |
[7] | Ethne L Nussbaum and Laurie Downes. Reliability of clinical pressure-pain algometric measurements obtained on consecutive days. Physical therapy, 78(2):160–169, 1998. |
[8] | Albert G Forgione and Theodore X Barber. A strain gauge pain stimulator. Psychophysiology, 8(1):102–106, 1971. |
[9] | Thomas Edwards, Stephen Baker, and Roger Eston. A method of detecting the muscle pain threshold using an objective software-mediated technique. Perceptual and motor skills, 82(3):955–960, 1996. |
Source code for the software is available from the github repository: https://github.com/PlymouthPsychology/fab-controller/