Mouse pusher is a complementary mechanical device for the med-pc operant boxes, to replace manual labor when propelling mice into the experiment arena. Potentially, by freeing researcher from pushing multiple mice at the same time, the mouse pusher can improve efficiency and accuracy of the procedures and even reduce the audience effect on the mice. This design were tested in the aggression protocol at the Golden Lab UW. This is designed for extra wide operant box.
Image.from.iOS.1.MOV.mp4
For each mouse pusher, we need the following components below:
- Arduino Uno
- L298N Motor Driver
- Linear Stage Rail
- Screws (based on your linear stage rail requirement)
- 24V Power Adapter (for the stepper motor, might be different depends on the motor you have)
- 9V Power Adapter (for powering arduino separately)
- Jumper wires
- Electrical tape
Pin Name | Description |
---|---|
OUT1 & OUT2 | Output pins of Motor A (A+ to OUT1, A- to OUT2 |
OUT3 & OUT4 | Output pins of Motor B (B= to OUT3, B- to OUT2 |
12V / VCC | power supply input, if > 12V DC, remove 12V jumper (black jumper in front of the input) |
5V | 5V pin on Arduino |
GND | Ground pin |
IN1 | pin 8 |
IN2 | pin 9 |
IN3 | pin 10 |
IN4 | pin 11 |
For a single set, you need 1 linear stage rail, 1 arduino, 1 L298N, 4 M/M jumper wires, 4 M/F jumper wires, 1 9V power adapter, and 1 24V power adapter (with connector tip)
Step 1: braid the wires from the linear stage rail
Step 2: wrap electrical tape around the wire for protection
step 3: take out two sets of two male to male jumper wires, and a set of four male to female jumper wires.
step 4: wrap electrical tapes around jumper wires, we color coded them to distinguish different sets.
step 5: connect wires to l298N motor driver according to the table above
step 6: connect wires to arduino according to the table above
step 7: connect the wire from 12V+ port from L298N to the positive on the adapter connector, and the ground to the negative on the adapter connector.
step 8: plug in 24V to L298N power adapter and 9V to arduino uno.
Tp test the linear stage rail, use position adjustment script moving the stage to desired starting position, and use trial loop script to test stability for 10 minutes.
- 24V to 5V Optocoupler ( I used 8 channel ones for every 6 of the wire set, you can buy any type of optocoupler that suits best for your project requirement)
- 5V power adapter
- Wire
- Electrical tape
Optocoupler is used to step down the high voltage ttl signal from Med-PC to protect Arduino from frying. the signal output would go to Analog port on arduino (we used A3), and negative goes to the second ground on arduino.
Click here for Operant Box Trial Script
This script is for running the actual operant box trials, detailed explanation in the script file, might need small modification to fit your specific trials.
Click here for Linear stage position adjustment script
This script can be used to move the stage to the preferred starting position, or if stalling problem happens, can be used to do some quick testing for the specific reason for stalling
Click here for testloop script
We use this script to test if the wired pusher set is stable before installing it on the opearnt box. This script is optional but we found it useful to prevent the hassel of fixing it after the set being attached to the opearnt box.
Click Here for example for the Med_PC code
The code above is the Medpc script we used for self-administration aggression study, on the foundation of the original script, We added ^Pusher = 14 (or any open output number you have) to Outputs sections, then at the codes where you command for output to open the door, we added ON ^Pusher Same where you command for output to close the door, we added OFF ^Pusher
Here are the examples clipped from the script above:
Click here to see display model for all components together
The chamber body would be the structure to contain the mice before they are pushed into the operant box, it can contain two mice at a time so the intruder mice can rotate and not getting thrown into the arean as frequently.
The pole is attached to the linear stage, through screw in the four holes, the side with longer side being towards the back of the linear stage. Modification might be needed if the stage has different dimensions.
This is the first detachable bottom of the two, they can be fitted together into the gap at the bottom of the chamber
This is the second detachable bottom of the two, they can be fitted together into the gap at the bottom of the chamber. We have designed the bottoms to be thinner and narrower than the gap of the chamber, but due to 3d printer's accuracy, it might still be hard to fit in or remove them. The little wedge on the second bottom can help you grip it better, and makes it easier to remove this bottome first. If hand strength not enough, please try a plier. If still not fitting correctly, some decrease in width and length might be needed.
The pusher plate is going to be attached onto the pole, the side with shorter legs being the inward side.
This structure is being attached to the operant box under the chamber. the vertical thin flat surface can be fit in the same gap we use to attach the chamber body. the supporting foundation would make all the chamber body be on the same height and restrict unnecessary movement of the linear rail. Depends on the stability of your operant box, the support foundation might still be able to move around a lot, you can use tape to secure the side to the operant box. (If linear rail not the same dimensions, modification would be needed)
The rotate block is a 2 piece structure that would be fitted together through the round hole on the chamber body, when putting down after the divider is in, it would prevent the divider being moved out by the mice.
The divider fits in highest horizontal gap to separate the two mice in the chamber, when fitting in appropriately into the back slot on the other side of the chamber, the thin line on divider should be close to the surface of the chamber.
The Rail guard is a barrier for the tail preventing debris or mice feces getting into the linear stage rail. This stl file is upside down for easier printing purpose.
- Linear stage rail moves, causing the pusher plate or pole getting stuck by the chamber or other structure around the operant box.
Solution: if stuck in the middle and not returning to the start position, use position adjustment script to return the stage back into starting position, and check for broken components, replace if needed.
- Not moving after wiring, often along with strange noise
Solution: recheck all wiring to see if they are all in place, if they are, check if the right voltage of power adapted is connected. If still not solved, check the voltage reading from your mouse pusher script, if the voltage doesn't change to 1023 when you open output 14, it means there is no connection between arduino and medpc, you need to change wire or replug it.
Turning off when not using, especially before closing operant box, turning of operant box first will lead to all boxes push forward because the voltage change by the optocoupler
Our advice is to have some backup parts because before everything is properly installed and stablized, it might be very easy to break thin parts like poles and rotate block.