← All work

Neuroscience research

One Control Panel for Sound, Touch, Light, and Heat

A stimulus control application for a research institute's behavior-tracking rigs, replacing a discontinued control card and driving four kinds of custom and off-the-shelf stimulus hardware, alone or in sync.

Operatortabs, sync switchVideo modulestart and stop signalStimulus controlone or many, in syncSoundwaveform generatorPuff and tappulse generatorLightLED panelTemperaturescripted profiles

The problem

A major biomedical research institute ran several stations of a popular behavior-tracking system, used to study how small model organisms respond to their surroundings. The system depended on a digital control card that was no longer made, with no drop-in replacement, so every station was one hardware failure away from going dark.

The plan was to split the old application into two independent modules: one that streams high-speed video to disk, and one that delivers the stimuli the organisms respond to. We were asked to design and build the stimulus module.

What we built

One application, four kinds of stimulus. The module talks to four controllers over their serial interfaces, three of them custom-built by the institute’s own engineers:

  • Sound, from a custom waveform generator.
  • Puff and tap, from a custom digital pulse generator.
  • Light, from a custom LED panel, including on, off, and intensity control and light gradients.
  • Temperature, from an off-the-shelf controller, programmed with scripted temperature profiles to create gradients and heated plates.

A tab for each stimulus. Every stimulus has its own tab, with every parameter from the researchers’ requirements laid out as a clear control. Defaults load from a configuration file at startup.

Know what’s connected before you start. At startup the module checks every controller, shows which ones answered, and puts each in its default state, ready to run.

Alone or in sync. Researchers can fire any stimulus on its own, or mark several and start or stop them together with a single switch.

Built to plug in later. The module runs on its own today, and was structured to sit inside a larger application and to wait for a start and stop signal from the video module once that link is defined. Recoverable errors are handled in the background, and anything else closes cleanly with a clear message.

The result

The institute’s tracking stations were freed from a discontinued part, and researchers got a single, consistent panel for every stimulus they use, ready to tie into the video side of the system.