Skip to content

COVID-19 is an emerging, rapidly evolving situation.

Get the latest public health information from CDC:
Get the latest research information from NIH:

Laboratory of Neuropsychology

Smart Solenoid Driver


The Smart Solenoid Drive provides power for 24 volt solenoids typically used in juice reward applications. Its basic function is to boost digital signals from a behavioral control computer. Pulse timing is supplied by the computer. The Smart Solenoid Driver has several useful features:

  • Output can be disabled to avoid unexpected/unwanted reward delivery
  • Automatically disables itself if reward pulse exceeds 3 seconds
  • Supports timed manual rewards via the front panel or remote pushbutton
  • Has automatic flush operation. Stops after 30 seconds
  • Has solenoid cleaning operation, cycles solenoid on and off to clean piston
  • Internal fuse protects monkey and equipment if the solenoid wires are chewed
  • Intelligently handles moments when computer and manual rewards overlap


A. SOLENOID (9 pin female connector)
This connects to a 24 volt juice solenoid. Pins 4 & 9 provide positive (+) 24 volts. Pins 1 & 6 are the negative of the 24 volt supply. Pin 7 is a ground that can be tied to the shield of shielded cable to reduce noise generation. Two pins are provided for each side of the 24 volts. Either or both pins can be used.

B. INPUT (9 pin male connector)
This connector receives the reward pulse from the computer. Normally, pin 1 is the input from the computer and pin 9 is the ground. The computer input can be moved from pin 1 to a different pin (usually 2 or 3). This is common when multiple juice reward devices are in use.

C. MANUAL REWARD (BNC connector)
This can be connected to a push button (“normally open”) to deliver “free rewards”. The MILLISECONDS control on the front panel determines the amount of reward.

Basic operation
The Driver has 3 modes indicated by 3 green LEDs. Use the SELECT button to choose the mode you want.

No rewards can be delivered in this mode.

In this mode, rewards can be delivered by the computer, the front panel REWARD button or a pushbutton connected to the back.

In this mode, pushing the front panel REWARD button starts a flush. The solenoid is turned on for about 3 minutes. The flush ends automatically. If the flush is running, a second push of the REWARD button will end the flush. Switching to another mode will also end the flush.
Our solenoids have pistons that get stuck when sugary liquids are used. You can clean the piston in the FLUSH mode (before the piston gets stuck). Flush the tubing first. Then, while in the flush mode, push and hold the SELECT button for 1.5 seconds. When you release, the solenoid will cycle on-off at once per second (10 ms on, 90 ms off) for 30 seconds. Clean water in the tubing will wash sugars out of the piston.

Fault (Red LED)
If the computer input get stuck ON for more than 3.5 seconds when in the ACTIVE mode, the Driver will disable itself and the red FAULT LED will start flashing. Use the SELECT button to go back to ACTIVE operation. The purpose is to prevent computer problems from locking the juice valve open. If you need to deliver rewards longer than 3 seconds, the Driver must be re-programmed for a longer fault time.

If the unit keeps faulting unexpectedly, something is wrong with the computer input to the Driver. If the computer is off, the computer input is not connected or the computer I/O board is not producing a digital output, a fault may occur. That is because the computer input is relatively high-impedance and can be triggered by noise.

Notice that the MILLISECONDS scale for manual rewards is not linear. The scale is compressed on the mid and high ranges to provide the most useful values in one turn of the dial. The scale is fairly accurate if the Driver is built using the recommended potentiometer. Remember that the computer has direct control of the timing when it sends a reward pulse, so the markings on the MILLISECONDS scale are not relevant to the computer input.

Suitable solenoids
Many 24-volt valves for fluid delivery will work with this design. The power supply can comfortably drive valves that require up to 12 watts (0.5 amps). We use an air pressurized system with fast-acting food-safe valves (Burkert USA 6011A type). These are 4 watt valves and readily available from McMaster Carr (part number 7900K933).

Technical notes
The Smart Solenoid Driver is built using a custom shield. That shield takes the 24-volt driver power supply and provides 5 volts for the Arduino board. It also has two driver transistors for the solenoid. Only one driver transistor is used during reward delivery. During FLUSH, the second driver transistor takes over at a lower voltage (about 15-volts) to reduce the heating of the solenoid during FLUSH operation. The shield has sufficient capacity to drive two solenoids. It can be populated with four driver transistors and an additional connector for a second solenoid. When assembling the shield for the Smart Solenoid Driver many (about half) of the parts are omitted.

The Smart Solenoid Driver has two fuses. The outside fuse is for a major failure. It is a 0.5A slo blow type 3AG.

A small internal is intended to protect the 24-volt circuitry. If a monkey chews the solenoid wires, the inside fuse may blow. This fuse is a type TE5 fast acting. For 10 W solenoids, a 0.5A fuse is used.

Internal fuse location

Location of internal fuse on circuit board.

close up of fuse in fuse holder.

Below is a picture of a Type TE5 fuse, outside of fuse holder.

Browse FTP Directory

To download schematics, assembly notes, and all the associated files -