Required Hardware
| Name | Vendor | Quantity | Remarks |
|---|---|---|---|
| BFS-U3-13Y3M Camera | FLIR Inc. | 1 | Point Gray Black Fly Camera |
| PMC8-6106 Rotary Encoder | Rhino Motion | 1 | 2000 rotation/cycle |
| Arduino Board | Arduino | 1 | Arduino Uno |
Designs
EDA designs are in the folder CAD/EDA. It requires
KiCAD version 5 or higher. The final PCB design is also
available on various releases (one is available at
https://github.com/BhallaLab/MouseBehaviour/releases/tag/v2019.08.02 ).
Following snapshot may be outdated
See the github repo release page for latest design and schematic.

And see the schematic.
Generating layout using FreeRouter
- From KiCAD's Pcbnew, move components to desired positions.
- Go to File -> Board Setup. Select Layers and select
B.Cuto layer typeJumper. We are going to make single-sided PCB. We don't have a PCB machine which can fabricate two sided PCB easily! - Now draw the tracks manually, or do it automatically using
freeRouting.jarfile. - Export to Spectra DSN.
File -> Export -> Specctra DSN ... - Lauch
java -jar /opt/layout/bin/freeRouting.jarand select the exported DSN file. Runautolayout. - When done, save the session file. Import it back to kicad.
Consult electronic workshop before fabricating the PCB. You may have to fill the PCB after auto-routing. Otherwise you'd end up removing too much of copper using the machine. See this page.