Skip to content

Vulintus/Vulintus_Olfactometer_Control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vulintus_Olfactometer_Control

Control software, firmware, and hardware design files for Vulintus olfactometer systems.

Disclaimer: This README file was AI-generated, but checked for accuracy by a human.

This repository combines three kinds of materials:

  • Arduino firmware for the microcontrollers used inside supported olfactometer systems.
  • MATLAB applications for manual olfactometer control and olfactory behavior workflows.
  • Legacy PCB design files for first- and second-generation hardware.

Repository Layout

Firmware (Arduino)

Arduino sketches for supported controller revisions:

  • Firmware (Arduino)/Olfactometer_V1_0/Olfactometer_V1_0.ino
  • Firmware (Arduino)/Olfactometer_V1_1/Olfactometer_V1_1.ino

These sketches target Arduino Mega 2560-based controllers used in Vulintus olfactory systems.

MATLAB Scripts

Olfactometer Control V2

Files in MATLAB Scripts/Olfactometer Control V2/ provide a GUI for direct olfactometer control.

Key files:

  • Olfactometer_Control_V2.m: main MATLAB GUI entry point.
  • ArdyOlfactometer.m: serial communication helper for connecting to the Arduino device.
  • COM51_Odor_Valve_List.txt: example valve-to-odor mapping file.
  • Stim_Set.txt: example stimulus set file.

Important: Olfactometer_Control_V2.m looks for configuration files in the current MATLAB working directory. In practice, run it from the MATLAB Scripts/Olfactometer Control V2/ folder so the valve list and stimulus files are found correctly.

Olfactory Behavior V1.0

Files in MATLAB Scripts/Olfactory Behavior V1.0/ support a behavior workflow built around the olfactometer hardware.

Key files:

  • Olf_Behavior.m: collated MATLAB entry point.
  • src/Olf_Behavior_Startup.m: startup source used by the behavior application.
  • src/Deploy_Olf_Behavior.m: helper used to collate and deploy the behavior application.
  • compiled/: MATLAB Compiler output and redistribution artifacts.

Behavior-stage note: the startup flow looks for an Olf_Stages.xls* file on the user's desktop inside Desktop/Olf_Behavior/, and falls back to a copy on the MATLAB path if one is not present.

PCB Designs

PCB Designs/ contains ExpressPCB design files for legacy olfactometer-related boards.

To open these files, install ExpressPCB. Use care when downloading from third-party mirrors.

Requirements

  • Windows is the expected operating environment for the supplied MATLAB workflows and COM-port handling.
  • Arduino IDE for firmware upload and USB driver installation.
  • MATLAB for the control and behavior applications.
  • Statistics and Machine Learning Toolbox is listed in MATLAB Scripts/Olfactory Behavior V1.0/src/Required Toolbox Functions/required_matlab_products.txt.
  • A supported Vulintus olfactometer system with an Arduino Mega 2560-based controller.

Getting Started

Update Firmware

  1. Open the matching sketch for your hardware revision in the Arduino IDE.
  2. Connect the controller over USB.
  3. Select the correct Arduino Mega 2560 board and COM port.
  4. Upload the sketch.

Run the MATLAB Control GUI

  1. Open MATLAB.
  2. Change the current folder to MATLAB Scripts/Olfactometer Control V2/.
  3. Review the valve mapping and stimulus text files if needed.
  4. Run Olfactometer_Control_V2.

Run the Olfactory Behavior Workflow

  1. Open MATLAB.
  2. Ensure the required stage file is available either on the MATLAB path or under Desktop/Olf_Behavior/.
  3. Run Olf_Behavior.

Notes

  • This repository contains legacy hardware design files in addition to the active control software.
  • Some MATLAB files use older serial APIs and may produce MATLAB analyzer warnings in newer releases.
  • The compiled behavior folder is provided for packaging and redistribution workflows, not as the primary source of truth.

License

This repository is licensed under the Vulintus Noncommercial Repository License 1.0. Commercial use of the repository contents is prohibited unless Vulintus, Inc. gives prior written permission. See the repository root LICENSE for the full license text.

About

Arduino-based firmware and MATLAB-based software for controlling Vulintus olfactometers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors