ArControl icon indicating copy to clipboard operation
ArControl copied to clipboard

ArControl: Arduino UNO/Mega based, visual programming & real-time behavioral platform for neuroscience. It can run Go/No-Go, 2AFPC and Optogenetic stimulation tasks.

logo1


ArControl is a Arduino based digital signals control system. A special application for ArControl is to establish a animal behavioral platform (as Skinner box), which control devices to deliver stimulation and monitor behavioral response. ArControl is also useful to generate Optogenetic TTL pulses.

Figure1

The new board -- Board V3

Figure2

Task visulization

ArControl Designer can export the behavior task to the pdf (Designer>menu>Export pdf), which offers beautifual visualization of the behavior task. Take Go/No-Go for an example.

Data file convert

ArControl use raw txt file to store recording data. It's easy to convert that to other general platforms.

ArControl -> Python (auto)
ArControl -> Matlab (auto)
ArControl -> NWB format (see converter)

Features

  • [x] Comprehensive – it combines software and hardware, behavioral task design and experimental data collection.
  • [x] Inexpensive – neither dedicated nor expensive hardware is essential.
  • [x] General purpose - it’s applicable to multiple behavioral tasks.
  • [x] Easy to use – behavior task can be decomposed by the straightforward State Notation concept, and designed via a friendly GUI without need to master script language. You are free from knownledge about C++ / Arduino / Matlab coding.
  • [x] Real-time performance – it has high temporal resolution (<1ms) and free from the load of computer.

Requirements

  • Windows 7/10
  • Arduino IDE

Boards Support

  • Arduino UNO (recommend; 6 Inputs, 8 Outputs)
  • Arduino Mega2560 (more RAM; 6 Inputs, 8 Outputs)
  • Arduino Nano328 (small size; 6 Inputs, 8 Outputs)

Guidance

I prepared a wiki page. You can find tons of useful thing there.

  • Brief View - Find out what does ArControl look like, and what can ArControl handle with.

  • Ready Demos - View how to operate ArControl.

  • Installation Guide - Follow it to integrate ArControl into your project.

  • PCB Assemble - Assembling a simple PCB is very useful for a hardware platform.

Or you can watch the video tutorial here (Chinese language only/ 中文):

  • [How to install] https://www.bilibili.com/video/BV1zz4y1U7AY
  • [An example]. https://www.bilibili.com/video/BV13v411v7TN
  • [Another example for optogenetics]. https://www.bilibili.com/video/BV1yX4y1G7Zs

Contact

Contact me on email [email protected] . If you find an issure, open a ticked on it.

Cite This

Academic researchers using ArControl should cite our paper in their works.

Reference codes

  • QFirmata: https://github.com/firmata/protocol
  • SCPP_ASSERT from Vladimir Kushnir

Downloads

  • Source-code download: https://github.com/chenxinfeng4/ArControl
  • Binary-release download: https://github.com/chenxinfeng4/ArControl/releases
  • PCB drafts download: https://github.com/chenxinfeng4/ArControl/releases

License

ArControl is released under the GNU LGPL v2.1 license.