Physiological Stimulator



The goal of this project was to build a small, cheap, light-weight stimulator for student use in electrophysiology labs. Specifically:

The traditional stimulator is a box full of analog and digital parts. We replaced all these with a cheap microcontroller.

PC-controlled version

There are four processes which run on the microcontroller:

This AVR assembler code is the program running on the mcu (march 23 version).

Using the PC-controlled stimulator

This version of the stimulator assumes that you have a terminal emulator (or custom program which can emit rs232 commands) on the host-computer. The communications port should be set to 9600 baud, 8-bits, no parity, one stop-bit, no flow control. If you are using an AVR prototype board, then you must configure it for serial communication.

When the microcontroller is reset, it will prompt the user for 4 numbers with the following message:

Enter number, dur, spacing, interval>

A typical response might be:

4 1 3 500

meaning that a stimulus should be 4 pulses, each 1 millsec long, separated by 3 millsec, and repeating every 500 millsec.

The mcu will then prompt the user for free run vs manual trigger.

Press m for manual, r for freerun>

The only valid responses are 'm' and 'r', for manual and free run respectively. If the manual option is chosen then there will be exactly one stimulus sequence from the mcu when a button is pushed.

PortD.0 and PortD.1 on the AVR mcu are the serial connection to the PC. PortB.0 is the stimulus output. PortB.1 is the synch pulse output. A pushbutton with pullup resistor must be attached to PortD.2 for the manual trigger.

Stand-alone version

There are four processes which run on the microcontroller:

The AVR code (march 23 version) and schematics will be here soon...

Using the Stand-alone version

Stay tuned, still under revision...