See published paper on JOVE.
We developed an inexpensive, single board computer-based, easy-to-use setup for investigation of mouse spatial learning behavior using a visual virtual reality (VR) environment. This system uses a network of microcontrollers (ESP32) and a Raspberry Pi single-board computer to display a virtual linear track to a headfixed mouse running on a wheel. Along with a custom software package written in Python and C++ to generate parameterized virtual environments, this methodology allows researchers the design of various spatial navigation-based experiments to study neural circuits in the brain underlying spatial behaviors. Example video here:
- ESP32 microcontrollers to track and convert mouse movement on a treadmill or wheel to serial data and to control other harware elements (lick spout for reward delivery).
- Raspberry Pi 4 for building and simulating the virtual reality environment.
- Projector for visualizing the virtual corridor.
- PCB shields through OpenMaze
- The virtual corridor was designed with Python.
- Native, Linux-based OS for Raspberry Pi.
- tkinter was used for designing the graphical user interface.
- Arduino IDE for programing the microcontrollers.
- Processing for data collection and plotting.
- The analysis of behavior files currently requires Matlab.
- We built the main part of the system which can simultaneously run and show the virtual reality environment on a computer display and a projector.
- We have built a prototype GUI which can be used to build virtual corridors from virtually any kind of jpeg images.
- We tested the system with several testbenches.
- Finalizing the code by adding documentation and examples.
- Optimization of the system by e.g., adding an RFID sensor to increase wheel tracking accuracy.
- Adding other features to the VR software like naturalistic scenes, looming stimulus or cliff-like effects.
- Implementing the analysis scripts in Python.
- Increasing the flexibility of the existing protocols.
- Implementing a wireless (e.g., bluetooth) system using this platform.
- Open a terminal window in Raspberry Pi and navigate to the
HallPassVR
folder
cd /home/pi/Documents/HallPassVR
- Starting the VR GUI:
python3 HallPassVR_GUI.py
- Setting up the floors and corridors in the GUI
- Setting up
Processing
sketch to acquire and plot behavior. - Preliminary analysis of the acquired data can be done in Matlab with the scripts in
/Analysis code
folder.
For feature requests, support or questions, please open a ticket on GitHub.