<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://tsgdoc.socsci.ru.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=E.vandenberge</id>
	<title>TSG Doc - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://tsgdoc.socsci.ru.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=E.vandenberge"/>
	<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php/Special:Contributions/E.vandenberge"/>
	<updated>2026-10-01T11:13:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Observation_Lab&amp;diff=6925</id>
		<title>Observation Lab</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Observation_Lab&amp;diff=6925"/>
		<updated>2026-09-14T15:26:45Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Using the Experiment Control Computer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Observation in Labs&lt;br /&gt;
&lt;br /&gt;
When conducting observational studies in the labs, camera and audio recordings can be set up using the equipment and software described below.&lt;br /&gt;
&lt;br /&gt;
==Equipment==&lt;br /&gt;
* [[AVer CAM520 Pro3]]&lt;br /&gt;
* [[Hollyland Lark M2]]&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
* [[OBS Studio]]&lt;br /&gt;
&lt;br /&gt;
==Labs==&lt;br /&gt;
* Observation lab&lt;br /&gt;
* Bar lab&lt;br /&gt;
&lt;br /&gt;
==Using the Experiment Control Computer==&lt;br /&gt;
To use cameras and audio recordings in the Bar lab or Observational labs, follow these instructions:&lt;br /&gt;
# Turn on all the green switches and the experiment control computer.&lt;br /&gt;
# Once logged in, open [[OBS Studio]].&lt;br /&gt;
# On the bottom left, you will see a panel called &amp;quot;Scene&amp;quot;. In that panel, you can select a configuration that has already been created (e.g., 2 cameras, 3 cameras, ...). You can also create a configuration yourself. If so, you will also need to indicate the source for which specific cameras you would like to record from.&lt;br /&gt;
# Once you have selected the configuration, in the &amp;quot;Source&amp;quot; panel (bottom centre) you can double-click on a specific camera if you want to change the angle and zoom. After double-clicking, select &amp;quot;Configure Video&amp;quot; and then &amp;quot;Camera Control&amp;quot;. Change zoom, tilt (up/down) and pan (left/right) according to what you need. Note that focus is automatic.&lt;br /&gt;
# You can change the recording path (where your data will be saved) to a local folder of your choice. &#039;&#039;&#039;Please do not change the recording path to your working group folder&#039;&#039;&#039;: the uploading is not fast enough for videos.&lt;br /&gt;
# You can then press &amp;quot;Start Recording&amp;quot; at the bottom right, whenever you are ready.&lt;br /&gt;
# Once done, remember to upload the data to your work group folder, and to delete it from the local folder.&lt;br /&gt;
&lt;br /&gt;
==Adding Audio Recording==&lt;br /&gt;
# To record audio, you can use [[Hollyland Lark M2]] microphones.&lt;br /&gt;
# Connect the receiver(s) to the experiment control computer via the cable.&lt;br /&gt;
# The pairing between the receiver and the lavalier microphones is automatic.&lt;br /&gt;
# If you have selected a pre-made scene with audio, the communication with OBS Studio is automatic. If you have created the configuration yourself, you will need to add the Hollyland microphone(s) as audio in source.&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Observation_Lab&amp;diff=6924</id>
		<title>Observation Lab</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Observation_Lab&amp;diff=6924"/>
		<updated>2026-09-14T15:25:13Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Adding Audio Recording */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Observation in Labs&lt;br /&gt;
&lt;br /&gt;
When conducting observational studies in the labs, camera and audio recordings can be set up using the equipment and software described below.&lt;br /&gt;
&lt;br /&gt;
==Equipment==&lt;br /&gt;
* [[AVer CAM520 Pro3]]&lt;br /&gt;
* [[Hollyland Lark M2]]&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
* [[OBS Studio]]&lt;br /&gt;
&lt;br /&gt;
==Labs==&lt;br /&gt;
* Observation lab&lt;br /&gt;
* Bar lab&lt;br /&gt;
&lt;br /&gt;
==Using the Experiment Control Computer==&lt;br /&gt;
To use cameras and audio recordings in the Bar lab or Observational labs, follow these instructions:&lt;br /&gt;
# Turn on all the green switches and the experiment control computer.&lt;br /&gt;
# Once logged in, open OBS Studio.&lt;br /&gt;
# On the bottom left, you will see a panel called &amp;quot;Scene&amp;quot;. In that panel, you can select a configuration that has already been created (e.g., 2 cameras, 3 cameras, ...). You can also create a configuration yourself. If so, you will also need to indicate the source for which specific cameras you would like to record from.&lt;br /&gt;
# Once you have selected the configuration, in the &amp;quot;Source&amp;quot; panel (bottom centre) you can double-click on a specific camera if you want to change the angle and zoom. After double-clicking, select &amp;quot;Configure Video&amp;quot; and then &amp;quot;Camera Control&amp;quot;. Change zoom, tilt (up/down) and pan (left/right) according to what you need. Note that focus is automatic.&lt;br /&gt;
# You can change the recording path (where your data will be saved) to a local folder of your choice. &#039;&#039;&#039;Please do not change the recording path to your working group folder&#039;&#039;&#039;: the uploading is not fast enough for videos.&lt;br /&gt;
# You can then press &amp;quot;Start Recording&amp;quot; at the bottom right, whenever you are ready.&lt;br /&gt;
# Once done, remember to upload the data to your work group folder, and to delete it from the local folder.&lt;br /&gt;
&lt;br /&gt;
==Adding Audio Recording==&lt;br /&gt;
# To record audio, you can use [[Hollyland Lark M2]] microphones.&lt;br /&gt;
# Connect the receiver(s) to the experiment control computer via the cable.&lt;br /&gt;
# The pairing between the receiver and the lavalier microphones is automatic.&lt;br /&gt;
# If you have selected a pre-made scene with audio, the communication with OBS Studio is automatic. If you have created the configuration yourself, you will need to add the Hollyland microphone(s) as audio in source.&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Observation_Lab&amp;diff=6923</id>
		<title>Observation Lab</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Observation_Lab&amp;diff=6923"/>
		<updated>2026-09-14T15:23:56Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Equipment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Observation in Labs&lt;br /&gt;
&lt;br /&gt;
When conducting observational studies in the labs, camera and audio recordings can be set up using the equipment and software described below.&lt;br /&gt;
&lt;br /&gt;
==Equipment==&lt;br /&gt;
* [[AVer CAM520 Pro3]]&lt;br /&gt;
* [[Hollyland Lark M2]]&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
* [[OBS Studio]]&lt;br /&gt;
&lt;br /&gt;
==Labs==&lt;br /&gt;
* Observation lab&lt;br /&gt;
* Bar lab&lt;br /&gt;
&lt;br /&gt;
==Using the Experiment Control Computer==&lt;br /&gt;
To use cameras and audio recordings in the Bar lab or Observational labs, follow these instructions:&lt;br /&gt;
# Turn on all the green switches and the experiment control computer.&lt;br /&gt;
# Once logged in, open OBS Studio.&lt;br /&gt;
# On the bottom left, you will see a panel called &amp;quot;Scene&amp;quot;. In that panel, you can select a configuration that has already been created (e.g., 2 cameras, 3 cameras, ...). You can also create a configuration yourself. If so, you will also need to indicate the source for which specific cameras you would like to record from.&lt;br /&gt;
# Once you have selected the configuration, in the &amp;quot;Source&amp;quot; panel (bottom centre) you can double-click on a specific camera if you want to change the angle and zoom. After double-clicking, select &amp;quot;Configure Video&amp;quot; and then &amp;quot;Camera Control&amp;quot;. Change zoom, tilt (up/down) and pan (left/right) according to what you need. Note that focus is automatic.&lt;br /&gt;
# You can change the recording path (where your data will be saved) to a local folder of your choice. &#039;&#039;&#039;Please do not change the recording path to your working group folder&#039;&#039;&#039;: the uploading is not fast enough for videos.&lt;br /&gt;
# You can then press &amp;quot;Start Recording&amp;quot; at the bottom right, whenever you are ready.&lt;br /&gt;
# Once done, remember to upload the data to your work group folder, and to delete it from the local folder.&lt;br /&gt;
&lt;br /&gt;
==Adding Audio Recording==&lt;br /&gt;
# To record audio, you can use Hollyland.&lt;br /&gt;
# Connect the receiver to the experiment control computer via the cable.&lt;br /&gt;
# The pairing between the receiver and the mic is automatic.&lt;br /&gt;
# If you have selected a pre-made scene with audio, the communication with OBS Studio is automatic. If you have created the configuration yourself, you will need to add the Hollyland as audio in source.&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=LimeSurvey&amp;diff=6922</id>
		<title>LimeSurvey</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=LimeSurvey&amp;diff=6922"/>
		<updated>2026-09-14T15:22:51Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ambox&lt;br /&gt;
| type = notice&lt;br /&gt;
| text = &#039;&#039;&#039;Migration notice:&#039;&#039;&#039; We will soon migrate from LimeSurvey 6 to LimeSurvey 7. Once LimeSurvey 7 is up and running, we will provide more information about the migration. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name                   = LimeSurvey&lt;br /&gt;
| logo                   = Limesurveyv7 logo.png&lt;br /&gt;
| logo size              = 200px&lt;br /&gt;
| logo alt               = Limesurvey&lt;br /&gt;
| screenshot             = Limesurvey_screenshot01.jpg&lt;br /&gt;
| caption                = A survey on Limesurvey with the Radboud theme&lt;br /&gt;
| developer              = &lt;br /&gt;
| installed version      = 7.0.10+260813&lt;br /&gt;
| installed version date = &amp;lt;!-- {{Start date and age|YYYY|MM|DD|df=yes}} --&amp;gt;&lt;br /&gt;
| platform               = Web&lt;br /&gt;
| language count         = 84&lt;br /&gt;
| website                = [https://survey.socsci.ru.nl/admin survey.socsci.ru.nl]&lt;br /&gt;
| resources              = &lt;br /&gt;
  {{Infobox tsg&lt;br /&gt;
    | child              = yes&lt;br /&gt;
    | header2            = &lt;br /&gt;
    | data2              = &lt;br /&gt;
    | manuals            = {{bulleted list&lt;br /&gt;
        | [http://manual.limesurvey.org/ Manual]&lt;br /&gt;
    }}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LimeSurvey is an open-source platform for making and publishing surveys. The Faculty of Social Sciences has its own Limesurvey server which all of its students and staff can use. Log on to [https://survey.socsci.ru.nl/admin survey.socsci.ru.nl/admin] with your university number/email address and password to create a survey.&lt;br /&gt;
&lt;br /&gt;
There is no limit to the number of surveys that you can make, or the number of participants in a survey. There is also no limit to the media content of the survey (e.g. you can include a feature-length movie). Scripting inside the surveys is allowed (with Javascript), enabling you to change the survey behaviour and include complicated stimuli in the survey.&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
== Login ==&lt;br /&gt;
Logging into our LimeSurvey server is done through SURFconext / Single Sign-On (SSO). The first time you log in, you will be asked to authenticate using your Radboud University credentials. After that, you can use your Radboud credentials to log in to LimeSurvey whenever needed.&lt;br /&gt;
&lt;br /&gt;
== Editor version==&lt;br /&gt;
Limesurvey v7 offers two editor versions: &#039;&#039;New&#039;&#039; and &#039;&#039;Classic&#039;&#039;. You can switch between them by clicking on your name/u-number on the home page and selecting &amp;quot;Editor Version&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*The &#039;&#039;Classic&#039;&#039; version offers a bit more control over the question and answer logic, and will be familiar to those who have used Limesurvey before.&lt;br /&gt;
*The &#039;&#039;New&#039;&#039; version has a more WYSIWYG (What you see is what you get) style interface, which makes creating and reordering questions a lot easier.&lt;br /&gt;
&lt;br /&gt;
⚠️Theme options are currently not working correctly in the New Editor. Please DO NOT make changes to the settings here.&lt;br /&gt;
&lt;br /&gt;
== Creating Surveys ==&lt;br /&gt;
There is a [https://www.socsci.ru.nl/wilberth/limesurvey/01intro.html Limesurvey beginner tutorial] for use of Limesurvey on the Radboud University Faculty of Social Sciences.&lt;br /&gt;
&lt;br /&gt;
== Publishing ==&lt;br /&gt;
Invitations to surveys can be send with a direct link to the survey (e.g. &#039;&#039;[[#Publishing | https://survey.socsci.ru.nl/index.php/123456?lang=en]]&#039;&#039;) or by referring to the main survey page &#039;&#039;[http://survey.socsci.ru.nl questions.socsci.ru.nl]&#039;&#039;. Note that in the latter case the participant has to find the survey in a list. By default surveys are not listed on the main page. Change this in the &#039;&#039;survey settings&#039;&#039; if you wish. The preferred way is using direct links. &lt;br /&gt;
&lt;br /&gt;
== Collaboration ==&lt;br /&gt;
To work with multiple people on the same survey, follow the instructions on our [[Help:LimeSurvey/Collaboration|Collaboration]] page.&lt;br /&gt;
&lt;br /&gt;
== Theme ==&lt;br /&gt;
A Radboud-branded theme called &#039;&#039;Radboud Twentythree&#039;&#039; (previously &#039;&#039;radboud&#039;&#039;) is applied to all new surveys by default. &lt;br /&gt;
&lt;br /&gt;
If you want to use a different theme, ask the administrator to activate additional themes for you and go to:&amp;lt;br/&amp;gt;&lt;br /&gt;
Settings -&amp;gt; General -&amp;gt; Theme -&amp;gt; (Select your theme) -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
Additional theme options may be available under Settings -&amp;gt; Theme Options.&lt;br /&gt;
&lt;br /&gt;
⚠️Theme options are currently not working correctly in the New Editor. Please DO NOT make changes to the settings here.&lt;br /&gt;
&lt;br /&gt;
== Sona integration ==&lt;br /&gt;
If you want to use Sona to invite people to take your survey, please follow the [http://www.sona-systems.com/help/limesurvey.aspx manual provided bij Sona]. Furthermore, if this participant ID should be stored in LimeSurvey such that it is possible to link a response to a participant ID, then you would also have to follow the instructions in the [https://manual.limesurvey.org/Panel_integration manual provided by LimeSurvery]. Please make sure to test whether it works with a [https://tsgdoc.socsci.ru.nl/index.php/Online_experiment_systems#Pilot_Run pilot run].&lt;br /&gt;
&lt;br /&gt;
Similar integrations are possible with Prolific, Mechanical Turk and other panel systems.&lt;br /&gt;
&lt;br /&gt;
= Previous Version =&lt;br /&gt;
If you have made a survey on the old Limesurvey server, you can still access it and your collected data on [https://questions.socsci.ru.nl/admin questions.socsci.ru.nl]. &amp;lt;br/&amp;gt;&lt;br /&gt;
Active surveys will continue to work as-is.&lt;br /&gt;
&lt;br /&gt;
If you wish to run a previous survey again, please migrate your survey to the current server. &lt;br /&gt;
&lt;br /&gt;
= Support =&lt;br /&gt;
If you are a faculty member at the Faculty of Social Sciences and need help using LimeSurvey, please contact [mailto:limesurvey.fsw@ru.nl limesurvey.fsw@ru.nl]. Users themselves are responsible for the creation and design of their surveys, as well as the data analysis. For technical support, contact our [[LimeSurvey/Administrators|administrator(s)]]. TSG can also offer assistance adding functionality if existing functionality is insufficient for your needs.&lt;br /&gt;
&lt;br /&gt;
= Data Storage =&lt;br /&gt;
Surveys and collected data are stored on campus. The server is not to be used for long term data storage. Please us the survey expiration data to indicate when you stop collecting data. Surveys and data may be removed after a year without prior warning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- == References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External Links== &lt;br /&gt;
* [https://survey.socsci.ru.nl/admin survey.socsci.ru.nl] (v7)&lt;br /&gt;
* [https://questions.socsci.ru.nl/admin questions.socsci.ru.nl] (v6)&lt;br /&gt;
* {{Official website|http://limesurvey.org}}&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=File:Limesurvey_screenshot01.jpg&amp;diff=6921</id>
		<title>File:Limesurvey screenshot01.jpg</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=File:Limesurvey_screenshot01.jpg&amp;diff=6921"/>
		<updated>2026-09-14T15:17:00Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: E.vandenberge uploaded a new version of File:Limesurvey screenshot01.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of the TSG Customer Survey, powered by Limesurvey.&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=7-Zip&amp;diff=6920</id>
		<title>7-Zip</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=7-Zip&amp;diff=6920"/>
		<updated>2026-09-14T14:22:57Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox software&lt;br /&gt;
| name                   = 7-Zip&lt;br /&gt;
| logo                   = 7zip.jpg&lt;br /&gt;
| screenshot             = &lt;br /&gt;
| caption                = &lt;br /&gt;
| developer              = Igor Pavlov&lt;br /&gt;
| released               = 1999&lt;br /&gt;
| discontinued           = &lt;br /&gt;
| latest release version = &lt;br /&gt;
| latest release date    = &amp;lt;!-- {{Start date and age|YYYY|MM|DD|df=yes}} --&amp;gt;&lt;br /&gt;
| latest preview version = &lt;br /&gt;
| latest preview date    = &amp;lt;!-- {{Start date and age|YYYY|MM|DD|df=yes}} --&amp;gt;&lt;br /&gt;
| installed version      = &lt;br /&gt;
| installed version date = &amp;lt;!-- {{Start date and age|YYYY|MM|DD|df=yes}} --&amp;gt;&lt;br /&gt;
| status                 = Active&lt;br /&gt;
| programming language   = &lt;br /&gt;
| operating system       = Microsoft Windows, Linux, OSX&lt;br /&gt;
| platform               = &lt;br /&gt;
| size                   = &lt;br /&gt;
| language               = &lt;br /&gt;
| genre                  = &lt;br /&gt;
| license                = GNU GPL/LGPL&lt;br /&gt;
| website                = https://www.7-zip.org/&lt;br /&gt;
| resources              = &lt;br /&gt;
  {{Infobox tsg&lt;br /&gt;
    | child              = yes&lt;br /&gt;
    | downloads          = {{bulleted list&lt;br /&gt;
        | [https://www.7-zip.org/download.html Download Latest Version]&lt;br /&gt;
    }}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
7-Zip is a free and open-source file archiver, a utility used to place groups of files within compressed containers known as &amp;quot;archives&amp;quot;. It is developed by Igor Pavlov and was first released in 1999. 7-Zip has its own archive format called 7z introduced in 2001, but can read and write several others.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Download and run the installer for your operating system from the [https://www.7-zip.org/download.html 7-zip website].&lt;br /&gt;
&lt;br /&gt;
==Archive formats==&lt;br /&gt;
By default, 7-Zip creates 7z-format archives with a .7z file extension. Each archive can contain multiple directories and files. As a container format, security or size reduction are achieved by looking for similarities throughout the data using a stacked combination of filters. These can consist of pre-processors, compression algorithms, and encryption filters.&lt;br /&gt;
&lt;br /&gt;
The core 7z compression uses a variety of algorithms, the most common of which are bzip2, PPMd, LZMA2, and LZMA. Developed by Pavlov, LZMA is a relatively new system, making its debut as part of the 7z format. LZMA uses an LZ-based sliding dictionary of up to 3840 MB in size, backed by a range coder.&lt;br /&gt;
&lt;br /&gt;
The native 7z file format is open and modular. File names are stored as Unicode.&lt;br /&gt;
&lt;br /&gt;
The 7z file format specification is distributed with the program&#039;s source code, in the &amp;quot;doc&amp;quot; sub-directory.&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=BrainStreamExampleSpellerPart5&amp;diff=6796</id>
		<title>BrainStreamExampleSpellerPart5</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=BrainStreamExampleSpellerPart5&amp;diff=6796"/>
		<updated>2026-08-12T14:32:34Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Evaluation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Example 2: Visual Speller =&lt;br /&gt;
__TOC__&lt;br /&gt;
= Part 5 =&lt;br /&gt;
&lt;br /&gt;
[[BrainStreamExampleSpellerPart4|&amp;amp;lt;- Go back to Part 4]] - [[BrainStreamExampleSpellerPart6|Continue with Part 6 -&amp;amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
In the final part of this visual speller example, we will show how to use a [[BrainStreamLoopTick|looptick function]] for stimulus presentation. The advantage of a looptick function over a normal loop function is that BrainStream can modify the loop while it is running. For example, stimulus presentation could be dynamically adapted or stopped early, based on BrainStream&#039;s estimates about which stimulus is the target.&lt;br /&gt;
== Structure of the looptick function ==&lt;br /&gt;
&lt;br /&gt;
The function for stimulus presentation, runSequence, is now implemented as a looptick function. Below is a schematic overview of this function:&lt;br /&gt;
&lt;br /&gt;
[[File:DocsSectionsExampleSpellerPart5_Flowchart1.png|645px|343x]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Figure 1: Flowchart of the runSequence looptick function.&#039;&#039; &#039;&#039;Actions indicated in orange are executed at the BrainStream Matlab session, whereas actions indicated in blue are executed at the client.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As can be seen from the flowchart, the runSequence function is executed at the client. However, functions from the BrainStream Matlab session can send information to the client to influence the behavior of the loop.&lt;br /&gt;
&lt;br /&gt;
== Looptick function ==&lt;br /&gt;
&lt;br /&gt;
This is the runSequence looptick function (together with explanations in italics):&lt;br /&gt;
&amp;lt;pre&amp;gt;function [ev, stoploop, waittime] = runSequence(ev, tick_count, abort_loop)&lt;br /&gt;
&lt;br /&gt;
persistent uservars;&lt;br /&gt;
waittime = 0; % init&lt;br /&gt;
&lt;br /&gt;
isi = 0.2; % inter-stimulus-interval&lt;br /&gt;
if tick_count == 1 % first tick&lt;br /&gt;
    init_loop;&lt;br /&gt;
end&lt;br /&gt;
toc;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The first time the runSequence looptick function is called (e.g. if tick_count is 1), the init_loop function (see [.DocsSectionsExampleSpellerPart5#InitLoop below]) will be executed. This function initializes some variables and starts a stopwatch.&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;if abort_loop&lt;br /&gt;
    disp(&#039;New processing pipeline received from [[BrainStream|Brain Stream]]&#039;);&lt;br /&gt;
    exit_loop;&lt;br /&gt;
    return&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If an error occurs on the BrainStream side or a new job (processing pipeline or event) was sent, BrainStream will set abort_loop to 1 during the next call to the looptick function to finish the current loop. You can use this feature to define some steps to finalize your loop before BrainStream quits. In this case, a message will be displayed on the command screen and the exit_loop function (see [[BrainStreamExampleSpellerPart5#ExitLoop|below]]) will be executed. This function sends a hardware marker to the data source to indicate the end of processing.&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;try&lt;br /&gt;
    [newvars, success] = bs_recv_user_brainstream(ev, &#039;stim&#039;,0,0); % check for new information from [[BrainStream|Brain Stream]] &lt;br /&gt;
    if ~isempty(newvars)&lt;br /&gt;
        uservars = [uservars, newvars];&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    if ~isempty(uservars) &amp;amp;&amp;amp; isempty(uservars{1})&lt;br /&gt;
        disp(&#039;Exiting loop by user request&#039;)&lt;br /&gt;
        exit_loop;&lt;br /&gt;
        return;&lt;br /&gt;
    end&lt;br /&gt;
    if success &amp;gt;= 0 || ~isempty(uservars) % get feedback info&lt;br /&gt;
        for n = 1 : numel(uservars)&lt;br /&gt;
            disp(uservars{n});          &lt;br /&gt;
            ev.flashStyle = uservars{n};&lt;br /&gt;
        end&lt;br /&gt;
        uservars = {};&lt;br /&gt;
    end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;margin: 0px 0px 0px 30px; border-style: none; padding: 0px&amp;quot;&amp;gt;&amp;lt;em&amp;gt;The function now checks if there is new information sent to the client from the BrainStream side. If there are new variables available, they will be added to the uservars variable. If the variable that was sent is empty, this means that the loop should be ended. Therefore, the [[BrainStreamExampleSpellerPart5#ExitLoop|exit_loop]] function will be executed.&amp;lt;/em&amp;gt;&amp;lt;/blockquote&amp;gt; &amp;lt;pre&amp;gt;    if ~ev.flashed&lt;br /&gt;
        ev = highlightGrid(ev);  % randomly highlight row or column and send stim_## marker&lt;br /&gt;
    else&lt;br /&gt;
        ev = showGrid(ev); % dim higlighted row or column&lt;br /&gt;
        ev = bs_send_hardware_marker(ev,&#039;highlightOff&#039;,&#039;eeg&#039;); % also mark this moment&lt;br /&gt;
    end&lt;br /&gt;
    ev.flashed = ~ev.flashed;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;margin: 0px 0px 0px 30px; border-style: none; padding: 0px&amp;quot;&amp;gt;&amp;lt;em&amp;gt;Every time the looptick function is called, rows and columns on the screen should be highlighted or dimmed alternately. The field of the event structure called &#039;flashed&#039; keeps track of whether the last stimulus was a flash or the dimmed grid. This is possible because all calls to the looptick function belong to the same event. If the last stimulus was a flash, the grid will be dimmed, and if the last stimulus was the dimmed grid, a row or column will be highlighted. Afterwards, the logical value of the ev.flashed variable is inverted.&amp;lt;/em&amp;gt;&amp;lt;/blockquote&amp;gt; &amp;lt;pre&amp;gt;    if tick_count &amp;gt;= 2*bs_get_blockvalue(ev,&#039;Experiment&#039;,&#039;nRep&#039;,10) % check if at end of sequence (NB: tick_count adds 2 per stimulus cycle)&lt;br /&gt;
        exit_loop();&lt;br /&gt;
    else&lt;br /&gt;
        stoploop = 0;&lt;br /&gt;
    end &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;margin: 0px 0px 0px 30px; border-style: none; padding: 0px&amp;quot;&amp;gt;&amp;lt;em&amp;gt;The function now checks if the sequence is finished. If all stimuli have been presented, the [.DocsSectionsExampleSpellerPart5#ExitLoop exit_loop] function will be executed. Otherwise, the stoploop variable will remain 0, which ensures the looptick function is called again.&amp;lt;/em&amp;gt;&amp;lt;/blockquote&amp;gt; &amp;lt;pre&amp;gt;    waittime = max(0, tick_count*(isi/2)-toc); % determine time to wait before calling tick function again&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;margin: 0px 0px 0px 30px; border-style: none; padding: 0px&amp;quot;&amp;gt;&amp;lt;em&amp;gt;A change in the grid should occur every 100 ms (isi/2). In order to achieve this, we can set the waittime variable. When the loop is initialized, the tic command starts the stopwatch. Each time the loop is called again, the toc command measures the time between the first looptick call and the present time. To determine the value of waittime, we take the time at which the stimulus should occur (tick_count*(isi/2)) and subtract from it the time that has passed already (toc). If the time at which the stimulus was supposed to occur has already passed, waittime is set to 0.&amp;lt;/em&amp;gt;&amp;lt;/blockquote&amp;gt; &amp;lt;pre&amp;gt;catch&lt;br /&gt;
    err = lasterror;&lt;br /&gt;
    exit_loop;&lt;br /&gt;
    rethrow(err);&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If an error occurs during the execution of the looptick function, the [.DocsSectionsExampleSpellerPart5#ExitLoop exit_loop] function will be executed.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;InitLoop&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the init_loop function:&lt;br /&gt;
&amp;lt;pre&amp;gt;function init_loop&lt;br /&gt;
    [uservars] = bs_recv_user_brainstream(ev, &#039;stim&#039;); % read user socket, just to flush&lt;br /&gt;
    uservars = {};&lt;br /&gt;
    ev.flashed = 0;&lt;br /&gt;
    tic;&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;ExitLoop&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the exit_loop function:&lt;br /&gt;
&amp;lt;pre&amp;gt;function exit_loop&lt;br /&gt;
    ev = bs_send_hardware_marker(ev,&#039;endSequence&#039;,&#039;eeg&#039;); &lt;br /&gt;
    stoploop = 1;&lt;br /&gt;
end&lt;br /&gt;
end &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other changes to the speller ==&lt;br /&gt;
&lt;br /&gt;
If you test this example, you will notice that the speller grid has changed from the previous examples. It now contains 36 elements: all letters of the alphabet and the numbers 0-9. This change has been accomplished by changing the key &#039;symbols&#039; under topic &#039;Experiment&#039; in the speller_common blockfile. By changing the blockfile, you can easily change the contents of the speller matrix.&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
&lt;br /&gt;
You can find a [[BrainStreamLogFile|log file]] of this experiment [[Media:BrainStreamExampleSpellerPart5_Logfile_spellerpart5.docx|here]]{{Dead link}}. From this log file, we can determine the timing accuracy of the stimuli. Below are log file entries for the first and last five stimuli of one sequence:&lt;br /&gt;
&amp;lt;pre&amp;gt;10Jan12|11:09:46.701 INFO &amp;gt;	&#039;&#039;&#039;***&#039;&#039;&#039; (                  stim_11) &#039;&#039;&#039;*************************************************************&#039;&#039;&#039;&lt;br /&gt;
10Jan12|11:09:46.702 INFO &amp;gt;	225.95 (eeg:#40127.00)   225.95   226.05	act: modvar	(t=EVENT)	stim_11&lt;br /&gt;
&lt;br /&gt;
10Jan12|11:09:46.901 INFO &amp;gt;	&#039;&#039;&#039;***&#039;&#039;&#039; (                   stim_4) &#039;&#039;&#039;*************************************************************&#039;&#039;&#039;&lt;br /&gt;
10Jan12|11:09:46.901 INFO &amp;gt;	226.15 (eeg:#40178.00)   226.15   226.25	act: modvar	(t=EVENT)	stim_4&lt;br /&gt;
&lt;br /&gt;
10Jan12|11:09:47.101 INFO &amp;gt;	&#039;&#039;&#039;***&#039;&#039;&#039; (                  stim_12) &#039;&#039;&#039;*************************************************************&#039;&#039;&#039;&lt;br /&gt;
10Jan12|11:09:47.101 INFO &amp;gt;	226.34 (eeg:#40229.00)   226.34   226.45	act: modvar	(t=EVENT)	stim_1&lt;br /&gt;
&lt;br /&gt;
10Jan12|11:09:47.307 INFO &amp;gt;	&#039;&#039;&#039;***&#039;&#039;&#039; (                   stim_5) &#039;&#039;&#039;*************************************************************&#039;&#039;&#039;&lt;br /&gt;
10Jan12|11:09:47.308 INFO &amp;gt;	226.55 (eeg:#40281.00)   226.55   226.65	act: modvar	(t=EVENT)	stim_5&lt;br /&gt;
&lt;br /&gt;
10Jan12|11:09:47.512 INFO &amp;gt;	&#039;&#039;&#039;***&#039;&#039;&#039; (                  stim_10) &#039;&#039;&#039;*************************************************************&#039;&#039;&#039;&lt;br /&gt;
10Jan12|11:09:47.512 INFO &amp;gt;	226.75 (eeg:#40332.00)   226.75   226.86	act: modvar	(t=EVENT)	stim_10&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
10Jan12|11:10:05.706 INFO &amp;gt;	&#039;&#039;&#039;***&#039;&#039;&#039; (                   stim_2) &#039;&#039;&#039;*************************************************************&#039;&#039;&#039;&lt;br /&gt;
10Jan12|11:10:05.706 INFO &amp;gt;	244.95 (eeg:#44991.00)   244.95   245.05	act: modvar	(t=EVENT)	stim_2&lt;br /&gt;
&lt;br /&gt;
10Jan12|11:10:05.908 INFO &amp;gt;	&#039;&#039;&#039;***&#039;&#039;&#039; (                   stim_9) &#039;&#039;&#039;*************************************************************&#039;&#039;&#039;&lt;br /&gt;
10Jan12|11:10:05.908 INFO &amp;gt;	245.15 (eeg:#45042.00)   245.15   245.25	act: modvar	(t=EVENT)	stim_9&lt;br /&gt;
&lt;br /&gt;
10Jan12|11:10:06.107 INFO &amp;gt;	&#039;&#039;&#039;***&#039;&#039;&#039; (                   stim_4) &#039;&#039;&#039;*************************************************************&#039;&#039;&#039;&lt;br /&gt;
10Jan12|11:10:06.108 INFO &amp;gt;	245.34 (eeg:#45093.00)   245.34   245.45	act: modvar	(t=EVENT)	stim_4&lt;br /&gt;
&lt;br /&gt;
10Jan12|11:10:06.314 INFO &amp;gt;	&#039;&#039;&#039;***&#039;&#039;&#039; (                   stim_7) &#039;&#039;&#039;*************************************************************&#039;&#039;&#039;&lt;br /&gt;
10Jan12|11:10:06.315 INFO &amp;gt;	245.55 (eeg:#45145.00)   245.55   245.66	act: modvar	(t=EVENT)	stim_7&lt;br /&gt;
&lt;br /&gt;
10Jan12|11:10:06.507 INFO &amp;gt;	&#039;&#039;&#039;***&#039;&#039;&#039; (                   stim_6) &#039;&#039;&#039;*************************************************************&#039;&#039;&#039;&lt;br /&gt;
10Jan12|11:10:06.508 INFO &amp;gt;	245.75 (eeg:#45196.00)   245.75   245.85	act: modvar	(t=EVENT)	stim_6	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The stim_# markers are sent each time a row or column of the matrix is flashed, so every 200 ms one of these markers should arrive. In the log file, the first number in each line (after the date and time stamp) indicates the time at which the marker arrived. This indeed happens every 0.2 seconds. The time between two successive stimuli also remains stable over the sequence.&lt;br /&gt;
&lt;br /&gt;
Nevertheless, the timing accuracy is not perfect, sometimes jitters occur of approximately 10 ms. If you need even more accurate timing, you should use BrainStream in combination with a toolbox that is specifically designed for stimulus presentation, such as [http://psychtoolbox.org Psychtoolbox].&lt;br /&gt;
&lt;br /&gt;
[[BrainStreamExampleSpellerPart4|&amp;amp;lt;- Go back to Part 4]] - [[BrainStreamExampleSpellerPart6|Continue with Part 6 -&amp;amp;gt;]]&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Module:Message_box/configuration&amp;diff=6795</id>
		<title>Module:Message box/configuration</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Module:Message_box/configuration&amp;diff=6795"/>
		<updated>2026-08-12T14:30:25Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: Protected &amp;quot;Module:Message box/configuration&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--------------------------------------------------------------------------------&lt;br /&gt;
--                          Message box configuration                         --&lt;br /&gt;
--                                                                            --&lt;br /&gt;
-- This module contains configuration data for [[Module:Message box]].        --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	ambox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;ambox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;ambox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;ambox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;ambox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;ambox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;ambox-protection&#039;,&lt;br /&gt;
				image = &#039;Semi-protection-shackle-keyhole.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;ambox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default                     = &#039;notice&#039;,&lt;br /&gt;
		allowBlankParams            = {&#039;talk&#039;, &#039;sect&#039;, &#039;date&#039;, &#039;issue&#039;, &#039;fix&#039;, &#039;subst&#039;, &#039;hidden&#039;},&lt;br /&gt;
		allowSmall                  = true,&lt;br /&gt;
		smallParam                  = &#039;left&#039;,&lt;br /&gt;
		smallClass                  = &#039;mbox-small-left&#039;,&lt;br /&gt;
		substCheck                  = true,&lt;br /&gt;
		classes                     = {&#039;metadata&#039;, &#039;ambox&#039;},&lt;br /&gt;
		imageEmptyCell              = true,&lt;br /&gt;
		imageCheckBlank             = true,&lt;br /&gt;
		imageSmallSize              = &#039;20x20px&#039;,&lt;br /&gt;
		imageCellDiv                = true,&lt;br /&gt;
		useCollapsibleTextFields    = true,&lt;br /&gt;
		imageRightNone              = true,&lt;br /&gt;
		sectionDefault              = &#039;article&#039;,&lt;br /&gt;
		allowMainspaceCategories    = true,&lt;br /&gt;
		templateCategory            = &#039;Article message templates&#039;,&lt;br /&gt;
	        templateCategoryRequireName = true,&lt;br /&gt;
		templateErrorCategory       = &#039;Article message templates with missing parameters&#039;,&lt;br /&gt;
		templateErrorParamsToCheck  = {&#039;issue&#039;, &#039;fix&#039;, &#039;subst&#039;},&lt;br /&gt;
		removalNotice               = &#039;&amp;lt;small&amp;gt;[[Help:Maintenance template removal|Learn how and when to remove this message]]&amp;lt;/small&amp;gt;&#039;,&lt;br /&gt;
		templatestyles              = &#039;Module:Message box/ambox.css&#039;&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	cmbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;cmbox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;cmbox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;cmbox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;cmbox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;cmbox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;cmbox-protection&#039;,&lt;br /&gt;
				image = &#039;Semi-protection-shackle-keyhole.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;cmbox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;cmbox&#039;},&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		templatestyles       = &#039;Module:Message box/cmbox.css&#039;,&lt;br /&gt;
		div_structure        = true,&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	fmbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			warning = {&lt;br /&gt;
				class = &#039;fmbox-warning&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			editnotice = {&lt;br /&gt;
				class = &#039;fmbox-editnotice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			system = {&lt;br /&gt;
				class = &#039;fmbox-system&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;system&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;fmbox&#039;},&lt;br /&gt;
		imageEmptyCell       = false,&lt;br /&gt;
		imageRightNone       = false,&lt;br /&gt;
		templatestyles       = &#039;Module:Message box/fmbox.css&#039;,&lt;br /&gt;
		div_structure        = true,&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	imbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;imbox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;imbox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;imbox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;imbox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;imbox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;imbox-protection&#039;,&lt;br /&gt;
				image = &#039;Semi-protection-shackle-keyhole.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			license = {&lt;br /&gt;
				class = &#039;imbox-license licensetpl&#039;,&lt;br /&gt;
				image = &#039;Imbox-license.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			[&amp;quot;license-related&amp;quot;] = {&lt;br /&gt;
				class = &#039;imbox-license&#039;,&lt;br /&gt;
				image = &#039;Imbox-license.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			featured = {&lt;br /&gt;
				class = &#039;imbox-featured&#039;,&lt;br /&gt;
				image = &#039;Cscr-featured.svg&#039;,&lt;br /&gt;
				imageNeedsLink = true&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;imbox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;imbox&#039;},&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		below                = true,&lt;br /&gt;
		templateCategory     = &#039;File message boxes&#039;,&lt;br /&gt;
		templatestyles       = &#039;Module:Message box/imbox.css&#039;,&lt;br /&gt;
		div_structure        = true,&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	ombox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;ombox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;ombox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;ombox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;ombox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;ombox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;ombox-protection&#039;,&lt;br /&gt;
				image = &#039;Semi-protection-shackle-keyhole.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;ombox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;ombox&#039;},&lt;br /&gt;
		allowSmall           = true,&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		imageRightNone       = true,&lt;br /&gt;
		templatestyles       = &#039;Module:Message box/ombox.css&#039;&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	tmbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;tmbox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;tmbox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;tmbox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;tmbox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;tmbox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;tmbox-protection&#039;,&lt;br /&gt;
				image = &#039;Semi-protection-shackle-keyhole.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;tmbox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;tmbox&#039;},&lt;br /&gt;
		allowSmall           = true,&lt;br /&gt;
		imageRightNone       = true,&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		templateCategory     = &#039;Talk message boxes&#039;,&lt;br /&gt;
		templatestyles       = &#039;Module:Message box/tmbox.css&#039;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Module:Message_box&amp;diff=6794</id>
		<title>Module:Message box</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Module:Message_box&amp;diff=6794"/>
		<updated>2026-08-12T14:30:11Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: Protected &amp;quot;Module:Message box&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This is a meta-module for producing message box templates, including&lt;br /&gt;
-- {{mbox}}, {{ambox}}, {{imbox}}, {{tmbox}}, {{ombox}}, {{cmbox}} and {{fmbox}}.&lt;br /&gt;
&lt;br /&gt;
-- Load necessary modules.&lt;br /&gt;
require(&#039;Module:No globals&#039;)&lt;br /&gt;
local getArgs&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
&lt;br /&gt;
-- Get a language object for formatDate and ucfirst.&lt;br /&gt;
local lang = mw.language.getContentLanguage()&lt;br /&gt;
&lt;br /&gt;
-- Define constants&lt;br /&gt;
local CONFIG_MODULE = &#039;Module:Message box/configuration&#039;&lt;br /&gt;
local DEMOSPACES = {talk = &#039;tmbox&#039;, image = &#039;imbox&#039;, file = &#039;imbox&#039;, category = &#039;cmbox&#039;, article = &#039;ambox&#039;, main = &#039;ambox&#039;}&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Helper functions&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local function getTitleObject(...)&lt;br /&gt;
	-- Get the title object, passing the function through pcall&lt;br /&gt;
	-- in case we are over the expensive function count limit.&lt;br /&gt;
	local success, title = pcall(mw.title.new, ...)&lt;br /&gt;
	if success then&lt;br /&gt;
		return title&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function union(t1, t2)&lt;br /&gt;
	-- Returns the union of two arrays.&lt;br /&gt;
	local vals = {}&lt;br /&gt;
	for i, v in ipairs(t1) do&lt;br /&gt;
		vals[v] = true&lt;br /&gt;
	end&lt;br /&gt;
	for i, v in ipairs(t2) do&lt;br /&gt;
		vals[v] = true&lt;br /&gt;
	end&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for k in pairs(vals) do&lt;br /&gt;
		table.insert(ret, k)&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(ret)&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getArgNums(args, prefix)&lt;br /&gt;
	local nums = {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		local num = mw.ustring.match(tostring(k), &#039;^&#039; .. prefix .. &#039;([1-9]%d*)$&#039;)&lt;br /&gt;
		if num then&lt;br /&gt;
			table.insert(nums, tonumber(num))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(nums)&lt;br /&gt;
	return nums&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Box class definition&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local MessageBox = {}&lt;br /&gt;
MessageBox.__index = MessageBox&lt;br /&gt;
&lt;br /&gt;
function MessageBox.new(boxType, args, cfg)&lt;br /&gt;
	args = args or {}&lt;br /&gt;
	local obj = {}&lt;br /&gt;
&lt;br /&gt;
	-- Set the title object and the namespace.&lt;br /&gt;
	obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle()&lt;br /&gt;
&lt;br /&gt;
	-- Set the config for our box type.&lt;br /&gt;
	obj.cfg = cfg[boxType]&lt;br /&gt;
	if not obj.cfg then&lt;br /&gt;
		local ns = obj.title.namespace&lt;br /&gt;
		-- boxType is &amp;quot;mbox&amp;quot; or invalid input&lt;br /&gt;
		if args.demospace and args.demospace ~= &#039;&#039; then&lt;br /&gt;
			-- implement demospace parameter of mbox&lt;br /&gt;
			local demospace = string.lower(args.demospace)&lt;br /&gt;
			if DEMOSPACES[demospace] then&lt;br /&gt;
				-- use template from DEMOSPACES&lt;br /&gt;
				obj.cfg = cfg[DEMOSPACES[demospace]]&lt;br /&gt;
			elseif string.find( demospace, &#039;talk&#039; ) then&lt;br /&gt;
				-- demo as a talk page&lt;br /&gt;
				obj.cfg = cfg.tmbox&lt;br /&gt;
			else&lt;br /&gt;
				-- default to ombox&lt;br /&gt;
				obj.cfg = cfg.ombox&lt;br /&gt;
			end&lt;br /&gt;
		elseif ns == 0 then&lt;br /&gt;
			obj.cfg = cfg.ambox -- main namespace&lt;br /&gt;
		elseif ns == 6 then&lt;br /&gt;
			obj.cfg = cfg.imbox -- file namespace&lt;br /&gt;
		elseif ns == 14 then&lt;br /&gt;
			obj.cfg = cfg.cmbox -- category namespace&lt;br /&gt;
		else&lt;br /&gt;
			local nsTable = mw.site.namespaces[ns]&lt;br /&gt;
			if nsTable and nsTable.isTalk then&lt;br /&gt;
				obj.cfg = cfg.tmbox -- any talk namespace&lt;br /&gt;
			else&lt;br /&gt;
				obj.cfg = cfg.ombox -- other namespaces or invalid input&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the arguments, and remove all blank arguments except for the ones&lt;br /&gt;
	-- listed in cfg.allowBlankParams.&lt;br /&gt;
	do&lt;br /&gt;
		local newArgs = {}&lt;br /&gt;
		for k, v in pairs(args) do&lt;br /&gt;
			if v ~= &#039;&#039; then&lt;br /&gt;
				newArgs[k] = v&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for i, param in ipairs(obj.cfg.allowBlankParams or {}) do&lt;br /&gt;
			newArgs[param] = args[param]&lt;br /&gt;
		end&lt;br /&gt;
		obj.args = newArgs&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Define internal data structure.&lt;br /&gt;
	obj.categories = {}&lt;br /&gt;
	obj.classes = {}&lt;br /&gt;
	-- For lazy loading of [[Module:Category handler]].&lt;br /&gt;
	obj.hasCategories = false&lt;br /&gt;
&lt;br /&gt;
	return setmetatable(obj, MessageBox)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:addCat(ns, cat, sort)&lt;br /&gt;
	if not cat then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if sort then&lt;br /&gt;
		cat = string.format(&#039;[[Category:%s|%s]]&#039;, cat, sort)&lt;br /&gt;
	else&lt;br /&gt;
		cat = string.format(&#039;[[Category:%s]]&#039;, cat)&lt;br /&gt;
	end&lt;br /&gt;
	self.hasCategories = true&lt;br /&gt;
	self.categories[ns] = self.categories[ns] or {}&lt;br /&gt;
	table.insert(self.categories[ns], cat)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:addClass(class)&lt;br /&gt;
	if not class then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(self.classes, class)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setParameters()&lt;br /&gt;
	local args = self.args&lt;br /&gt;
	local cfg = self.cfg&lt;br /&gt;
&lt;br /&gt;
	-- Get type data.&lt;br /&gt;
	self.type = args.type&lt;br /&gt;
	local typeData = cfg.types[self.type]&lt;br /&gt;
	self.invalidTypeError = cfg.showInvalidTypeError&lt;br /&gt;
		and self.type&lt;br /&gt;
		and not typeData&lt;br /&gt;
	typeData = typeData or cfg.types[cfg.default]&lt;br /&gt;
	self.typeClass = typeData.class&lt;br /&gt;
	self.typeImage = typeData.image&lt;br /&gt;
&lt;br /&gt;
	-- Find if the box has been wrongly substituted.&lt;br /&gt;
	self.isSubstituted = cfg.substCheck and args.subst == &#039;SUBST&#039;&lt;br /&gt;
&lt;br /&gt;
	-- Find whether we are using a small message box.&lt;br /&gt;
	self.isSmall = cfg.allowSmall and (&lt;br /&gt;
		cfg.smallParam and args.small == cfg.smallParam&lt;br /&gt;
		or not cfg.smallParam and yesno(args.small)&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	-- Add attributes, classes and styles.&lt;br /&gt;
	self.id = args.id&lt;br /&gt;
	self.name = args.name&lt;br /&gt;
	if self.name then&lt;br /&gt;
		self:addClass(&#039;box-&#039; .. string.gsub(self.name,&#039; &#039;,&#039;_&#039;))&lt;br /&gt;
	end&lt;br /&gt;
	if yesno(args.plainlinks) ~= false then&lt;br /&gt;
		self:addClass(&#039;plainlinks&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	for _, class in ipairs(cfg.classes or {}) do&lt;br /&gt;
		self:addClass(class)&lt;br /&gt;
	end&lt;br /&gt;
	if self.isSmall then&lt;br /&gt;
		self:addClass(cfg.smallClass or &#039;mbox-small&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	self:addClass(self.typeClass)&lt;br /&gt;
	self:addClass(args.class)&lt;br /&gt;
	self.style = args.style&lt;br /&gt;
	self.attrs = args.attrs&lt;br /&gt;
&lt;br /&gt;
	-- Set text style.&lt;br /&gt;
	self.textstyle = args.textstyle&lt;br /&gt;
&lt;br /&gt;
	-- Find if we are on the template page or not. This functionality is only&lt;br /&gt;
	-- used if useCollapsibleTextFields is set, or if both cfg.templateCategory&lt;br /&gt;
	-- and cfg.templateCategoryRequireName are set.&lt;br /&gt;
	self.useCollapsibleTextFields = cfg.useCollapsibleTextFields&lt;br /&gt;
	if self.useCollapsibleTextFields&lt;br /&gt;
		or cfg.templateCategory&lt;br /&gt;
		and cfg.templateCategoryRequireName&lt;br /&gt;
	then&lt;br /&gt;
		if self.name then&lt;br /&gt;
			local templateName = mw.ustring.match(&lt;br /&gt;
				self.name,&lt;br /&gt;
				&#039;^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$&#039;&lt;br /&gt;
			) or self.name&lt;br /&gt;
			templateName = &#039;Template:&#039; .. templateName&lt;br /&gt;
			self.templateTitle = getTitleObject(templateName)&lt;br /&gt;
		end&lt;br /&gt;
		self.isTemplatePage = self.templateTitle&lt;br /&gt;
			and mw.title.equals(self.title, self.templateTitle)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Process data for collapsible text fields. At the moment these are only&lt;br /&gt;
	-- used in {{ambox}}.&lt;br /&gt;
	if self.useCollapsibleTextFields then&lt;br /&gt;
		-- Get the self.issue value.&lt;br /&gt;
		if self.isSmall and args.smalltext then&lt;br /&gt;
			self.issue = args.smalltext&lt;br /&gt;
		else&lt;br /&gt;
			local sect&lt;br /&gt;
			if args.sect == &#039;&#039; then&lt;br /&gt;
				sect = &#039;This &#039; .. (cfg.sectionDefault or &#039;page&#039;)&lt;br /&gt;
			elseif type(args.sect) == &#039;string&#039; then&lt;br /&gt;
				sect = &#039;This &#039; .. args.sect&lt;br /&gt;
			end&lt;br /&gt;
			local issue = args.issue&lt;br /&gt;
			issue = type(issue) == &#039;string&#039; and issue ~= &#039;&#039; and issue or nil&lt;br /&gt;
			local text = args.text&lt;br /&gt;
			text = type(text) == &#039;string&#039; and text or nil&lt;br /&gt;
			local issues = {}&lt;br /&gt;
			table.insert(issues, sect)&lt;br /&gt;
			table.insert(issues, issue)&lt;br /&gt;
			table.insert(issues, text)&lt;br /&gt;
			self.issue = table.concat(issues, &#039; &#039;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- Get the self.talk value.&lt;br /&gt;
		local talk = args.talk&lt;br /&gt;
		-- Show talk links on the template page or template subpages if the talk&lt;br /&gt;
		-- parameter is blank.&lt;br /&gt;
		if talk == &#039;&#039;&lt;br /&gt;
			and self.templateTitle&lt;br /&gt;
			and (&lt;br /&gt;
				mw.title.equals(self.templateTitle, self.title)&lt;br /&gt;
				or self.title:isSubpageOf(self.templateTitle)&lt;br /&gt;
			)&lt;br /&gt;
		then&lt;br /&gt;
			talk = &#039;#&#039;&lt;br /&gt;
		elseif talk == &#039;&#039; then&lt;br /&gt;
			talk = nil&lt;br /&gt;
		end&lt;br /&gt;
		if talk then&lt;br /&gt;
			-- If the talk value is a talk page, make a link to that page. Else&lt;br /&gt;
			-- assume that it&#039;s a section heading, and make a link to the talk&lt;br /&gt;
			-- page of the current page with that section heading.&lt;br /&gt;
			local talkTitle = getTitleObject(talk)&lt;br /&gt;
			local talkArgIsTalkPage = true&lt;br /&gt;
			if not talkTitle or not talkTitle.isTalkPage then&lt;br /&gt;
				talkArgIsTalkPage = false&lt;br /&gt;
				talkTitle = getTitleObject(&lt;br /&gt;
					self.title.text,&lt;br /&gt;
					mw.site.namespaces[self.title.namespace].talk.id&lt;br /&gt;
				)&lt;br /&gt;
			end&lt;br /&gt;
			if talkTitle and talkTitle.exists then&lt;br /&gt;
				local talkText = &#039;Relevant discussion may be found on&#039;&lt;br /&gt;
				if talkArgIsTalkPage then&lt;br /&gt;
					talkText = string.format(&lt;br /&gt;
						&#039;%s [[%s|%s]].&#039;,&lt;br /&gt;
						talkText,&lt;br /&gt;
						talk,&lt;br /&gt;
						talkTitle.prefixedText&lt;br /&gt;
					)&lt;br /&gt;
				else&lt;br /&gt;
					talkText = string.format(&lt;br /&gt;
						&#039;%s the [[%s#%s|talk page]].&#039;,&lt;br /&gt;
						talkText,&lt;br /&gt;
						talkTitle.prefixedText,&lt;br /&gt;
						talk&lt;br /&gt;
					)&lt;br /&gt;
				end&lt;br /&gt;
				self.talk = talkText&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- Get other values.&lt;br /&gt;
		self.fix = args.fix ~= &#039;&#039; and args.fix or nil&lt;br /&gt;
		local date&lt;br /&gt;
		if args.date and args.date ~= &#039;&#039; then&lt;br /&gt;
			date = args.date&lt;br /&gt;
		elseif args.date == &#039;&#039; and self.isTemplatePage then&lt;br /&gt;
			date = lang:formatDate(&#039;F Y&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		if date then&lt;br /&gt;
			self.date = string.format(&amp;quot; &amp;lt;small class=&#039;date-container&#039;&amp;gt;&#039;&#039;(&amp;lt;span class=&#039;date&#039;&amp;gt;%s&amp;lt;/span&amp;gt;)&#039;&#039;&amp;lt;/small&amp;gt;&amp;quot;, date)&lt;br /&gt;
		end&lt;br /&gt;
		self.info = args.info&lt;br /&gt;
		if yesno(args.removalnotice) then&lt;br /&gt;
			self.removalNotice = cfg.removalNotice&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the non-collapsible text field. At the moment this is used by all box&lt;br /&gt;
	-- types other than ambox, and also by ambox when small=yes.&lt;br /&gt;
	if self.isSmall then&lt;br /&gt;
		self.text = args.smalltext or args.text&lt;br /&gt;
	else&lt;br /&gt;
		self.text = args.text&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the below row.&lt;br /&gt;
	self.below = cfg.below and args.below&lt;br /&gt;
&lt;br /&gt;
	-- General image settings.&lt;br /&gt;
	self.imageCellDiv = not self.isSmall and cfg.imageCellDiv&lt;br /&gt;
	self.imageEmptyCell = cfg.imageEmptyCell&lt;br /&gt;
	if cfg.imageEmptyCellStyle then&lt;br /&gt;
		self.imageEmptyCellStyle = &#039;border:none;padding:0px;width:1px&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Left image settings.&lt;br /&gt;
	local imageLeft = self.isSmall and args.smallimage or args.image&lt;br /&gt;
	if cfg.imageCheckBlank and imageLeft ~= &#039;blank&#039; and imageLeft ~= &#039;none&#039;&lt;br /&gt;
		or not cfg.imageCheckBlank and imageLeft ~= &#039;none&#039;&lt;br /&gt;
	then&lt;br /&gt;
		self.imageLeft = imageLeft&lt;br /&gt;
		if not imageLeft then&lt;br /&gt;
			local imageSize = self.isSmall&lt;br /&gt;
				and (cfg.imageSmallSize or &#039;30x30px&#039;)&lt;br /&gt;
				or &#039;40x40px&#039;&lt;br /&gt;
			self.imageLeft = string.format(&#039;[[File:%s|%s|link=|alt=]]&#039;, self.typeImage&lt;br /&gt;
				or &#039;Imbox notice.png&#039;, imageSize)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Right image settings.&lt;br /&gt;
	local imageRight = self.isSmall and args.smallimageright or args.imageright&lt;br /&gt;
	if not (cfg.imageRightNone and imageRight == &#039;none&#039;) then&lt;br /&gt;
		self.imageRight = imageRight&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setMainspaceCategories()&lt;br /&gt;
	local args = self.args&lt;br /&gt;
	local cfg = self.cfg&lt;br /&gt;
&lt;br /&gt;
	if not cfg.allowMainspaceCategories then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local nums = {}&lt;br /&gt;
	for _, prefix in ipairs{&#039;cat&#039;, &#039;category&#039;, &#039;all&#039;} do&lt;br /&gt;
		args[prefix .. &#039;1&#039;] = args[prefix]&lt;br /&gt;
		nums = union(nums, getArgNums(args, prefix))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- The following is roughly equivalent to the old {{Ambox/category}}.&lt;br /&gt;
	local date = args.date&lt;br /&gt;
	date = type(date) == &#039;string&#039; and date&lt;br /&gt;
	local preposition = &#039;from&#039;&lt;br /&gt;
	for _, num in ipairs(nums) do&lt;br /&gt;
		local mainCat = args[&#039;cat&#039; .. tostring(num)]&lt;br /&gt;
			or args[&#039;category&#039; .. tostring(num)]&lt;br /&gt;
		local allCat = args[&#039;all&#039; .. tostring(num)]&lt;br /&gt;
		mainCat = type(mainCat) == &#039;string&#039; and mainCat&lt;br /&gt;
		allCat = type(allCat) == &#039;string&#039; and allCat&lt;br /&gt;
		if mainCat and date and date ~= &#039;&#039; then&lt;br /&gt;
			local catTitle = string.format(&#039;%s %s %s&#039;, mainCat, preposition, date)&lt;br /&gt;
			self:addCat(0, catTitle)&lt;br /&gt;
			catTitle = getTitleObject(&#039;Category:&#039; .. catTitle)&lt;br /&gt;
			if not catTitle or not catTitle.exists then&lt;br /&gt;
				self:addCat(0, &#039;Articles with invalid date parameter in template&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		elseif mainCat and (not date or date == &#039;&#039;) then&lt;br /&gt;
			self:addCat(0, mainCat)&lt;br /&gt;
		end&lt;br /&gt;
		if allCat then&lt;br /&gt;
			self:addCat(0, allCat)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setTemplateCategories()&lt;br /&gt;
	local args = self.args&lt;br /&gt;
	local cfg = self.cfg&lt;br /&gt;
&lt;br /&gt;
	-- Add template categories.&lt;br /&gt;
	if cfg.templateCategory then&lt;br /&gt;
		if cfg.templateCategoryRequireName then&lt;br /&gt;
			if self.isTemplatePage then&lt;br /&gt;
				self:addCat(10, cfg.templateCategory)&lt;br /&gt;
			end&lt;br /&gt;
		elseif not self.title.isSubpage then&lt;br /&gt;
			self:addCat(10, cfg.templateCategory)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add template error categories.&lt;br /&gt;
	if cfg.templateErrorCategory then&lt;br /&gt;
		local templateErrorCategory = cfg.templateErrorCategory&lt;br /&gt;
		local templateCat, templateSort&lt;br /&gt;
		if not self.name and not self.title.isSubpage then&lt;br /&gt;
			templateCat = templateErrorCategory&lt;br /&gt;
		elseif self.isTemplatePage then&lt;br /&gt;
			local paramsToCheck = cfg.templateErrorParamsToCheck or {}&lt;br /&gt;
			local count = 0&lt;br /&gt;
			for i, param in ipairs(paramsToCheck) do&lt;br /&gt;
				if not args[param] then&lt;br /&gt;
					count = count + 1&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if count &amp;gt; 0 then&lt;br /&gt;
				templateCat = templateErrorCategory&lt;br /&gt;
				templateSort = tostring(count)&lt;br /&gt;
			end&lt;br /&gt;
			if self.categoryNums and #self.categoryNums &amp;gt; 0 then&lt;br /&gt;
				templateCat = templateErrorCategory&lt;br /&gt;
				templateSort = &#039;C&#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		self:addCat(10, templateCat, templateSort)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setAllNamespaceCategories()&lt;br /&gt;
	-- Set categories for all namespaces.&lt;br /&gt;
	if self.invalidTypeError then&lt;br /&gt;
		local allSort = (self.title.namespace == 0 and &#039;Main:&#039; or &#039;&#039;) .. self.title.prefixedText&lt;br /&gt;
		self:addCat(&#039;all&#039;, &#039;Wikipedia message box parameter needs fixing&#039;, allSort)&lt;br /&gt;
	end&lt;br /&gt;
	if self.isSubstituted then&lt;br /&gt;
		self:addCat(&#039;all&#039;, &#039;Pages with incorrectly substituted templates&#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setCategories()&lt;br /&gt;
	if self.title.namespace == 0 then&lt;br /&gt;
		self:setMainspaceCategories()&lt;br /&gt;
	elseif self.title.namespace == 10 then&lt;br /&gt;
		self:setTemplateCategories()&lt;br /&gt;
	end&lt;br /&gt;
	self:setAllNamespaceCategories()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:renderCategories()&lt;br /&gt;
	if not self.hasCategories then&lt;br /&gt;
		-- No categories added, no need to pass them to Category handler so,&lt;br /&gt;
		-- if it was invoked, it would return the empty string.&lt;br /&gt;
		-- So we shortcut and return the empty string.&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	-- Convert category tables to strings and pass them through&lt;br /&gt;
	-- [[Module:Category handler]].&lt;br /&gt;
	return require(&#039;Module:Category handler&#039;)._main{&lt;br /&gt;
		main = table.concat(self.categories[0] or {}),&lt;br /&gt;
		template = table.concat(self.categories[10] or {}),&lt;br /&gt;
		all = table.concat(self.categories.all or {}),&lt;br /&gt;
		nocat = self.args.nocat,&lt;br /&gt;
		page = self.args.page&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:export()&lt;br /&gt;
	local root = mw.html.create()&lt;br /&gt;
&lt;br /&gt;
	-- Add the subst check error.&lt;br /&gt;
	if self.isSubstituted and self.name then&lt;br /&gt;
		root:tag(&#039;b&#039;)&lt;br /&gt;
			:addClass(&#039;error&#039;)&lt;br /&gt;
			:wikitext(string.format(&lt;br /&gt;
				&#039;Template &amp;lt;code&amp;gt;%s[[Template:%s|%s]]%s&amp;lt;/code&amp;gt; has been incorrectly substituted.&#039;,&lt;br /&gt;
				mw.text.nowiki(&#039;{{&#039;), self.name, self.name, mw.text.nowiki(&#039;}}&#039;)&lt;br /&gt;
			))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Create the box table.&lt;br /&gt;
	local boxTable = root:tag(&#039;table&#039;)&lt;br /&gt;
	boxTable:attr(&#039;id&#039;, self.id or nil)&lt;br /&gt;
	for i, class in ipairs(self.classes or {}) do&lt;br /&gt;
		boxTable:addClass(class or nil)&lt;br /&gt;
	end&lt;br /&gt;
	boxTable&lt;br /&gt;
		:cssText(self.style or nil)&lt;br /&gt;
		:attr(&#039;role&#039;, &#039;presentation&#039;)&lt;br /&gt;
&lt;br /&gt;
	if self.attrs then&lt;br /&gt;
		boxTable:attr(self.attrs)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add the left-hand image.&lt;br /&gt;
	local row = boxTable:tag(&#039;tr&#039;)&lt;br /&gt;
	if self.imageLeft then&lt;br /&gt;
		local imageLeftCell = row:tag(&#039;td&#039;):addClass(&#039;mbox-image&#039;)&lt;br /&gt;
		if self.imageCellDiv then&lt;br /&gt;
			-- If we are using a div, redefine imageLeftCell so that the image&lt;br /&gt;
			-- is inside it. Divs use style=&amp;quot;width: 52px;&amp;quot;, which limits the&lt;br /&gt;
			-- image width to 52px. If any images in a div are wider than that,&lt;br /&gt;
			-- they may overlap with the text or cause other display problems.&lt;br /&gt;
			imageLeftCell = imageLeftCell:tag(&#039;div&#039;):css(&#039;width&#039;, &#039;52px&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		imageLeftCell:wikitext(self.imageLeft or nil)&lt;br /&gt;
	elseif self.imageEmptyCell then&lt;br /&gt;
		-- Some message boxes define an empty cell if no image is specified, and&lt;br /&gt;
		-- some don&#039;t. The old template code in templates where empty cells are&lt;br /&gt;
		-- specified gives the following hint: &amp;quot;No image. Cell with some width&lt;br /&gt;
		-- or padding necessary for text cell to have 100% width.&amp;quot;&lt;br /&gt;
		row:tag(&#039;td&#039;)&lt;br /&gt;
			:addClass(&#039;mbox-empty-cell&#039;)&lt;br /&gt;
			:cssText(self.imageEmptyCellStyle or nil)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add the text.&lt;br /&gt;
	local textCell = row:tag(&#039;td&#039;):addClass(&#039;mbox-text&#039;)&lt;br /&gt;
	if self.useCollapsibleTextFields then&lt;br /&gt;
		-- The message box uses advanced text parameters that allow things to be&lt;br /&gt;
		-- collapsible. At the moment, only ambox uses this.&lt;br /&gt;
		textCell:cssText(self.textstyle or nil)&lt;br /&gt;
		local textCellDiv = textCell:tag(&#039;div&#039;)&lt;br /&gt;
		textCellDiv&lt;br /&gt;
			:addClass(&#039;mbox-text-span&#039;)&lt;br /&gt;
			:wikitext(self.issue or nil)&lt;br /&gt;
		if (self.talk or self.fix) and not self.isSmall then&lt;br /&gt;
			textCellDiv:tag(&#039;span&#039;)&lt;br /&gt;
				:addClass(&#039;hide-when-compact&#039;)&lt;br /&gt;
				:wikitext(self.talk and (&#039; &#039; .. self.talk) or nil)&lt;br /&gt;
				:wikitext(self.fix and (&#039; &#039; .. self.fix) or nil)&lt;br /&gt;
		end&lt;br /&gt;
		textCellDiv:wikitext(self.date and (&#039; &#039; .. self.date) or nil)&lt;br /&gt;
		if self.info and not self.isSmall then&lt;br /&gt;
			textCellDiv&lt;br /&gt;
				:tag(&#039;span&#039;)&lt;br /&gt;
				:addClass(&#039;hide-when-compact&#039;)&lt;br /&gt;
				:wikitext(self.info and (&#039; &#039; .. self.info) or nil)&lt;br /&gt;
		end&lt;br /&gt;
		if self.removalNotice then&lt;br /&gt;
			textCellDiv:tag(&#039;small&#039;)&lt;br /&gt;
				:addClass(&#039;hide-when-compact&#039;)&lt;br /&gt;
				:tag(&#039;i&#039;)&lt;br /&gt;
					:wikitext(string.format(&amp;quot; (%s)&amp;quot;, self.removalNotice))&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		-- Default text formatting - anything goes.&lt;br /&gt;
		textCell&lt;br /&gt;
			:cssText(self.textstyle or nil)&lt;br /&gt;
			:wikitext(self.text or nil)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add the right-hand image.&lt;br /&gt;
	if self.imageRight then&lt;br /&gt;
		local imageRightCell = row:tag(&#039;td&#039;):addClass(&#039;mbox-imageright&#039;)&lt;br /&gt;
		if self.imageCellDiv then&lt;br /&gt;
			-- If we are using a div, redefine imageRightCell so that the image&lt;br /&gt;
			-- is inside it.&lt;br /&gt;
			imageRightCell = imageRightCell:tag(&#039;div&#039;):css(&#039;width&#039;, &#039;52px&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		imageRightCell&lt;br /&gt;
			:wikitext(self.imageRight or nil)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add the below row.&lt;br /&gt;
	if self.below then&lt;br /&gt;
		boxTable:tag(&#039;tr&#039;)&lt;br /&gt;
			:tag(&#039;td&#039;)&lt;br /&gt;
				:attr(&#039;colspan&#039;, self.imageRight and &#039;3&#039; or &#039;2&#039;)&lt;br /&gt;
				:addClass(&#039;mbox-text&#039;)&lt;br /&gt;
				:cssText(self.textstyle or nil)&lt;br /&gt;
				:wikitext(self.below or nil)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add error message for invalid type parameters.&lt;br /&gt;
	if self.invalidTypeError then&lt;br /&gt;
		root:tag(&#039;div&#039;)&lt;br /&gt;
			:css(&#039;text-align&#039;, &#039;center&#039;)&lt;br /&gt;
			:wikitext(string.format(&lt;br /&gt;
				&#039;This message box is using an invalid &amp;quot;type=%s&amp;quot; parameter and needs fixing.&#039;,&lt;br /&gt;
				self.type or &#039;&#039;&lt;br /&gt;
			))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add categories.&lt;br /&gt;
	root:wikitext(self:renderCategories() or nil)&lt;br /&gt;
&lt;br /&gt;
	return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Exports&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local p, mt = {}, {}&lt;br /&gt;
&lt;br /&gt;
function p._exportClasses()&lt;br /&gt;
	-- For testing.&lt;br /&gt;
	return {&lt;br /&gt;
		MessageBox = MessageBox&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(boxType, args, cfgTables)&lt;br /&gt;
	local box = MessageBox.new(boxType, args, cfgTables or mw.loadData(CONFIG_MODULE))&lt;br /&gt;
	box:setParameters()&lt;br /&gt;
	box:setCategories()&lt;br /&gt;
	return box:export()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function mt.__index(t, k)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		if not getArgs then&lt;br /&gt;
			getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
		end&lt;br /&gt;
		return t.main(k, getArgs(frame, {trim = false, removeBlanks = false}))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return setmetatable(p, mt)&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Template:Mbox&amp;diff=6793</id>
		<title>Template:Mbox</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Template:Mbox&amp;diff=6793"/>
		<updated>2026-08-12T14:29:37Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: Protected &amp;quot;Template:Mbox&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:Message box|mbox}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Rode_Lavalier_GO&amp;diff=6792</id>
		<title>Rode Lavalier GO</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Rode_Lavalier_GO&amp;diff=6792"/>
		<updated>2026-08-12T14:20:56Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{distinguish|Rode RODELink Filmmaker Kit}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox tsg&lt;br /&gt;
| name           = RØDE Lavalier GO&lt;br /&gt;
| image          = Rode_lavalier_go.jpg&lt;br /&gt;
| caption        = RØDE Lavalier GO&lt;br /&gt;
| downloads      = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The RØDE Lavalier GO is a basic, wired lavalier microphone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| RØDE Lavalier GO&lt;br /&gt;
|-&lt;br /&gt;
| Type || Lavalier (small condenser) &lt;br /&gt;
|-&lt;br /&gt;
| Polar Pattern || Omnidirectional&lt;br /&gt;
|-&lt;br /&gt;
| Frequency Response (Hz) || 20 - 20,000 &lt;br /&gt;
|-&lt;br /&gt;
| Max. SPL (dB) || 110&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm TRS&lt;br /&gt;
|- &lt;br /&gt;
| Accessories || Foam windshield&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references group=&amp;quot;fn&amp;quot; /&amp;gt; &amp;lt;!-- Automatically list notes/references in the table above --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
# Connect the microphone to a camera, recorder, or [[audio interface]] (adapter may be required).&lt;br /&gt;
# Clip the microphone in place. Usually, this is somewhere around the speaker&#039;s chest or collar.&lt;br /&gt;
&lt;br /&gt;
For the best results, make sure the lavalier microphone is not covered by any layers of clothing or hair that may rustle against it.&lt;br /&gt;
Attach a wind screen when recording outside in windy conditions.&lt;br /&gt;
&lt;br /&gt;
==See Also== &amp;lt;!-- Optional --&amp;gt;&lt;br /&gt;
*[[Microphones]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--==References== &amp;lt;!-- Optional --&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt; &amp;lt;!-- Automatically generates list of references using the &amp;lt;ref&amp;gt;&amp;lt;/ref&amp;gt; tags. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Headphones&amp;diff=6791</id>
		<title>Headphones</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Headphones&amp;diff=6791"/>
		<updated>2026-08-12T14:20:35Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = Headphones&lt;br /&gt;
| image          = Sony_mdr-7506.jpg&lt;br /&gt;
| caption        = Sony MDR-7506 headphones&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
With exception of the [[EEG Lab]]s, headphones are the standard audio delivery system in our labs. In dedicated audio labs, such as the [[Sound Recording Lab]] and the [[VoiceKey Lab]], headphones are part of the standard equipment. In other labs (e.g. [[Cubicles]]), you can borrow one of our recommended headphones (listed below) from your [[Lab Coordinator]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot;| &lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot;| [[File:Shure_se112.jpg ‎|200px|Image: 200 pixels]]&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot;| [[File:Sennheiser_hd201_01.jpg ‎|200px|Image: 200 pixels]]&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot;| [[File:Sony_mdr-7506.jpg ‎|200px|Image: 200 pixels]]&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;!-- empty cell --&amp;gt;&lt;br /&gt;
! Shure SE112&lt;br /&gt;
! Sennheiser HD201&lt;br /&gt;
! Sony MDR-7506&lt;br /&gt;
|-&lt;br /&gt;
| Type || In-ear || Over-ear, closed back  || Over-ear, closed back&lt;br /&gt;
|-&lt;br /&gt;
| Usage || Instances where the headband of a regular headphone would interfere with other equipment (e.g. EEG) || General purpose || Audio recording, analytic listening&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&#039;&#039;Participant&#039;&#039; in lab with control room: &lt;br /&gt;
#Plug the headphones into the 6.3mm or 3.5mm jack extension cord in the lab. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Participant&#039;&#039; in lab without control room, or &#039;&#039;Experimenter&#039;&#039; control room monitoring:&lt;br /&gt;
#Plug the headphones into the 3.5mm jack port on the front of our [[Lab Computer]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In labs with an [[audio interface]], the headphones are connected to the interface (main stereo or phone output).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ℹ️Left and right side are usually labelled on the ear-cup or headband. On headphones with a cable on one side (e.g. Sony MDR-7506), the cable is almost always on the left.&lt;br /&gt;
&lt;br /&gt;
⚠️When using the headphones for time-critical audio stimuli, please (ask the TSG to) check your audio settings and scripts before running your experiment.&lt;br /&gt;
&lt;br /&gt;
==See Also== &lt;br /&gt;
*[[Audio]]&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Audio_interface&amp;diff=6790</id>
		<title>Audio interface</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Audio_interface&amp;diff=6790"/>
		<updated>2026-08-12T14:16:38Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: Redirected page to Audio Interface&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Audio Interface]]&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Microphone&amp;diff=6789</id>
		<title>Microphone</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Microphone&amp;diff=6789"/>
		<updated>2026-08-12T13:31:19Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Varieties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = Microphones&lt;br /&gt;
| image          = Obama2010.jpg&lt;br /&gt;
| caption        = Shure SM57: the microphone of choice for every US president since 1965, and ours since 2015 or so&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Microphones turn sound into data. When you want to record sound for your experiment, please contact the TSG to discuss which microphone(s) is/are best suited for your application. Below is an overview of some of the microphones available within our research labs, and/or for use in the field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Varieties==&lt;br /&gt;
We categorize microphones by their connection type (wired vs wireless), transducer type, polar pattern, and form factor:&lt;br /&gt;
*&#039;&#039;&#039;Dynamic&#039;&#039;&#039; - Typically rugged, versatile, don&#039;t require additional phantom power, and can handle loud noises.&lt;br /&gt;
*&#039;&#039;&#039;Condenser&#039;&#039;&#039; - More sensitive than dynamic microphones. Often require phantom power (24-48V).&lt;br /&gt;
*&#039;&#039;&#039;Shotgun&#039;&#039;&#039; - Highly directional, often with an [https://www.dpamicrophones.com/dict/interference-tube/ interference tube] design.&lt;br /&gt;
*&#039;&#039;&#039;Lavalier&#039;&#039;&#039; - Tiny, typically clipped onto a person&#039;s collar or shirt to record speech.&lt;br /&gt;
*&#039;&#039;&#039;Headset&#039;&#039;&#039; - Attached to headphones or headband, with a flexible arm for placement directly in front of the speaker&#039;s mouth.&lt;br /&gt;
&lt;br /&gt;
==Wired==&lt;br /&gt;
===Dynamic===&lt;br /&gt;
* [[Shure SM57]]&lt;br /&gt;
&lt;br /&gt;
===Shotgun===&lt;br /&gt;
* [[Sennheiser MKE600]]&lt;br /&gt;
* [[Rode VideoMic NTG]]&lt;br /&gt;
&lt;br /&gt;
===Headset===&lt;br /&gt;
* [[AudioTechnica BPHS1]]&lt;br /&gt;
&lt;br /&gt;
===Lavalier===&lt;br /&gt;
* [[Rode Lavalier GO]]&lt;br /&gt;
&lt;br /&gt;
==Wireless==&lt;br /&gt;
===Lavalier===&lt;br /&gt;
* [[Rode RODELink Filmmaker Kit]]&lt;br /&gt;
* [[Hollyland Lark M2]]&lt;br /&gt;
* [[DJI Mic]]&lt;br /&gt;
&lt;br /&gt;
==See Also== &lt;br /&gt;
*[[Audio]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==References==&lt;br /&gt;
&amp;lt;references /&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Microphone&amp;diff=6788</id>
		<title>Microphone</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Microphone&amp;diff=6788"/>
		<updated>2026-08-12T13:30:50Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Varieties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = Microphones&lt;br /&gt;
| image          = Obama2010.jpg&lt;br /&gt;
| caption        = Shure SM57: the microphone of choice for every US president since 1965, and ours since 2015 or so&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Microphones turn sound into data. When you want to record sound for your experiment, please contact the TSG to discuss which microphone(s) is/are best suited for your application. Below is an overview of some of the microphones available within our research labs, and/or for use in the field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Varieties==&lt;br /&gt;
We categorize microphones by their connection type (wired vs wireless), transducer type, polar pattern, and form factor:&lt;br /&gt;
*&#039;&#039;&#039;Dynamic&#039;&#039;&#039; - Typically rugged, versatile, don&#039;t require additional phantom power, and can handle loud noises.&lt;br /&gt;
*&#039;&#039;&#039;Condenser&#039;&#039;&#039; - More sensitive than dynamic microphones. Require phantom power (24-48V).&lt;br /&gt;
*&#039;&#039;&#039;Shotgun&#039;&#039;&#039; - Highly directional, often with an [https://www.dpamicrophones.com/dict/interference-tube/ interference tube] design.&lt;br /&gt;
*&#039;&#039;&#039;Lavalier&#039;&#039;&#039; - Tiny, typically clipped onto a person&#039;s collar or shirt to record speech.&lt;br /&gt;
*&#039;&#039;&#039;Headset&#039;&#039;&#039; - Attached to headphones or headband, with a flexible arm for placement directly in front of the speaker&#039;s mouth.&lt;br /&gt;
&lt;br /&gt;
==Wired==&lt;br /&gt;
===Dynamic===&lt;br /&gt;
* [[Shure SM57]]&lt;br /&gt;
&lt;br /&gt;
===Shotgun===&lt;br /&gt;
* [[Sennheiser MKE600]]&lt;br /&gt;
* [[Rode VideoMic NTG]]&lt;br /&gt;
&lt;br /&gt;
===Headset===&lt;br /&gt;
* [[AudioTechnica BPHS1]]&lt;br /&gt;
&lt;br /&gt;
===Lavalier===&lt;br /&gt;
* [[Rode Lavalier GO]]&lt;br /&gt;
&lt;br /&gt;
==Wireless==&lt;br /&gt;
===Lavalier===&lt;br /&gt;
* [[Rode RODELink Filmmaker Kit]]&lt;br /&gt;
* [[Hollyland Lark M2]]&lt;br /&gt;
* [[DJI Mic]]&lt;br /&gt;
&lt;br /&gt;
==See Also== &lt;br /&gt;
*[[Audio]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==References==&lt;br /&gt;
&amp;lt;references /&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Microphone&amp;diff=6787</id>
		<title>Microphone</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Microphone&amp;diff=6787"/>
		<updated>2026-08-12T13:30:07Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = Microphones&lt;br /&gt;
| image          = Obama2010.jpg&lt;br /&gt;
| caption        = Shure SM57: the microphone of choice for every US president since 1965, and ours since 2015 or so&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Microphones turn sound into data. When you want to record sound for your experiment, please contact the TSG to discuss which microphone(s) is/are best suited for your application. Below is an overview of some of the microphones available within our research labs, and/or for use in the field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Varieties==&lt;br /&gt;
We categorize microphones by their connection type (wired vs wireless), transducer type, polar pattern, and form factor:&lt;br /&gt;
*Dynamic - Typically rugged, versatile, don&#039;t require additional phantom power, and can handle loud noises.&lt;br /&gt;
*Condenser - More sensitive than dynamic microphones. Require phantom power (24-48V).&lt;br /&gt;
*Shotgun - Highly directional, often with an [https://www.dpamicrophones.com/dict/interference-tube/ interference tube] design.&lt;br /&gt;
*Lavalier - Tiny, typically clipped onto a person&#039;s collar or shirt to record speech.&lt;br /&gt;
*Headset - Attached to headphones or headband, with a flexible arm for placement directly in front of the speaker&#039;s mouth.&lt;br /&gt;
&lt;br /&gt;
==Wired==&lt;br /&gt;
===Dynamic===&lt;br /&gt;
* [[Shure SM57]]&lt;br /&gt;
&lt;br /&gt;
===Shotgun===&lt;br /&gt;
* [[Sennheiser MKE600]]&lt;br /&gt;
* [[Rode VideoMic NTG]]&lt;br /&gt;
&lt;br /&gt;
===Headset===&lt;br /&gt;
* [[AudioTechnica BPHS1]]&lt;br /&gt;
&lt;br /&gt;
===Lavalier===&lt;br /&gt;
* [[Rode Lavalier GO]]&lt;br /&gt;
&lt;br /&gt;
==Wireless==&lt;br /&gt;
===Lavalier===&lt;br /&gt;
* [[Rode RODELink Filmmaker Kit]]&lt;br /&gt;
* [[Hollyland Lark M2]]&lt;br /&gt;
* [[DJI Mic]]&lt;br /&gt;
&lt;br /&gt;
==See Also== &lt;br /&gt;
*[[Audio]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==References==&lt;br /&gt;
&amp;lt;references /&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Audio&amp;diff=6786</id>
		<title>Audio</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Audio&amp;diff=6786"/>
		<updated>2026-08-12T13:09:37Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Recording */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using audio in your experiment, especially when presenting time-critical stimuli, special care should be taken to optimize the audio settings on multiple levels (hardware, OS, script), as many things can go wrong along the way. &lt;br /&gt;
&lt;br /&gt;
This page outlines some best practices, however we advise to always consult a TSG member if you plan to run an audio experiment in the labs.&lt;br /&gt;
&lt;br /&gt;
==Recording==&lt;br /&gt;
When recording audio for stimuli material or as input for your experiment, please:&lt;br /&gt;
* Use a high quality [[Microphone|microphone]], with a [https://www.audio-technica.com/en-us/support/a-brief-guide-to-microphones-whats-the-pattern/ polar pattern] and form-factor suitable for your application.&lt;br /&gt;
* Use a high quality recorder or audio interface, capable of recording at 24bit and 48kHz or higher. &lt;br /&gt;
* Place the microphone at an appropriate distance from your subject. Set the levels so the audio does not clip (exceeding maximum volume).&lt;br /&gt;
* Record in a quiet environment.&lt;br /&gt;
&lt;br /&gt;
You can use our [[Sound Recording Lab]]s for high quality voice recording.&lt;br /&gt;
&lt;br /&gt;
==Editing==&lt;br /&gt;
We recommend using Audacity for editing and converting audio files. Audacity is open-source and fairly easy to use, available here: https://www.audacityteam.org/&lt;br /&gt;
&lt;br /&gt;
===Export Settings===&lt;br /&gt;
We recommend using the following export settings:&lt;br /&gt;
* File format: .wav (PCM). &lt;br /&gt;
* Sample Frequency: 48kHz.&lt;br /&gt;
* Bit depth: 16 bit.&lt;br /&gt;
&lt;br /&gt;
The [[Lab Computer]] audio output is also set to 16 bit, 48kHz. We found that this is good enough for most applications; higher settings will increase file size with limited perceivable quality gains.&lt;br /&gt;
&lt;br /&gt;
When using multiple audio files in your experiment, make sure they all use the same settings for consistent playback in your experiment.&lt;br /&gt;
&lt;br /&gt;
In Audacity, you can set up Macros to automate processing and exporting your audio files: https://manual.audacityteam.org/man/macros.html&lt;br /&gt;
&lt;br /&gt;
==Windows Settings==&lt;br /&gt;
Windows has a habit of automatically enabling &#039;&#039;&#039;audio enhancements&#039;&#039;&#039; when connecting new speakers or headphones. These &amp;quot;enhancements&amp;quot; can distort your audio and cause timing issues. Therefore, please make sure they are turned off:&lt;br /&gt;
# Right click sound icon on taskbar (next to clock) -&amp;gt; Sounds&lt;br /&gt;
# Goto Playback tab. Select your audio output device and click &amp;quot;Properties&amp;quot;&lt;br /&gt;
# Goto Enhancements tab. Make sure &amp;quot;Disable all enhancements&amp;quot; is checked.&lt;br /&gt;
# Click Apply.&lt;br /&gt;
&lt;br /&gt;
==Playback==&lt;br /&gt;
=== Psychopy ===&lt;br /&gt;
This is an example of a Python script that plays a .wav file with high time accuracy.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
from psychopy import sound, core&lt;br /&gt;
from psychopy import prefs&lt;br /&gt;
prefs.hardware[&#039;audioLib&#039;] = [&#039;PTB&#039;]&lt;br /&gt;
&lt;br /&gt;
# Path to audio file&lt;br /&gt;
audio_file = &amp;quot;voice.wav&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Load audio&lt;br /&gt;
# preBuffer – integer to control streaming/buffering -1 means store all &lt;br /&gt;
audio = sound.Sound(audio_file,preBuffer=-1)&lt;br /&gt;
&lt;br /&gt;
# Play audio&lt;br /&gt;
audio.play()&lt;br /&gt;
&lt;br /&gt;
# Wait for audio to finish playing&lt;br /&gt;
core.wait(audio.getDuration())&lt;br /&gt;
&lt;br /&gt;
# Close audio&lt;br /&gt;
audio.stop()&lt;br /&gt;
audio.close()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Audio Interfaces]]&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Audio&amp;diff=6785</id>
		<title>Audio</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Audio&amp;diff=6785"/>
		<updated>2026-08-12T13:09:10Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Recording */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using audio in your experiment, especially when presenting time-critical stimuli, special care should be taken to optimize the audio settings on multiple levels (hardware, OS, script), as many things can go wrong along the way. &lt;br /&gt;
&lt;br /&gt;
This page outlines some best practices, however we advise to always consult a TSG member if you plan to run an audio experiment in the labs.&lt;br /&gt;
&lt;br /&gt;
==Recording==&lt;br /&gt;
When recording audio for stimuli material or as input for your experiment, please:&lt;br /&gt;
* Use a high quality [[Microphone|microphone]], with a [https://www.audio-technica.com/en-us/support/a-brief-guide-to-microphones-whats-the-pattern/ polar pattern] suitable for your application.&lt;br /&gt;
* Use a high quality recorder or audio interface, capable of recording at 24bit and 48kHz or higher. &lt;br /&gt;
* Place the microphone at an appropriate distance from your subject. Set the levels so the audio does not clip (exceeding maximum volume).&lt;br /&gt;
* Record in a quiet environment.&lt;br /&gt;
&lt;br /&gt;
You can use our [[Sound Recording Lab]]s for high quality voice recording.&lt;br /&gt;
&lt;br /&gt;
==Editing==&lt;br /&gt;
We recommend using Audacity for editing and converting audio files. Audacity is open-source and fairly easy to use, available here: https://www.audacityteam.org/&lt;br /&gt;
&lt;br /&gt;
===Export Settings===&lt;br /&gt;
We recommend using the following export settings:&lt;br /&gt;
* File format: .wav (PCM). &lt;br /&gt;
* Sample Frequency: 48kHz.&lt;br /&gt;
* Bit depth: 16 bit.&lt;br /&gt;
&lt;br /&gt;
The [[Lab Computer]] audio output is also set to 16 bit, 48kHz. We found that this is good enough for most applications; higher settings will increase file size with limited perceivable quality gains.&lt;br /&gt;
&lt;br /&gt;
When using multiple audio files in your experiment, make sure they all use the same settings for consistent playback in your experiment.&lt;br /&gt;
&lt;br /&gt;
In Audacity, you can set up Macros to automate processing and exporting your audio files: https://manual.audacityteam.org/man/macros.html&lt;br /&gt;
&lt;br /&gt;
==Windows Settings==&lt;br /&gt;
Windows has a habit of automatically enabling &#039;&#039;&#039;audio enhancements&#039;&#039;&#039; when connecting new speakers or headphones. These &amp;quot;enhancements&amp;quot; can distort your audio and cause timing issues. Therefore, please make sure they are turned off:&lt;br /&gt;
# Right click sound icon on taskbar (next to clock) -&amp;gt; Sounds&lt;br /&gt;
# Goto Playback tab. Select your audio output device and click &amp;quot;Properties&amp;quot;&lt;br /&gt;
# Goto Enhancements tab. Make sure &amp;quot;Disable all enhancements&amp;quot; is checked.&lt;br /&gt;
# Click Apply.&lt;br /&gt;
&lt;br /&gt;
==Playback==&lt;br /&gt;
=== Psychopy ===&lt;br /&gt;
This is an example of a Python script that plays a .wav file with high time accuracy.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
from psychopy import sound, core&lt;br /&gt;
from psychopy import prefs&lt;br /&gt;
prefs.hardware[&#039;audioLib&#039;] = [&#039;PTB&#039;]&lt;br /&gt;
&lt;br /&gt;
# Path to audio file&lt;br /&gt;
audio_file = &amp;quot;voice.wav&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Load audio&lt;br /&gt;
# preBuffer – integer to control streaming/buffering -1 means store all &lt;br /&gt;
audio = sound.Sound(audio_file,preBuffer=-1)&lt;br /&gt;
&lt;br /&gt;
# Play audio&lt;br /&gt;
audio.play()&lt;br /&gt;
&lt;br /&gt;
# Wait for audio to finish playing&lt;br /&gt;
core.wait(audio.getDuration())&lt;br /&gt;
&lt;br /&gt;
# Close audio&lt;br /&gt;
audio.stop()&lt;br /&gt;
audio.close()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Audio Interfaces]]&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Rode_Lavalier_GO&amp;diff=6784</id>
		<title>Rode Lavalier GO</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Rode_Lavalier_GO&amp;diff=6784"/>
		<updated>2026-08-12T13:05:14Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: Created page with &amp;quot;{{distinguish|Rode RODELink Filmmaker Kit}}  {{Infobox tsg | name           = RØDE Lavalier GO | image          = Rode_lavalier_go.jpg | caption        = RØDE Lavalier GO |...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{distinguish|Rode RODELink Filmmaker Kit}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox tsg&lt;br /&gt;
| name           = RØDE Lavalier GO&lt;br /&gt;
| image          = Rode_lavalier_go.jpg&lt;br /&gt;
| caption        = RØDE Lavalier GO&lt;br /&gt;
| downloads      = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The RØDE Lavalier GO is a basic, wired lavalier microphone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| RØDE Lavalier GO&lt;br /&gt;
|-&lt;br /&gt;
| Type || Lavalier (small condenser) &lt;br /&gt;
|-&lt;br /&gt;
| Polar Pattern || Omnidirectional&lt;br /&gt;
|-&lt;br /&gt;
| Frequency Response (Hz) || 20 - 20,000 &lt;br /&gt;
|-&lt;br /&gt;
| Max. SPL (dB) || 110&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm TRS&lt;br /&gt;
|- &lt;br /&gt;
| Accessories || Foam windshield&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references group=&amp;quot;fn&amp;quot; /&amp;gt; &amp;lt;!-- Automatically list notes/references in the table above --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
# Connect the microphone to a camera, recorder, or [[Audio Interfaces|audio interface]] (adapter may be required).&lt;br /&gt;
# Clip the microphone in place. Usually, this is somewhere around the speaker&#039;s chest or collar.&lt;br /&gt;
&lt;br /&gt;
For the best results, make sure the lavalier microphone is not covered by any layers of clothing or hair that may rustle against it.&lt;br /&gt;
Attach a wind screen when recording outside in windy conditions. &lt;br /&gt;
&lt;br /&gt;
==See Also== &amp;lt;!-- Optional --&amp;gt;&lt;br /&gt;
*[[Microphones]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--==References== &amp;lt;!-- Optional --&amp;gt;&lt;br /&gt;
&amp;lt;references /&amp;gt; &amp;lt;!-- Automatically generates list of references using the &amp;lt;ref&amp;gt;&amp;lt;/ref&amp;gt; tags. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=File:Rode_lavalier_go.jpg&amp;diff=6783</id>
		<title>File:Rode lavalier go.jpg</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=File:Rode_lavalier_go.jpg&amp;diff=6783"/>
		<updated>2026-08-12T12:56:54Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: Photo of the RØDE Lavalier Go microphone, and its included accessories.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Photo of the RØDE Lavalier Go microphone, and its included accessories.&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{Non-free promotional}}&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Rode_RODELink_Filmmaker_Kit&amp;diff=6782</id>
		<title>Rode RODELink Filmmaker Kit</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Rode_RODELink_Filmmaker_Kit&amp;diff=6782"/>
		<updated>2026-08-12T12:53:23Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{distinguish|Rode Lavalier GO}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox tsg&lt;br /&gt;
| name           = RØDE RØDELink Filmmaker Kit&lt;br /&gt;
| image          = Rodelink.jpg&lt;br /&gt;
| caption        = RØDELink Transmitter, Receiver, Lavalier mic and accessories.&lt;br /&gt;
| manuals        = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The RØDE RØDELink Filmmaker Kit is a wireless lavalier microphone system. It has a bodypack-style transmitter with exchangeable lavalier mic (via 3.5mm jack connector). &amp;lt;br/&amp;gt;&lt;br /&gt;
The RØDELink kit has been made somewhat obsolescent by more modern, ultra-compact wireless microphone sets like the [[Hollyland Lark M2]], however it still offers some distinct benefits (see [[#Comparison]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contents==&lt;br /&gt;
The RØDE RØDELink Filmmaker Kit contains:&lt;br /&gt;
* 1 Wireless transmitter (TX-BELT)&lt;br /&gt;
* 1 Wireless receiver (RX-CAM)&lt;br /&gt;
* 1 RØDELink Lav microphone&lt;br /&gt;
* Foam wind screen&lt;br /&gt;
* Microphone pouch&lt;br /&gt;
* 3.5mm jack M-M cable&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| RØDELink Filmmaker Kit&lt;br /&gt;
|-&lt;br /&gt;
! Microphone&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Type || Lavalier (small condenser)&lt;br /&gt;
|-&lt;br /&gt;
| Polar Pattern || Omnidirectional&lt;br /&gt;
|-&lt;br /&gt;
| Frequency Response (Hz) || 20 - 20,000 &lt;br /&gt;
|- &lt;br /&gt;
| Accessories || Foam windshield&lt;br /&gt;
|-&lt;br /&gt;
| Max. SPL (dB) || 110&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm TRS Jack&lt;br /&gt;
|-&lt;br /&gt;
! Transmitter&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Power requirement || 2* AA battery, or MicroUSB&lt;br /&gt;
|-&lt;br /&gt;
| Features || Wireless (2.4GHz)&lt;br /&gt;
|-&lt;br /&gt;
| Mount || Belt-clip/cold-shoe&lt;br /&gt;
|-&lt;br /&gt;
| Range (m) || 100 (LOS)&lt;br /&gt;
|-&lt;br /&gt;
| Battery Capacity (mAh) || -&lt;br /&gt;
|-&lt;br /&gt;
| Weight (g) || 190&lt;br /&gt;
|-&lt;br /&gt;
! Receiver&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm jack&lt;br /&gt;
|-&lt;br /&gt;
| Power requirement || 2* AA battery, or MicroUSB&lt;br /&gt;
|-&lt;br /&gt;
| Features || Wireless (2.4GHz)&lt;br /&gt;
|-&lt;br /&gt;
| Mount || Clip/cold shoe&lt;br /&gt;
|-&lt;br /&gt;
| Battery Capacity (mAh) || -&lt;br /&gt;
|-&lt;br /&gt;
| Weight (g) || 190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references group=&amp;quot;fn&amp;quot; /&amp;gt; &amp;lt;!-- Automatically list notes/references in the table above --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ℹ️ The RØDELink Lav microphone is not the same as the [[Rode Lavalier GO]], though we suspect most of its internals are. The RØDELink Lav has a locking 3.5mm connector.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
The RØDELink kit has no internal storage, so you will always have to connect it to a separate recording device, like a regular microphone. The transmitter was made to connect to a camera, but can also be connected to XLR recorder or [[Audio Interface]], or even to a PC, phone or laptop, using adapters that we have available.&lt;br /&gt;
&lt;br /&gt;
# Insert batteries into the transmitter and receiver units (press button and slide back cover down), or connect them to a USB power source via microUSB.&lt;br /&gt;
# Plug the lavalier microphone into the receiver.&lt;br /&gt;
# Connect the receiver to your recording device via 3.5mm jack cable.&lt;br /&gt;
# Turn on the transmitter and receiver. They should connect and pair automatically.&lt;br /&gt;
&lt;br /&gt;
⚠️When powering the transmitter and/or receiver via USB, we recommend using clean and isolated power sources like a powerbank, NOT a regular wall-charger. The latter can introduce noise.&lt;br /&gt;
&lt;br /&gt;
For the best results, make sure the lavalier microphone is not covered by any layers of clothing or hair that may rustle against it. &amp;lt;br/&amp;gt;&lt;br /&gt;
Attach a wind screen when recording outside in windy conditions.&lt;br /&gt;
&lt;br /&gt;
When not using the kit, please remove the batteries from the transmitter and receiver.&lt;br /&gt;
&lt;br /&gt;
==Comparison==&lt;br /&gt;
Compared to ultra-compact wireless microphone sets like the [[Hollyland Lark M2]], the RØDELink system offers the following pros &amp;amp; cons:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pros&#039;&#039;&#039;&lt;br /&gt;
:👍 Swappable batteries, or limitless power via USB. Lets you record long days without having to (remember to) charge internal batteries.&lt;br /&gt;
:👍 Smaller mic. The mic itself is smaller because it does not have a built-in transmitter, so it&#039;s easier to hide/less obtrusive.&lt;br /&gt;
:👍 Replaceable mic. The lavalier mic can potentially be swapped out for other microphone styles, or with other polar patterns.&lt;br /&gt;
:👍 Large, readable controls. Big buttons and clear OLED displays make the set fool-proof and easy to use. &lt;br /&gt;
:👍 &amp;quot;Unlosable&amp;quot;? The mic connection, sturdy clips, and bulky transmitter make the set harder to accidentally drop, lose, or forget.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cons&#039;&#039;&#039;&lt;br /&gt;
:👎 Swappable batteries. You need to remember to always pack spare batteries, just in case.&lt;br /&gt;
:👎 No digital output. The USB port is for power input only.&lt;br /&gt;
:👎 Single channel. Each microphone requires its own transmitter and receiver. Most ultra-compacts offer 2 mics/channels per receiver.&lt;br /&gt;
:👎 Wired mic. The mic still connects to the transmitter via wire, which could snag, or has to run underneath your speaker&#039;s clothes (=more intrusive)&lt;br /&gt;
:👎 No noise-cancelling. Most ultra-compacts offer built-in ANC which helps when recording in noisy environments.&lt;br /&gt;
:👎 Bulky. The entire set is bulky and less portable. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The TSG will always consider these tradeoffs when advising a wireless microphone for you to use 🙂&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Microphones]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*[https://rode.com/en-us/products/rodelink-filmmaker-kit Official website]&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Microphone&amp;diff=6781</id>
		<title>Microphone</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Microphone&amp;diff=6781"/>
		<updated>2026-08-12T12:45:15Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Wired */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = Microphones&lt;br /&gt;
| image          = Obama2010.jpg&lt;br /&gt;
| caption        = Shure SM57: the microphone of choice for every US president since 1965, and ours since 2015 or so&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Microphones turn sound into data. When you want to record sound for your experiment, please contact the TSG to discuss which microphone(s) is/are best suited for your application. Below is an overview of some of the microphones available within our research labs, and/or for use in the field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
==Wired==&lt;br /&gt;
===Dynamic===&lt;br /&gt;
* [[Shure SM57]]&lt;br /&gt;
&lt;br /&gt;
===Shotgun===&lt;br /&gt;
* [[Sennheiser MKE600]]&lt;br /&gt;
* [[Rode VideoMic NTG]]&lt;br /&gt;
&lt;br /&gt;
===Headset===&lt;br /&gt;
* [[AudioTechnica BPHS1]]&lt;br /&gt;
&lt;br /&gt;
===Lavalier===&lt;br /&gt;
* [[Rode Lavalier GO]]&lt;br /&gt;
&lt;br /&gt;
==Wireless==&lt;br /&gt;
===Lavalier===&lt;br /&gt;
* [[Rode RODELink Filmmaker Kit]]&lt;br /&gt;
* [[Hollyland Lark M2]]&lt;br /&gt;
* [[DJI Mic]]&lt;br /&gt;
&lt;br /&gt;
==See Also== &lt;br /&gt;
*[[Audio]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==References==&lt;br /&gt;
&amp;lt;references /&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Microphone&amp;diff=6780</id>
		<title>Microphone</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Microphone&amp;diff=6780"/>
		<updated>2026-08-12T12:40:39Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = Microphones&lt;br /&gt;
| image          = Obama2010.jpg&lt;br /&gt;
| caption        = Shure SM57: the microphone of choice for every US president since 1965, and ours since 2015 or so&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Microphones turn sound into data. When you want to record sound for your experiment, please contact the TSG to discuss which microphone(s) is/are best suited for your application. Below is an overview of some of the microphones available within our research labs, and/or for use in the field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
==Wired==&lt;br /&gt;
===Dynamic===&lt;br /&gt;
* [[Shure SM57]]&lt;br /&gt;
&lt;br /&gt;
===Shotgun===&lt;br /&gt;
* [[Sennheiser MKE600]]&lt;br /&gt;
* [[Rode VideoMic NTG]]&lt;br /&gt;
&lt;br /&gt;
===Headset===&lt;br /&gt;
* [[AudioTechnica BPHS1]]&lt;br /&gt;
&lt;br /&gt;
==Wireless==&lt;br /&gt;
===Lavalier===&lt;br /&gt;
* [[Rode RODELink Filmmaker Kit]]&lt;br /&gt;
* [[Hollyland Lark M2]]&lt;br /&gt;
* [[DJI Mic]]&lt;br /&gt;
&lt;br /&gt;
==See Also== &lt;br /&gt;
*[[Audio]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==References==&lt;br /&gt;
&amp;lt;references /&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Rode_RODELink_Filmmaker_Kit&amp;diff=6779</id>
		<title>Rode RODELink Filmmaker Kit</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Rode_RODELink_Filmmaker_Kit&amp;diff=6779"/>
		<updated>2026-08-12T12:39:33Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = RØDE RØDELink Filmmaker Kit&lt;br /&gt;
| image          = Rodelink.jpg&lt;br /&gt;
| caption        = RØDELink Transmitter, Receiver, Lavalier mic and accessories.&lt;br /&gt;
| manuals        = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The RØDE RØDELink Filmmaker Kit is a wireless lavalier microphone system. It has a bodypack-style transmitter with exchangeable lavalier mic (via 3.5mm jack connector). &amp;lt;br/&amp;gt;&lt;br /&gt;
The RØDELink kit has been made somewhat obsolescent by more modern, ultra-compact wireless microphone sets like the [[Hollyland Lark M2]], however it still offers some distinct benefits (see [[#Comparison]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contents==&lt;br /&gt;
The RØDE RØDELink Filmmaker Kit contains:&lt;br /&gt;
* 1 Wireless transmitter (TX-BELT)&lt;br /&gt;
* 1 Wireless receiver (RX-CAM)&lt;br /&gt;
* 1 RØDELink Lav microphone&lt;br /&gt;
* Foam wind screen&lt;br /&gt;
* Microphone pouch&lt;br /&gt;
* 3.5mm jack M-M cable&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| RØDELink Filmmaker Kit&lt;br /&gt;
|-&lt;br /&gt;
! Microphone&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Type || Lavalier (small condenser)&lt;br /&gt;
|-&lt;br /&gt;
| Polar Pattern || Omnidirectional&lt;br /&gt;
|-&lt;br /&gt;
| Frequency Response (Hz) || 20 - 20,000 &lt;br /&gt;
|- &lt;br /&gt;
| Accessories || Foam windshield&lt;br /&gt;
|-&lt;br /&gt;
| Max. SPL (dB) || 110&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm TRS Jack&lt;br /&gt;
|-&lt;br /&gt;
! Transmitter&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Power requirement || 2* AA battery, or MicroUSB&lt;br /&gt;
|-&lt;br /&gt;
| Features || Wireless (2.4GHz)&lt;br /&gt;
|-&lt;br /&gt;
| Mount || Belt-clip/cold-shoe&lt;br /&gt;
|-&lt;br /&gt;
| Range (m) || 100 (LOS)&lt;br /&gt;
|-&lt;br /&gt;
| Battery Capacity (mAh) || -&lt;br /&gt;
|-&lt;br /&gt;
| Weight (g) || 190&lt;br /&gt;
|-&lt;br /&gt;
! Receiver&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm jack&lt;br /&gt;
|-&lt;br /&gt;
| Power requirement || 2* AA battery, or MicroUSB&lt;br /&gt;
|-&lt;br /&gt;
| Features || Wireless (2.4GHz)&lt;br /&gt;
|-&lt;br /&gt;
| Mount || Clip/cold shoe&lt;br /&gt;
|-&lt;br /&gt;
| Battery Capacity (mAh) || -&lt;br /&gt;
|-&lt;br /&gt;
| Weight (g) || 190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references group=&amp;quot;fn&amp;quot; /&amp;gt; &amp;lt;!-- Automatically list notes/references in the table above --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
The RØDELink kit has no internal storage, so you will always have to connect it to a separate recording device, like a regular microphone. The transmitter was made to connect to a camera, but can also be connected to XLR recorder or [[Audio Interface]], or even to a PC, phone or laptop, using adapters that we have available.&lt;br /&gt;
&lt;br /&gt;
# Insert batteries into the transmitter and receiver units (press button and slide back cover down), or connect them to a USB power source via microUSB.&lt;br /&gt;
# Plug the lavalier microphone into the receiver.&lt;br /&gt;
# Connect the receiver to your recording device via 3.5mm jack cable.&lt;br /&gt;
# Turn on the transmitter and receiver. They should connect and pair automatically.&lt;br /&gt;
&lt;br /&gt;
⚠️When powering the transmitter and/or receiver via USB, we recommend using clean and isolated power sources like a powerbank, NOT a regular wall-charger. The latter can introduce noise.&lt;br /&gt;
&lt;br /&gt;
For the best results, make sure the lavalier microphone is not covered by any layers of clothing or hair that may rustle against it. &amp;lt;br/&amp;gt;&lt;br /&gt;
Attach a wind screen when recording outside in windy conditions.&lt;br /&gt;
&lt;br /&gt;
When not using the kit, please remove the batteries from the transmitter and receiver.&lt;br /&gt;
&lt;br /&gt;
==Comparison==&lt;br /&gt;
Compared to ultra-compact wireless microphone sets like the [[Hollyland Lark M2]], the RØDELink system offers the following pros &amp;amp; cons:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pros&#039;&#039;&#039;&lt;br /&gt;
:👍 Swappable batteries, or limitless power via USB. Lets you record long days without having to (remember to) charge internal batteries.&lt;br /&gt;
:👍 Smaller mic. The mic itself is smaller because it does not have a built-in transmitter, so it&#039;s easier to hide/less obtrusive.&lt;br /&gt;
:👍 Replaceable mic. The lavalier mic can potentially be swapped out for other microphone styles, or with other polar patterns.&lt;br /&gt;
:👍 Large, readable controls. Big buttons and clear OLED displays make the set fool-proof and easy to use. &lt;br /&gt;
:👍 &amp;quot;Unlosable&amp;quot;? The mic connection, sturdy clips, and bulky transmitter make the set harder to accidentally drop, lose, or forget.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cons&#039;&#039;&#039;&lt;br /&gt;
:👎 Swappable batteries. You need to remember to always pack spare batteries, just in case.&lt;br /&gt;
:👎 No digital output. The USB port is for power input only.&lt;br /&gt;
:👎 Single channel. Each microphone requires its own transmitter and receiver. Most ultra-compacts offer 2 mics/channels per receiver.&lt;br /&gt;
:👎 Wired mic. The mic still connects to the transmitter via wire, which could snag, or has to run underneath your speaker&#039;s clothes (=more intrusive)&lt;br /&gt;
:👎 No noise-cancelling. Most ultra-compacts offer built-in ANC which helps when recording in noisy environments.&lt;br /&gt;
:👎 Bulky. The entire set is bulky and less portable. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The TSG will always consider these tradeoffs when advising a wireless microphone for you to use 🙂&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Microphones]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*[https://rode.com/en-us/products/rodelink-filmmaker-kit Official website]&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Rode_RODELink_Filmmaker_Kit&amp;diff=6778</id>
		<title>Rode RODELink Filmmaker Kit</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Rode_RODELink_Filmmaker_Kit&amp;diff=6778"/>
		<updated>2026-08-12T12:36:41Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Comparison */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = RØDE RØDELink Filmmaker Kit&lt;br /&gt;
| image          = Rodelink.jpg&lt;br /&gt;
| caption        = RØDELink Transmitter, Receiver, Lavalier mic and accessories.&lt;br /&gt;
| manuals        = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The RØDE RØDELink Filmmaker Kit is a wireless lavalier microphone system. It has a bodypack-style transmitter with exchangeable lavalier mic (via 3.5mm jack connector). &amp;lt;br/&amp;gt;&lt;br /&gt;
The RØDELink kit has been made somewhat obsolescent by more modern, ultra-compact wireless microphone sets like the [[Hollyland Lark M2]], however it still offers some distinct benefits (see [[#Comparison]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contents==&lt;br /&gt;
The RØDE RØDELink Filmmaker Kit contains:&lt;br /&gt;
* 1 Wireless transmitter (TX-BELT)&lt;br /&gt;
* 1 Wireless receiver (RX-CAM)&lt;br /&gt;
* 1 RØDELink Lav microphone&lt;br /&gt;
* Foam wind screen&lt;br /&gt;
* Microphone pouch&lt;br /&gt;
* 3.5mm jack M-M cable&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| RØDELink Filmmaker Kit&lt;br /&gt;
|-&lt;br /&gt;
! Microphone&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Type || Lavalier (small condenser)&lt;br /&gt;
|-&lt;br /&gt;
| Polar Pattern || Omnidirectional&lt;br /&gt;
|-&lt;br /&gt;
| Frequency Response (Hz) || 20 - 20,000 &lt;br /&gt;
|- &lt;br /&gt;
| Accessories || Foam windshield&lt;br /&gt;
|-&lt;br /&gt;
| Max. SPL (dB) || 110&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm TRS Jack&lt;br /&gt;
|-&lt;br /&gt;
! Transmitter&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Power requirement || 2* AA battery, or MicroUSB&lt;br /&gt;
|-&lt;br /&gt;
| Features || Wireless (2.4GHz)&lt;br /&gt;
|-&lt;br /&gt;
| Mount || Belt-clip/cold-shoe&lt;br /&gt;
|-&lt;br /&gt;
| Range (m) || 100 (LOS)&lt;br /&gt;
|-&lt;br /&gt;
| Battery Capacity (mAh) || -&lt;br /&gt;
|-&lt;br /&gt;
| Weight (g) || 190&lt;br /&gt;
|-&lt;br /&gt;
! Receiver&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm jack&lt;br /&gt;
|-&lt;br /&gt;
| Power requirement || 2* AA battery, or MicroUSB&lt;br /&gt;
|-&lt;br /&gt;
| Features || Wireless (2.4GHz)&lt;br /&gt;
|-&lt;br /&gt;
| Mount || Clip/cold shoe&lt;br /&gt;
|-&lt;br /&gt;
| Battery Capacity (mAh) || -&lt;br /&gt;
|-&lt;br /&gt;
| Weight (g) || 190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references group=&amp;quot;fn&amp;quot; /&amp;gt; &amp;lt;!-- Automatically list notes/references in the table above --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
The RØDELink kit has no internal storage, so you will always have to connect it to a separate recording device, like a regular microphone. The transmitter was made to connect to a camera, but can also be connected to XLR recorder or [[Audio Interface]], or even to a PC, phone or laptop, using adapters that we have available.&lt;br /&gt;
&lt;br /&gt;
# Insert batteries into the transmitter and receiver units (press button and slide back cover down), or connect them to a USB power source via microUSB.&amp;lt;ref&amp;gt;When powering the transmitter and/or receiver via USB, we recommend using clean and isolated power sources like a powerbank, NOT a regular wall-charger. The latter can introduce noise.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Plug the lavalier microphone into the receiver.&lt;br /&gt;
# Connect the receiver to your recording device via 3.5mm jack cable.&lt;br /&gt;
# Turn on the transmitter and receiver. They should connect and pair automatically.&lt;br /&gt;
&lt;br /&gt;
For the best results, make sure the lavalier microphone is not covered by any layers of clothing or hair that may rustle against it. &amp;lt;br/&amp;gt;&lt;br /&gt;
Attach a wind screen when recording outside in windy conditions.&lt;br /&gt;
&lt;br /&gt;
When not using the kit, please remove the batteries from the transmitter and receiver.&lt;br /&gt;
&lt;br /&gt;
==Comparison==&lt;br /&gt;
Compared to ultra-compact wireless microphone sets like the [[Hollyland Lark M2]], the RØDELink system offers the following pros &amp;amp; cons:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pros&#039;&#039;&#039;&lt;br /&gt;
:👍 Swappable batteries, or limitless power via USB. Lets you record long days without having to (remember to) charge internal batteries.&lt;br /&gt;
:👍 Smaller mic. The mic itself is smaller because it does not have a built-in transmitter, so it&#039;s easier to hide/less obtrusive.&lt;br /&gt;
:👍 Replaceable mic. The lavalier mic can potentially be swapped out for other microphone styles, or with other polar patterns.&lt;br /&gt;
:👍 Large, readable controls. Big buttons and clear OLED displays make the set fool-proof and easy to use. &lt;br /&gt;
:👍 &amp;quot;Unlosable&amp;quot;? The mic connection, sturdy clips, and bulky transmitter make the set harder to accidentally drop, lose, or forget.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cons&#039;&#039;&#039;&lt;br /&gt;
:👎 Swappable batteries. You need to remember to always pack spare batteries, just in case.&lt;br /&gt;
:👎 No digital output. The USB port is for power input only.&lt;br /&gt;
:👎 Single channel. Each microphone requires its own transmitter and receiver. Most ultra-compacts offer 2 mics/channels per receiver.&lt;br /&gt;
:👎 Wired mic. The mic still connects to the transmitter via wire, which could snag, or has to run underneath your speaker&#039;s clothes (=more intrusive)&lt;br /&gt;
:👎 No noise-cancelling. Most ultra-compacts offer built-in ANC which helps when recording in noisy environments.&lt;br /&gt;
:👎 Bulky. The entire set is bulky and less portable. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The TSG will always consider these tradeoffs when advising a wireless microphone for you to use 🙂&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Microphones]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*[https://rode.com/en-us/products/rodelink-filmmaker-kit Official website]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
&amp;lt;references /&amp;gt; &amp;lt;!-- Automatically generates list of references using the &amp;lt;ref&amp;gt;&amp;lt;/ref&amp;gt; tags. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Main_Page&amp;diff=6777</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Main_Page&amp;diff=6777"/>
		<updated>2026-08-12T12:33:44Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{{Notice|The wiki has been updated with information on our &#039;&#039;&#039;new lab computer and peripherals&#039;&#039;&#039;!}}&lt;br /&gt;
&amp;lt;br/&amp;gt;--&amp;gt;&lt;br /&gt;
Welcome to the TSG Wiki! &lt;br /&gt;
&lt;br /&gt;
On this wiki you will find documentation for the Hardware, Software and Research Equipment used in the lab environments of the research facilities of the Radboud University&#039;s [http://www.ru.nl/socialsciences Faculty of Social Sciences], as well as other useful information. &amp;lt;br/&amp;gt;&lt;br /&gt;
To learn more about the Technical Support Group, visit [http://www.ru.nl/socialsciences/technicalsupportgroup/ our website] or the [[TSG info|about]] section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- WHEN ADDING/RENAMING LIST ENTRIES, KEEP THEM IN ALPHABETICAL ORDER PLEASE --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;&amp;quot;&amp;gt;&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📄Hardware Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[Audio Interface]]s&lt;br /&gt;
  | [[Balance Board]]&lt;br /&gt;
  | [[Biopac]]&lt;br /&gt;
  | [[Brainvision]]&lt;br /&gt;
  | [[ButtonBox]]es&lt;br /&gt;
  | [[Camera]]s&lt;br /&gt;
  | [[Lab Computer|Computers]]&lt;br /&gt;
  | [[Eyetracker]]s&lt;br /&gt;
  | [[Head Mounted Display]]s&lt;br /&gt;
  | [[Headphones]]&lt;br /&gt;
  | [[Ipod]] (Video &amp;amp; Audio Recording)&lt;br /&gt;
  | [[JoyStick]]s&lt;br /&gt;
  | [[Kinect]]&lt;br /&gt;
  | [[Laptop]]s&lt;br /&gt;
  | [[Microphone]]s&lt;br /&gt;
  | [[Monitor]]s&lt;br /&gt;
  | [[Optotrak]]  &lt;br /&gt;
  | [[Plux biosignals]]  &lt;br /&gt;
  | [[Qualisys]]&lt;br /&gt;
  | [[Structure sensor]]&lt;br /&gt;
  | [[TemperatureHumidity|TemperatureHumidity sensor]]&lt;br /&gt;
  | [[TMSi]] &lt;br /&gt;
  | [[Vertical Sync sensor]]  &lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📃Software Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[FFmpeg]] (Video Conversion)&lt;br /&gt;
  | [[LSL]]&lt;br /&gt;
  | [[Matlab]]&lt;br /&gt;
  | [[OBS Studio]] (Screen/Webcam Recording)&lt;br /&gt;
  | [[Presentation]]&lt;br /&gt;
  | [[Psychopy]]&lt;br /&gt;
  | [[Python]]&lt;br /&gt;
  | [[System Image]]&lt;br /&gt;
  | [[Unity]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Online Experiments&lt;br /&gt;
 {{Bulleted list  &lt;br /&gt;
  | [[Online Experiments|Overview of Online Systems]]&lt;br /&gt;
  | [[jsPsych]]&lt;br /&gt;
  | [[LimeSurvey]] (Online Questionnaires)&lt;br /&gt;
  | [[Online Experiments/Toolbox|Toolbox for online experiments]]&lt;br /&gt;
  | [[Web development]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Data Acquisition&lt;br /&gt;
{{Bulleted list   &lt;br /&gt;
  | [[Data Files|Data Formatting]]&lt;br /&gt;
  | [[Radcloud]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Stimuli&lt;br /&gt;
 {{Bulleted list &lt;br /&gt;
  | [[Audio]]  &lt;br /&gt;
  | [[Video Codecs]]  &lt;br /&gt;
  | [[Video Playback]]  &lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Miscellaneous&lt;br /&gt;
 {{Bulleted list  &lt;br /&gt;
  &amp;lt;!--| [https://wiki.dcc.science.ru.nl DCC Cluster]--&amp;gt;&lt;br /&gt;
  | [[Gitlab Social Sciences]]&lt;br /&gt;
  | [[IP Distribution Lab Computer]]&lt;br /&gt;
  | [[Mattermost Social Sciences]]&lt;br /&gt;
  | [[Virtualization Server]]  &lt;br /&gt;
 }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📄Lab Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[BalanceBoard Lab]]&lt;br /&gt;
  &amp;lt;!--| [[BCI Lab]]--&amp;gt;&lt;br /&gt;
  | [[Cubicle]]s (Standard Labs)&lt;br /&gt;
  | [[EEG Lab]]&lt;br /&gt;
  | [[Eye Tracker Lab]]&lt;br /&gt;
  | [[RIVER Lab]] (Virtual Reality)&lt;br /&gt;
  | [[SensoriMotorLab]]&lt;br /&gt;
  | [[Social Interaction Lab]]&lt;br /&gt;
  | [[Sound Recording Lab]]&lt;br /&gt;
  &amp;lt;!-- | [[VoiceKey Lab]] --&amp;gt;&lt;br /&gt;
  | [[TMS Lab]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Lab Use Policy and Guidelines&lt;br /&gt;
 {{Bulleted list&lt;br /&gt;
  | [[Booking labs]]&lt;br /&gt;
  | [[Media:EEG_lab_user_guide.pdf|EEG lab user guide]]&lt;br /&gt;
  | [[Media:Cleaningprocedure_EEG.pdf|EEG cleaning protocol]]&lt;br /&gt;
  | [[Using labs]]&lt;br /&gt;
  | [[Informed consent]]&lt;br /&gt;
 }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Main_Page&amp;diff=6776</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Main_Page&amp;diff=6776"/>
		<updated>2026-08-12T12:33:26Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{{Notice|The wiki has been updated with information on our &#039;&#039;&#039;new lab computer and peripherals&#039;&#039;&#039;!}}&lt;br /&gt;
&amp;lt;br/&amp;gt;--&amp;gt;&lt;br /&gt;
Welcome to the TSG Wiki! &lt;br /&gt;
&lt;br /&gt;
On this wiki you will find documentation for the Hardware, Software and Research Equipment used in the lab environments of the research facilities of the [http://www.ru.nl/socialsciences Radboud University&#039;s Faculty of Social Sciences], as well as other useful information. &amp;lt;br/&amp;gt;&lt;br /&gt;
To learn more about the Technical Support Group, visit [http://www.ru.nl/socialsciences/technicalsupportgroup/ our website] or the [[TSG info|about]] section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- WHEN ADDING/RENAMING LIST ENTRIES, KEEP THEM IN ALPHABETICAL ORDER PLEASE --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;&amp;quot;&amp;gt;&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📄Hardware Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[Audio Interface]]s&lt;br /&gt;
  | [[Balance Board]]&lt;br /&gt;
  | [[Biopac]]&lt;br /&gt;
  | [[Brainvision]]&lt;br /&gt;
  | [[ButtonBox]]es&lt;br /&gt;
  | [[Camera]]s&lt;br /&gt;
  | [[Lab Computer|Computers]]&lt;br /&gt;
  | [[Eyetracker]]s&lt;br /&gt;
  | [[Head Mounted Display]]s&lt;br /&gt;
  | [[Headphones]]&lt;br /&gt;
  | [[Ipod]] (Video &amp;amp; Audio Recording)&lt;br /&gt;
  | [[JoyStick]]s&lt;br /&gt;
  | [[Kinect]]&lt;br /&gt;
  | [[Laptop]]s&lt;br /&gt;
  | [[Microphone]]s&lt;br /&gt;
  | [[Monitor]]s&lt;br /&gt;
  | [[Optotrak]]  &lt;br /&gt;
  | [[Plux biosignals]]  &lt;br /&gt;
  | [[Qualisys]]&lt;br /&gt;
  | [[Structure sensor]]&lt;br /&gt;
  | [[TemperatureHumidity|TemperatureHumidity sensor]]&lt;br /&gt;
  | [[TMSi]] &lt;br /&gt;
  | [[Vertical Sync sensor]]  &lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📃Software Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[FFmpeg]] (Video Conversion)&lt;br /&gt;
  | [[LSL]]&lt;br /&gt;
  | [[Matlab]]&lt;br /&gt;
  | [[OBS Studio]] (Screen/Webcam Recording)&lt;br /&gt;
  | [[Presentation]]&lt;br /&gt;
  | [[Psychopy]]&lt;br /&gt;
  | [[Python]]&lt;br /&gt;
  | [[System Image]]&lt;br /&gt;
  | [[Unity]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Online Experiments&lt;br /&gt;
 {{Bulleted list  &lt;br /&gt;
  | [[Online Experiments|Overview of Online Systems]]&lt;br /&gt;
  | [[jsPsych]]&lt;br /&gt;
  | [[LimeSurvey]] (Online Questionnaires)&lt;br /&gt;
  | [[Online Experiments/Toolbox|Toolbox for online experiments]]&lt;br /&gt;
  | [[Web development]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Data Acquisition&lt;br /&gt;
{{Bulleted list   &lt;br /&gt;
  | [[Data Files|Data Formatting]]&lt;br /&gt;
  | [[Radcloud]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Stimuli&lt;br /&gt;
 {{Bulleted list &lt;br /&gt;
  | [[Audio]]  &lt;br /&gt;
  | [[Video Codecs]]  &lt;br /&gt;
  | [[Video Playback]]  &lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Miscellaneous&lt;br /&gt;
 {{Bulleted list  &lt;br /&gt;
  &amp;lt;!--| [https://wiki.dcc.science.ru.nl DCC Cluster]--&amp;gt;&lt;br /&gt;
  | [[Gitlab Social Sciences]]&lt;br /&gt;
  | [[IP Distribution Lab Computer]]&lt;br /&gt;
  | [[Mattermost Social Sciences]]&lt;br /&gt;
  | [[Virtualization Server]]  &lt;br /&gt;
 }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📄Lab Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[BalanceBoard Lab]]&lt;br /&gt;
  &amp;lt;!--| [[BCI Lab]]--&amp;gt;&lt;br /&gt;
  | [[Cubicle]]s (Standard Labs)&lt;br /&gt;
  | [[EEG Lab]]&lt;br /&gt;
  | [[Eye Tracker Lab]]&lt;br /&gt;
  | [[RIVER Lab]] (Virtual Reality)&lt;br /&gt;
  | [[SensoriMotorLab]]&lt;br /&gt;
  | [[Social Interaction Lab]]&lt;br /&gt;
  | [[Sound Recording Lab]]&lt;br /&gt;
  &amp;lt;!-- | [[VoiceKey Lab]] --&amp;gt;&lt;br /&gt;
  | [[TMS Lab]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Lab Use Policy and Guidelines&lt;br /&gt;
 {{Bulleted list&lt;br /&gt;
  | [[Booking labs]]&lt;br /&gt;
  | [[Media:EEG_lab_user_guide.pdf|EEG lab user guide]]&lt;br /&gt;
  | [[Media:Cleaningprocedure_EEG.pdf|EEG cleaning protocol]]&lt;br /&gt;
  | [[Using labs]]&lt;br /&gt;
  | [[Informed consent]]&lt;br /&gt;
 }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Main_Page&amp;diff=6775</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Main_Page&amp;diff=6775"/>
		<updated>2026-08-12T12:32:57Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{{Notice|The wiki has been updated with information on our &#039;&#039;&#039;new lab computer and peripherals&#039;&#039;&#039;!}}&lt;br /&gt;
&amp;lt;br/&amp;gt;--&amp;gt;&lt;br /&gt;
Welcome to the TSG Wiki! &lt;br /&gt;
&lt;br /&gt;
On this wiki you will find documentation for the Hardware, Software and Research Equipment used in the lab environments of the research facilities of the [http://www.ru.nl Radboud University]&#039;s [http://www.ru.nl/socialsciences Faculty of Social Sciences], as well as other useful information. &amp;lt;br/&amp;gt;&lt;br /&gt;
To learn more about the Technical Support Group, visit [http://www.ru.nl/socialsciences/technicalsupportgroup/ our website] or the [[TSG info|about]] section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- WHEN ADDING/RENAMING LIST ENTRIES, KEEP THEM IN ALPHABETICAL ORDER PLEASE --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;&amp;quot;&amp;gt;&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📄Hardware Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[Audio Interface]]s&lt;br /&gt;
  | [[Balance Board]]&lt;br /&gt;
  | [[Biopac]]&lt;br /&gt;
  | [[Brainvision]]&lt;br /&gt;
  | [[ButtonBox]]es&lt;br /&gt;
  | [[Camera]]s&lt;br /&gt;
  | [[Lab Computer|Computers]]&lt;br /&gt;
  | [[Eyetracker]]s&lt;br /&gt;
  | [[Head Mounted Display]]s&lt;br /&gt;
  | [[Headphones]]&lt;br /&gt;
  | [[Ipod]] (Video &amp;amp; Audio Recording)&lt;br /&gt;
  | [[JoyStick]]s&lt;br /&gt;
  | [[Kinect]]&lt;br /&gt;
  | [[Laptop]]s&lt;br /&gt;
  | [[Microphone]]s&lt;br /&gt;
  | [[Monitor]]s&lt;br /&gt;
  | [[Optotrak]]  &lt;br /&gt;
  | [[Plux biosignals]]  &lt;br /&gt;
  | [[Qualisys]]&lt;br /&gt;
  | [[Structure sensor]]&lt;br /&gt;
  | [[TemperatureHumidity|TemperatureHumidity sensor]]&lt;br /&gt;
  | [[TMSi]] &lt;br /&gt;
  | [[Vertical Sync sensor]]  &lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📃Software Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[FFmpeg]] (Video Conversion)&lt;br /&gt;
  | [[LSL]]&lt;br /&gt;
  | [[Matlab]]&lt;br /&gt;
  | [[OBS Studio]] (Screen/Webcam Recording)&lt;br /&gt;
  | [[Presentation]]&lt;br /&gt;
  | [[Psychopy]]&lt;br /&gt;
  | [[Python]]&lt;br /&gt;
  | [[System Image]]&lt;br /&gt;
  | [[Unity]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Online Experiments&lt;br /&gt;
 {{Bulleted list  &lt;br /&gt;
  | [[Online Experiments|Overview of Online Systems]]&lt;br /&gt;
  | [[jsPsych]]&lt;br /&gt;
  | [[LimeSurvey]] (Online Questionnaires)&lt;br /&gt;
  | [[Online Experiments/Toolbox|Toolbox for online experiments]]&lt;br /&gt;
  | [[Web development]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Data Acquisition&lt;br /&gt;
{{Bulleted list   &lt;br /&gt;
  | [[Data Files|Data Formatting]]&lt;br /&gt;
  | [[Radcloud]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Stimuli&lt;br /&gt;
 {{Bulleted list &lt;br /&gt;
  | [[Audio]]  &lt;br /&gt;
  | [[Video Codecs]]  &lt;br /&gt;
  | [[Video Playback]]  &lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Miscellaneous&lt;br /&gt;
 {{Bulleted list  &lt;br /&gt;
  &amp;lt;!--| [https://wiki.dcc.science.ru.nl DCC Cluster]--&amp;gt;&lt;br /&gt;
  | [[Gitlab Social Sciences]]&lt;br /&gt;
  | [[IP Distribution Lab Computer]]&lt;br /&gt;
  | [[Mattermost Social Sciences]]&lt;br /&gt;
  | [[Virtualization Server]]  &lt;br /&gt;
 }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📄Lab Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[BalanceBoard Lab]]&lt;br /&gt;
  &amp;lt;!--| [[BCI Lab]]--&amp;gt;&lt;br /&gt;
  | [[Cubicle]]s (Standard Labs)&lt;br /&gt;
  | [[EEG Lab]]&lt;br /&gt;
  | [[Eye Tracker Lab]]&lt;br /&gt;
  | [[RIVER Lab]] (Virtual Reality)&lt;br /&gt;
  | [[SensoriMotorLab]]&lt;br /&gt;
  | [[Social Interaction Lab]]&lt;br /&gt;
  | [[Sound Recording Lab]]&lt;br /&gt;
  &amp;lt;!-- | [[VoiceKey Lab]] --&amp;gt;&lt;br /&gt;
  | [[TMS Lab]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Lab Use Policy and Guidelines&lt;br /&gt;
 {{Bulleted list&lt;br /&gt;
  | [[Booking labs]]&lt;br /&gt;
  | [[Media:EEG_lab_user_guide.pdf|EEG lab user guide]]&lt;br /&gt;
  | [[Media:Cleaningprocedure_EEG.pdf|EEG cleaning protocol]]&lt;br /&gt;
  | [[Using labs]]&lt;br /&gt;
  | [[Informed consent]]&lt;br /&gt;
 }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Main_Page&amp;diff=6774</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Main_Page&amp;diff=6774"/>
		<updated>2026-08-12T12:31:12Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: Removed Qualtrics link now that the platform is no longer supported by the faculty&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{{Notice|The wiki has been updated with information on our &#039;&#039;&#039;new lab computer and peripherals&#039;&#039;&#039;!}}&lt;br /&gt;
&amp;lt;br/&amp;gt;--&amp;gt;&lt;br /&gt;
Welcome to the TSG Wiki! &lt;br /&gt;
&lt;br /&gt;
On this wiki you will find documentation for the Hardware, Software and Research Equipment used in the lab environments of the research facilities of the Radboud University&#039;s Faculty of Social Sciences, as well as other useful information. &amp;lt;br/&amp;gt;&lt;br /&gt;
To learn more about the Technical Support Group, visit [http://www.ru.nl/socialsciences/technicalsupportgroup/ our website] or the [[TSG info|about]] section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- WHEN ADDING/RENAMING LIST ENTRIES, KEEP THEM IN ALPHABETICAL ORDER PLEASE --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;&amp;quot;&amp;gt;&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📄Hardware Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[Audio Interface]]s&lt;br /&gt;
  | [[Balance Board]]&lt;br /&gt;
  | [[Biopac]]&lt;br /&gt;
  | [[Brainvision]]&lt;br /&gt;
  | [[ButtonBox]]es&lt;br /&gt;
  | [[Camera]]s&lt;br /&gt;
  | [[Lab Computer|Computers]]&lt;br /&gt;
  | [[Eyetracker]]s&lt;br /&gt;
  | [[Head Mounted Display]]s&lt;br /&gt;
  | [[Headphones]]&lt;br /&gt;
  | [[Ipod]] (Video &amp;amp; Audio Recording)&lt;br /&gt;
  | [[JoyStick]]s&lt;br /&gt;
  | [[Kinect]]&lt;br /&gt;
  | [[Laptop]]s&lt;br /&gt;
  | [[Microphone]]s&lt;br /&gt;
  | [[Monitor]]s&lt;br /&gt;
  | [[Optotrak]]  &lt;br /&gt;
  | [[Plux biosignals]]  &lt;br /&gt;
  | [[Qualisys]]&lt;br /&gt;
  | [[Structure sensor]]&lt;br /&gt;
  | [[TemperatureHumidity|TemperatureHumidity sensor]]&lt;br /&gt;
  | [[TMSi]] &lt;br /&gt;
  | [[Vertical Sync sensor]]  &lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📃Software Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[FFmpeg]] (Video Conversion)&lt;br /&gt;
  | [[LSL]]&lt;br /&gt;
  | [[Matlab]]&lt;br /&gt;
  | [[OBS Studio]] (Screen/Webcam Recording)&lt;br /&gt;
  | [[Presentation]]&lt;br /&gt;
  | [[Psychopy]]&lt;br /&gt;
  | [[Python]]&lt;br /&gt;
  | [[System Image]]&lt;br /&gt;
  | [[Unity]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Online Experiments&lt;br /&gt;
 {{Bulleted list  &lt;br /&gt;
  | [[Online Experiments|Overview of Online Systems]]&lt;br /&gt;
  | [[jsPsych]]&lt;br /&gt;
  | [[LimeSurvey]] (Online Questionnaires)&lt;br /&gt;
  | [[Online Experiments/Toolbox|Toolbox for online experiments]]&lt;br /&gt;
  | [[Web development]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Data Acquisition&lt;br /&gt;
{{Bulleted list   &lt;br /&gt;
  | [[Data Files|Data Formatting]]&lt;br /&gt;
  | [[Radcloud]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Stimuli&lt;br /&gt;
 {{Bulleted list &lt;br /&gt;
  | [[Audio]]  &lt;br /&gt;
  | [[Video Codecs]]  &lt;br /&gt;
  | [[Video Playback]]  &lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Miscellaneous&lt;br /&gt;
 {{Bulleted list  &lt;br /&gt;
  &amp;lt;!--| [https://wiki.dcc.science.ru.nl DCC Cluster]--&amp;gt;&lt;br /&gt;
  | [[Gitlab Social Sciences]]&lt;br /&gt;
  | [[IP Distribution Lab Computer]]&lt;br /&gt;
  | [[Mattermost Social Sciences]]&lt;br /&gt;
  | [[Virtualization Server]]  &lt;br /&gt;
 }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📄Lab Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[BalanceBoard Lab]]&lt;br /&gt;
  &amp;lt;!--| [[BCI Lab]]--&amp;gt;&lt;br /&gt;
  | [[Cubicle]]s (Standard Labs)&lt;br /&gt;
  | [[EEG Lab]]&lt;br /&gt;
  | [[Eye Tracker Lab]]&lt;br /&gt;
  | [[RIVER Lab]] (Virtual Reality)&lt;br /&gt;
  | [[SensoriMotorLab]]&lt;br /&gt;
  | [[Social Interaction Lab]]&lt;br /&gt;
  | [[Sound Recording Lab]]&lt;br /&gt;
  &amp;lt;!-- | [[VoiceKey Lab]] --&amp;gt;&lt;br /&gt;
  | [[TMS Lab]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Lab Use Policy and Guidelines&lt;br /&gt;
 {{Bulleted list&lt;br /&gt;
  | [[Booking labs]]&lt;br /&gt;
  | [[Media:EEG_lab_user_guide.pdf|EEG lab user guide]]&lt;br /&gt;
  | [[Media:Cleaningprocedure_EEG.pdf|EEG cleaning protocol]]&lt;br /&gt;
  | [[Using labs]]&lt;br /&gt;
  | [[Informed consent]]&lt;br /&gt;
 }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Qualtrics&amp;diff=6773</id>
		<title>Qualtrics</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Qualtrics&amp;diff=6773"/>
		<updated>2026-08-12T12:26:53Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox software&lt;br /&gt;
| name                   = Qualtrics&lt;br /&gt;
| logo                   = QualtricsLogo.png&lt;br /&gt;
| logo size              = 180px&lt;br /&gt;
| logo alt               = Qualtrics&lt;br /&gt;
| caption                = &lt;br /&gt;
| developer              = &lt;br /&gt;
| released               = &amp;lt;!-- {{Start date and age|YYYY|MM|DD|df=yes}} --&amp;gt;&lt;br /&gt;
| discontinued           = &lt;br /&gt;
| latest release version = &lt;br /&gt;
| latest release date    = &amp;lt;!-- {{Start date and age|YYYY|MM|DD|df=yes}} --&amp;gt;&lt;br /&gt;
| latest preview version = &lt;br /&gt;
| latest preview date    = &amp;lt;!-- {{Start date and age|YYYY|MM|DD|df=yes}} --&amp;gt;&lt;br /&gt;
| installed version      = &lt;br /&gt;
| installed version date = &amp;lt;!-- {{Start date and age|YYYY|MM|DD|df=yes}} --&amp;gt;&lt;br /&gt;
| status                 = &lt;br /&gt;
| programming language   = &lt;br /&gt;
| operating system       = &lt;br /&gt;
| platform               = Web&lt;br /&gt;
| website                = [https://www.qualtrics.com/ qualtrics.com]&lt;br /&gt;
| resources              = {{Infobox tsg&lt;br /&gt;
  | child = yes&lt;br /&gt;
  | header1 = FSW User Login&lt;br /&gt;
  | data1 = *[https://psychru.eu.qualtrics.com/login PsychRU Login Page]&lt;br /&gt;
 }}  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warn|&#039;&#039;&#039;The Faculty of Social Sciences has stopped the use of Qualtrics per August 1, 2026 (December 1 for researchers)&amp;lt;ref&amp;gt;https://www.ru.nl/en/staff/news/phasing-out-qualtrics&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;Employees and students are advised to create their surveys in [[LimeSurvey]] instead.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
Qualtrics calls itself &amp;quot;Experience Management Software&amp;quot;. We call it an online survey tool. Use of Qualtrics requires a subscription. &lt;br /&gt;
&lt;br /&gt;
The TSG does not provide support for Qualtrics, as online support by Qualtrics is included in the subscription. However, we can help with custom code if needed (HTML, CSS, Javascript).&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
While Qualtrics is a US-based company, using their service is allowed under General Data Protection Regulation (GDPR) since the Faculty and the Supplier have a data processing agreement. Usage is only allowed for those purposes where &#039;&#039;on campus&#039;&#039; storage of data is not considered necessary.&lt;br /&gt;
&lt;br /&gt;
=== Help ===&lt;br /&gt;
Please use the Qualtrics &#039;&#039;help &amp;gt; contact support&#039;&#039; function to contact the Support Center.&lt;br /&gt;
&lt;br /&gt;
For help with your account or data management, find contact details to our data officer and Qualtrics administrator on [https://www.radboudnet.nl/bsi/research-facilities-0/online-research/surveys#Qualtrics RadboudNet] (login required).&lt;br /&gt;
&lt;br /&gt;
== Tweaks ==&lt;br /&gt;
To add custom JavaScript, click the gear icon (Advanced Question Options) next to a question and click &#039;&#039;Add JavaScript...&#039;&#039; Here are two examples:&lt;br /&gt;
=== Check for leaving page ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var leaveDates = []&lt;br /&gt;
function handleLeave(event) {&lt;br /&gt;
    console.log(&amp;quot;out&amp;quot;)&lt;br /&gt;
    leaveDates.push(new Date().toISOString())&lt;br /&gt;
    alert(&amp;quot;Please don&#039;t leave the window&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
Qualtrics.SurveyEngine.addOnload(function(){&lt;br /&gt;
    console.log(&amp;quot;load&amp;quot;)   &lt;br /&gt;
    document.getElementById(&amp;quot;Page&amp;quot;).addEventListener(&amp;quot;mouseleave&amp;quot;, handleLeave, false)&lt;br /&gt;
})&lt;br /&gt;
&lt;br /&gt;
Qualtrics.SurveyEngine.addOnUnload(function(){&lt;br /&gt;
    console.log(&amp;quot;unload&amp;quot;)&lt;br /&gt;
    document.getElementById(&amp;quot;Page&amp;quot;).removeEventListener(&amp;quot;mouseleave&amp;quot;, handleLeave, false)&lt;br /&gt;
    Qualtrics.SurveyEngine.setEmbeddedData(&amp;quot;date&amp;quot;, leaveDates.join(&amp;quot;,&amp;quot;))&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== prevent cutting and pasting ===&lt;br /&gt;
Use the following code to prevent cutting and pasting from and to text fields, expect people to become angry if you use this.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Qualtrics.SurveyEngine.addOnReady(function(){&lt;br /&gt;
    /* Place your JavaScript here to run when the page is fully displayed */&lt;br /&gt;
    ee = document.getElementsByClassName(&amp;quot;InputText&amp;quot;)&lt;br /&gt;
    for(e of ee){&lt;br /&gt;
        e.onpaste=function(){ return false }&lt;br /&gt;
        e.oncut=function(){ return false }&lt;br /&gt;
    }&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Main_Page&amp;diff=6772</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Main_Page&amp;diff=6772"/>
		<updated>2026-08-12T12:25:56Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{{Notice|The wiki has been updated with information on our &#039;&#039;&#039;new lab computer and peripherals&#039;&#039;&#039;!}}&lt;br /&gt;
&amp;lt;br/&amp;gt;--&amp;gt;&lt;br /&gt;
Welcome to the TSG Wiki! &lt;br /&gt;
&lt;br /&gt;
On this wiki you will find documentation for the Hardware, Software and Research Equipment used in the lab environments of the research facilities of the Radboud University&#039;s Faculty of Social Sciences, as well as other useful information. &amp;lt;br/&amp;gt;&lt;br /&gt;
To learn more about the Technical Support Group, visit [http://www.ru.nl/socialsciences/technicalsupportgroup/ our website] or the [[TSG info|about]] section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- WHEN ADDING/RENAMING LIST ENTRIES, KEEP THEM IN ALPHABETICAL ORDER PLEASE --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;&amp;quot;&amp;gt;&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📄Hardware Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[Audio Interface]]s&lt;br /&gt;
  | [[Balance Board]]&lt;br /&gt;
  | [[Biopac]]&lt;br /&gt;
  | [[Brainvision]]&lt;br /&gt;
  | [[ButtonBox]]es&lt;br /&gt;
  | [[Camera]]s&lt;br /&gt;
  | [[Lab Computer|Computers]]&lt;br /&gt;
  | [[Eyetracker]]s&lt;br /&gt;
  | [[Head Mounted Display]]s&lt;br /&gt;
  | [[Headphones]]&lt;br /&gt;
  | [[Ipod]] (Video &amp;amp; Audio Recording)&lt;br /&gt;
  | [[JoyStick]]s&lt;br /&gt;
  | [[Kinect]]&lt;br /&gt;
  | [[Laptop]]s&lt;br /&gt;
  | [[Microphone]]s&lt;br /&gt;
  | [[Monitor]]s&lt;br /&gt;
  | [[Optotrak]]  &lt;br /&gt;
  | [[Plux biosignals]]  &lt;br /&gt;
  | [[Qualisys]]&lt;br /&gt;
  | [[Structure sensor]]&lt;br /&gt;
  | [[TemperatureHumidity|TemperatureHumidity sensor]]&lt;br /&gt;
  | [[TMSi]] &lt;br /&gt;
  | [[Vertical Sync sensor]]  &lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📃Software Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[FFmpeg]] (Video Conversion)&lt;br /&gt;
  | [[LSL]]&lt;br /&gt;
  | [[Matlab]]&lt;br /&gt;
  | [[OBS Studio]] (Screen/Webcam Recording)&lt;br /&gt;
  | [[Presentation]]&lt;br /&gt;
  | [[Psychopy]]&lt;br /&gt;
  | [[Python]]&lt;br /&gt;
  | [[System Image]]&lt;br /&gt;
  | [[Unity]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Online Experiments&lt;br /&gt;
 {{Bulleted list  &lt;br /&gt;
  | [[Online Experiments|Overview of Online Systems]]&lt;br /&gt;
  | [[jsPsych]]&lt;br /&gt;
  | [[LimeSurvey]] (Online Questionnaires)&lt;br /&gt;
  | [[Qualtrics]]&lt;br /&gt;
  | [[Online Experiments/Toolbox|Toolbox for online experiments]]&lt;br /&gt;
  | [[Web development]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Data Acquisition&lt;br /&gt;
{{Bulleted list   &lt;br /&gt;
  | [[Data Files|Data Formatting]]&lt;br /&gt;
  | [[Radcloud]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Stimuli&lt;br /&gt;
 {{Bulleted list &lt;br /&gt;
  | [[Audio]]  &lt;br /&gt;
  | [[Video Codecs]]  &lt;br /&gt;
  | [[Video Playback]]  &lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Miscellaneous&lt;br /&gt;
 {{Bulleted list  &lt;br /&gt;
  &amp;lt;!--| [https://wiki.dcc.science.ru.nl DCC Cluster]--&amp;gt;&lt;br /&gt;
  | [[Gitlab Social Sciences]]&lt;br /&gt;
  | [[IP Distribution Lab Computer]]&lt;br /&gt;
  | [[Mattermost Social Sciences]]&lt;br /&gt;
  | [[Virtualization Server]]  &lt;br /&gt;
 }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Main Page/Frame&lt;br /&gt;
 | color      = be311a&lt;br /&gt;
 | title      = 📄Lab Documentation&lt;br /&gt;
 | content    = {{Bulleted list&lt;br /&gt;
  | [[BalanceBoard Lab]]&lt;br /&gt;
  &amp;lt;!--| [[BCI Lab]]--&amp;gt;&lt;br /&gt;
  | [[Cubicle]]s (Standard Labs)&lt;br /&gt;
  | [[EEG Lab]]&lt;br /&gt;
  | [[Eye Tracker Lab]]&lt;br /&gt;
  | [[RIVER Lab]] (Virtual Reality)&lt;br /&gt;
  | [[SensoriMotorLab]]&lt;br /&gt;
  | [[Social Interaction Lab]]&lt;br /&gt;
  | [[Sound Recording Lab]]&lt;br /&gt;
  &amp;lt;!-- | [[VoiceKey Lab]] --&amp;gt;&lt;br /&gt;
  | [[TMS Lab]]&lt;br /&gt;
 }}&amp;lt;br/&amp;gt;&lt;br /&gt;
;Lab Use Policy and Guidelines&lt;br /&gt;
 {{Bulleted list&lt;br /&gt;
  | [[Booking labs]]&lt;br /&gt;
  | [[Media:EEG_lab_user_guide.pdf|EEG lab user guide]]&lt;br /&gt;
  | [[Media:Cleaningprocedure_EEG.pdf|EEG cleaning protocol]]&lt;br /&gt;
  | [[Using labs]]&lt;br /&gt;
  | [[Informed consent]]&lt;br /&gt;
 }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=TemperatureHumidity&amp;diff=6771</id>
		<title>TemperatureHumidity</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=TemperatureHumidity&amp;diff=6771"/>
		<updated>2026-08-12T12:25:22Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = TemperatureHumidity&lt;br /&gt;
| image          = &lt;br /&gt;
| caption        = TemperatureHumidity device&lt;br /&gt;
| downloads      = {{bulleted list&lt;br /&gt;
      | {{Download link|media=temperaturehumidity.zip|Custom Module|zip}}&lt;br /&gt;
      | [https://pypi.python.org/pypi/RuSocSci RuSocSci] (Python package)&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The TemperatureHumidity device is a little (15 x 5 x 5 cm) black box with a black sphere on top. As the name suggests, it can measure temperature and humidity.&lt;br /&gt;
&lt;br /&gt;
You can attach the device to a PC via USB. When connected, it will identify itself as a virtual serial port. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the &#039;&#039;rusocsci&#039;&#039; package. On the lab computers it may already be installed for you. Also install &#039;&#039;pytz&#039;&#039;, &#039;&#039;python-dateutil&#039;&#039; and &#039;&#039;pyqt4&#039;&#039;. Download the {{Download link|media=temperaturehumidity.zip|temperaturehumidity module}} and unzip it in the same directory as your experiment.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
Run the temperaturehumidity module and sensor by running the file &#039;temperaturehumidity.py&#039;. Double click it in explorer or load in the Psychopy Coder and click &#039;run&#039;.&lt;br /&gt;
&lt;br /&gt;
== Code example ==&lt;br /&gt;
You can read temperature and humidity values with any software that connects to a serial port. Most conveniently you can use the [https://pypi.python.org/pypi/RuSocSci RuSocSci] library in python.  Here is a little example how to write a script that reads the temperature and humidity and writes it to the standard output (console):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 #!/usr/bin/env python3&lt;br /&gt;
 import temperaturehumidity&lt;br /&gt;
 th = temperaturehumidity.TemperatureHumidity()&lt;br /&gt;
 print(th.waitString())&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential problems ==&lt;br /&gt;
The temperaturehumidity device identifies as a buttonbox. Lab computer are set up in a way that makes the second buttonbox behave different from all other devices. If you are using both the buttonbox and the temperaturehumidity device, please look up the port name of the temperaturehumidity device in the windows device manager and if it is for instance &#039;COM3&#039; then change the code above into:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 #!/usr/bin/env python3&lt;br /&gt;
 import temperaturehumidity&lt;br /&gt;
 th = temperaturehumidity.TemperatureHumidity(port=&#039;COM3&#039;)&lt;br /&gt;
 print(th.waitString())&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=TemperatureHumidity&amp;diff=6770</id>
		<title>TemperatureHumidity</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=TemperatureHumidity&amp;diff=6770"/>
		<updated>2026-08-12T12:23:04Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = TemperatureHumidity&lt;br /&gt;
| image          = &lt;br /&gt;
| caption        = TemperatureHumidity device&lt;br /&gt;
| downloads      = {{bulleted list&lt;br /&gt;
      | {{Download link|media=temperaturehumidity.zip|Custom Module|zip}}&lt;br /&gt;
      | [https://pypi.python.org/pypi/RuSocSci RuSocSci] (Python package)&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The TemperatureHumidity is a little (15 x 5 x 5 cm) black box with a black sphere on top. It is connected to your computer with the attached USB cable. When connected it will identify itself as a Virtual Serial port. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the &#039;&#039;rusocsci&#039;&#039; package. On the lab computers it may already be installed for you. Also install &#039;&#039;pytz&#039;&#039;, &#039;&#039;python-dateutil&#039;&#039; and &#039;&#039;pyqt4&#039;&#039;. Download the {{Download link|media=temperaturehumidity.zip|temperaturehumidity module}} and unzip it in the same directory as your experiment.&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
Run the temperaturehumidity module and sensor by running the file &#039;temperaturehumidity.py&#039;. Double click it in explorer or load in the Psychopy Coder and click &#039;run&#039;.&lt;br /&gt;
&lt;br /&gt;
== Code example ==&lt;br /&gt;
You can read temperature and humidity values with any software that connects to a serial port. Most conveniently you can use the [https://pypi.python.org/pypi/RuSocSci RuSocSci] library in python.  Here is a little example how to write a script that reads the temperature and humidity and writes it to the standard output (console):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 #!/usr/bin/env python3&lt;br /&gt;
 import temperaturehumidity&lt;br /&gt;
 th = temperaturehumidity.TemperatureHumidity()&lt;br /&gt;
 print(th.waitString())&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential problems ==&lt;br /&gt;
The temperaturehumidity device identifies as a buttonbox. Lab computer are set up in a way that makes the second buttonbox behave different from all other devices. If you are using both the buttonbox and the temperaturehumidity device, please look up the port name of the temperaturehumidity device in the windows device manager and if it is for instance &#039;COM3&#039; then change the code above into:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 #!/usr/bin/env python3&lt;br /&gt;
 import temperaturehumidity&lt;br /&gt;
 th = temperaturehumidity.TemperatureHumidity(port=&#039;COM3&#039;)&lt;br /&gt;
 print(th.waitString())&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Camcorder&amp;diff=6769</id>
		<title>Camcorder</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Camcorder&amp;diff=6769"/>
		<updated>2026-08-12T12:21:12Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = Camcorder&lt;br /&gt;
| image          = Canon_legria_hf_g26_videocamera_caleghfg262.jpg&lt;br /&gt;
| caption        = Canon Legria HF G26 Camcorder&lt;br /&gt;
| manuals        = {{bulleted list&lt;br /&gt;
      | {{Download link|media=Fsw-canon_legria_hf_g26-quickstart.pdf|Canon Legria HF G26 Quick Start Guide|pdf}}&lt;br /&gt;
      | {{Download link|media=Legriahfg26-im2-en.pdf|Canon Legria HF G26 User Manual|pdf}}&lt;br /&gt;
      | [https://hk.canon/en/support/0303440301 Canon XF405 Manual]&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Camcorders are video recording devices used to create stimuli and/or record participant behavior during research experiments. In an effort to standardize video recording formats and control interfaces, the TSG has adopted the Canon Legria and XA/XF ranges of camcorders for use in our research labs (effective 2019). For simple, more user-friendly video recordings, you can use [[Ipod|iPods]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot;| &lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot;| [[File:Canon_legria_hf_g26_videocamera_caleghfg262.jpg ‎|200px|Image: 200 pixels]]&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot;| [[File:Canon-XF405-Side-Front.jpg ‎|200px|Image: 200 pixels]]&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;!-- empty cell --&amp;gt;&lt;br /&gt;
! Canon Legria HF G26&lt;br /&gt;
! Canon XF405&lt;br /&gt;
|-&lt;br /&gt;
| Sensor  || 1/2.84&amp;quot; CMOS || 1.0&amp;quot; CMOS&lt;br /&gt;
|-&lt;br /&gt;
| Max. Resolution (pixels) || 1920 x 1080 (Full HD) || 3830 x 2160 (4K)&lt;br /&gt;
|-&lt;br /&gt;
| Supported frame rates || 25p, 50i || 25p, 50p&lt;br /&gt;
|-&lt;br /&gt;
| Recording formats || AVCHD, MP4&amp;lt;ref group=&amp;quot;sp&amp;quot; name=&amp;quot;format&amp;quot;&amp;gt;Maximum bit rate, resolution and frame rate may be limited when choosing MP4&amp;lt;/ref&amp;gt; || XF-AVC, MP4&amp;lt;ref group=&amp;quot;sp&amp;quot; name=&amp;quot;format&amp;quot;/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! I/O&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| &amp;lt;!-- set to number of item-columns --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Recording Medium || SD card || SD card&lt;br /&gt;
|-&lt;br /&gt;
| Video Outputs || Mini A/V, HDMI || HDMI, 3G-SDI&amp;lt;ref group=&amp;quot;sp&amp;quot;&amp;gt;3G-SDI video output limits resolution to 1080p.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Headphone Output&lt;br /&gt;
| style=&amp;quot;background-color:#9F9;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;background-color:#9F9;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| Microphone Inputs || 1x 3.5mm jack || 2x XLR (+phantom)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references group=&amp;quot;sp&amp;quot; /&amp;gt; &amp;lt;!-- Automatically list notes/references in the table above --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
===Observation===&lt;br /&gt;
The most common use of our camcorders is to record participant behavior in our labs. Be aware of your recording settings when filming many participants for many hours: the higher the resolution, framerate and bitrate, the larger the file size. Large files may take a long time to transfer and backup, and will cost the faculty a lot of server storage space when archived in Workgroup folders and Data repositories. The TSG advices the following settings for general purpose recordings for an optimal quality to file-size ratio, as well as for easy importing in any video coding software:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|- &lt;br /&gt;
| Format || MP4&lt;br /&gt;
|-&lt;br /&gt;
| Resolution || 1280 * 720 pixels (720p)&lt;br /&gt;
|-&lt;br /&gt;
| Framerate || 25 fps (progressive)&lt;br /&gt;
|-&lt;br /&gt;
| Bitrate || 4 Mbps (for h264 codec)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you wish to record highly detailed movements, or retain more detail over larger distances, increase the resolution and bitrate. In most cameras these values are linked. Check the user manual or our quick start guide for your camera model to see how to adjust these settings.&lt;br /&gt;
&lt;br /&gt;
===Stimuli Recording===&lt;br /&gt;
If you wish to use our camcorders to record video for creating stimuli, please contact [[Erik van den Berge]].&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Cameras]]&lt;br /&gt;
*[[Video Codecs]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
==References== &lt;br /&gt;
&amp;lt;references /&amp;gt; &lt;br /&gt;
 --&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Social_Interaction_Lab&amp;diff=6768</id>
		<title>Social Interaction Lab</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Social_Interaction_Lab&amp;diff=6768"/>
		<updated>2026-08-12T12:08:14Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Under construction}} &amp;lt;!-- awaiting mirrorbox experiment to leave so we can build up and document the lab properly... --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Infobox tsg&lt;br /&gt;
  | name           = Social Interaction Lab&lt;br /&gt;
  | image          = &lt;br /&gt;
  | caption        = &lt;br /&gt;
  | location       = MM 00.453&lt;br /&gt;
  | manuals = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The Social Interaction Lab is designed as a flexible space for observing and recording social interactions between two or more individuals. It can also be used to record AV stimuli.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Physical Properties=&lt;br /&gt;
The lab measures about 4x5m, with a high ceiling of 3.8m. The floor is carpeted, and all 4 walls (incuding the door) can be covered with dark green curtains to minimize reverb and provide a darker, more uniform video background. &lt;br /&gt;
The lab does not contain any fixed setup of equipment or furniture, except for a skyrail system to which cameras, microphones, lights, and other gear can be suspended.&lt;br /&gt;
&lt;br /&gt;
=Equipment=&lt;br /&gt;
==Video Recording==&lt;br /&gt;
The Social Interaction Lab is equipped with Canon XF405 [[Camcorders]]. They are connected to a recording PC via SDI, where up to 4 cameras can be recorded simultaneously using Metus INGEST software.&lt;br /&gt;
Note: recording resolution of the XF405 is limited to 1080p over SDI. For 4K recording, you will have to use SD cards.&lt;br /&gt;
&lt;br /&gt;
Camcorders are mounted on motorized pan-tilt heads, which can be operated remotely, so you can adjust the camera angle at any moment. Some camera settings can also be adjusted remotely.&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
When recording video, we recommend placing additional lights in the lab to create more even lighting of your subject(s). The regular lab lights, while flicker-free, can create harsh shadows and banding issues.&lt;br /&gt;
===Available lighting equipment===&lt;br /&gt;
* 2x Amaran F22x LED panel (60*60cm, 200W, Bi-Color)⚠️&lt;br /&gt;
* 2x Amaran F21x LED panel (60*30cm, 100W, Bi-Color)&lt;br /&gt;
* 1x Amaran F21c LED panel (60x30cm, 100W, RGBWW)&lt;br /&gt;
* 2x Amaran COB 60xS (60W, Bi-Color)⚠️&lt;br /&gt;
&lt;br /&gt;
⚠️ &#039;&#039;Indicated lights contain a fan that may that may impact audio recordings. &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modifiers:&#039;&#039;&#039;&lt;br /&gt;
* 1x Lantern for Amaran F22x&lt;br /&gt;
* 2x Barn doors for Amaran COB.&lt;br /&gt;
&lt;br /&gt;
==Audio Recording==&lt;br /&gt;
For recording audio (along with video, or separately), we typically use [[Sennheiser MKE600]] shotgun microphones, boomed overhead. There are typically up to 4 such microphones available in the lab; the exact amount and positioning will depend on your situation.&lt;br /&gt;
&lt;br /&gt;
Microphones can be simultaneously connected to a camera (for recording on video) and an LSL streaming device, e.g. for synchronising audio and video to other measurement devices.&lt;br /&gt;
&lt;br /&gt;
==Motion Capture==&lt;br /&gt;
The Social Interaction Lab is home to a [[Qualisys]] system consisting of 10 Miqus Hybrid cameras. These cameras can be used for both marker tracking and markerless tracking. &lt;br /&gt;
&lt;br /&gt;
If you wish to use motion capture in your experiment, or for creating stimuli, please contact the TSG. They will help you with camera placement and settings for optimal recording quality, as well as instruct you on how to use the system &amp;lt;ref&amp;gt;We currently do not provide support for markerless tracking&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
Contact the TSG for instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References= &lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Social_Interaction_Lab&amp;diff=6767</id>
		<title>Social Interaction Lab</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Social_Interaction_Lab&amp;diff=6767"/>
		<updated>2026-08-12T12:07:36Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Available lighting equipment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Under construction}} &amp;lt;!-- awaiting mirrorbox experiment to leave so we can build up and document the lab properly... --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Infobox tsg&lt;br /&gt;
  | name           = Social Interaction Lab&lt;br /&gt;
  | image          = &lt;br /&gt;
  | caption        = &lt;br /&gt;
  | location       = MM 00.453&lt;br /&gt;
  | manuals = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The Social Interaction Lab is designed as a flexible space for observing and recording social interactions between two or more individuals. It can also be used to record AV stimuli.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Physical Properties==&lt;br /&gt;
The lab measures about 4x5m, with a high ceiling of 3.8m. The floor is carpeted, and all 4 walls (incuding the door) can be covered with dark green curtains to minimize reverb and provide a darker, more uniform video background. &lt;br /&gt;
The lab does not contain any fixed setup of equipment or furniture, except for a skyrail system to which cameras, microphones, lights, and other gear can be suspended.&lt;br /&gt;
&lt;br /&gt;
==Equipment==&lt;br /&gt;
===Video Recording===&lt;br /&gt;
The Social Interaction Lab is equipped with Canon XF405 [[Camcorders]]. They are connected to a recording PC via SDI, where up to 4 cameras can be recorded simultaneously using Metus INGEST software.&lt;br /&gt;
Note: recording resolution of the XF405 is limited to 1080p over SDI. For 4K recording, you will have to use SD cards.&lt;br /&gt;
&lt;br /&gt;
Camcorders are mounted on motorized pan-tilt heads, which can be operated remotely, so you can adjust the camera angle at any moment. Some camera settings can also be adjusted remotely.&lt;br /&gt;
&lt;br /&gt;
===Lighting===&lt;br /&gt;
When recording video, we recommend placing additional lights in the lab to create more even lighting of your subject(s). The regular lab lights, while flicker-free, can create harsh shadows and banding issues.&lt;br /&gt;
====Available lighting equipment====&lt;br /&gt;
* 2x Amaran F22x LED panel (60*60cm, 200W, Bi-Color)⚠️&lt;br /&gt;
* 2x Amaran F21x LED panel (60*30cm, 100W, Bi-Color)&lt;br /&gt;
* 1x Amaran F21c LED panel (60x30cm, 100W, RGBWW)&lt;br /&gt;
* 2x Amaran COB 60xS (60W, Bi-Color)⚠️&lt;br /&gt;
&lt;br /&gt;
⚠️ &#039;&#039;Indicated lights contain a fan that may that may impact audio recordings. &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modifiers:&#039;&#039;&#039;&lt;br /&gt;
* 1x Lantern for Amaran F22x&lt;br /&gt;
* 2x Barn doors for Amaran COB.&lt;br /&gt;
&lt;br /&gt;
===Audio Recording===&lt;br /&gt;
For recording audio (along with video, or separately), we typically use [[Sennheiser MKE600]] shotgun microphones, boomed overhead. There are typically up to 4 such microphones available in the lab; the exact amount and positioning will depend on your situation.&lt;br /&gt;
&lt;br /&gt;
Microphones can be simultaneously connected to a camera (for recording on video) and an LSL streaming device, e.g. for synchronising audio and video to other measurement devices.&lt;br /&gt;
&lt;br /&gt;
===Motion Capture===&lt;br /&gt;
The Social Interaction Lab is home to a [[Qualisys]] system consisting of 10 Miqus Hybrid cameras. These cameras can be used for both marker tracking and markerless tracking. &lt;br /&gt;
&lt;br /&gt;
If you wish to use motion capture in your experiment, or for creating stimuli, please contact the TSG. They will help you with camera placement and settings for optimal recording quality, as well as instruct you on how to use the system &amp;lt;ref&amp;gt;We currently do not provide support for markerless tracking&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
Contact the TSG for instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Social_Interaction_Lab&amp;diff=6766</id>
		<title>Social Interaction Lab</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Social_Interaction_Lab&amp;diff=6766"/>
		<updated>2026-08-12T12:05:14Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Available lighting equipment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Under construction}} &amp;lt;!-- awaiting mirrorbox experiment to leave so we can build up and document the lab properly... --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Infobox tsg&lt;br /&gt;
  | name           = Social Interaction Lab&lt;br /&gt;
  | image          = &lt;br /&gt;
  | caption        = &lt;br /&gt;
  | location       = MM 00.453&lt;br /&gt;
  | manuals = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The Social Interaction Lab is designed as a flexible space for observing and recording social interactions between two or more individuals. It can also be used to record AV stimuli.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Physical Properties==&lt;br /&gt;
The lab measures about 4x5m, with a high ceiling of 3.8m. The floor is carpeted, and all 4 walls (incuding the door) can be covered with dark green curtains to minimize reverb and provide a darker, more uniform video background. &lt;br /&gt;
The lab does not contain any fixed setup of equipment or furniture, except for a skyrail system to which cameras, microphones, lights, and other gear can be suspended.&lt;br /&gt;
&lt;br /&gt;
==Equipment==&lt;br /&gt;
===Video Recording===&lt;br /&gt;
The Social Interaction Lab is equipped with Canon XF405 [[Camcorders]]. They are connected to a recording PC via SDI, where up to 4 cameras can be recorded simultaneously using Metus INGEST software.&lt;br /&gt;
Note: recording resolution of the XF405 is limited to 1080p over SDI. For 4K recording, you will have to use SD cards.&lt;br /&gt;
&lt;br /&gt;
Camcorders are mounted on motorized pan-tilt heads, which can be operated remotely, so you can adjust the camera angle at any moment. Some camera settings can also be adjusted remotely.&lt;br /&gt;
&lt;br /&gt;
===Lighting===&lt;br /&gt;
When recording video, we recommend placing additional lights in the lab to create more even lighting of your subject(s). The regular lab lights, while flicker-free, can create harsh shadows and banding issues.&lt;br /&gt;
====Available lighting equipment====&lt;br /&gt;
* 2x Amaran F22x LED panel (60*60cm, 200W, Bi-Color)&amp;lt;ref group=&amp;quot;fn&amp;quot; name=&amp;quot;noisyboy&amp;quot;&amp;gt;This light has a fan that may impact audio recordings&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 2x Amaran F21x LED panel (60*30cm, 100W, Bi-Color)&lt;br /&gt;
* 1x Amaran F21c LED panel (60x30cm, 100W, RGBWW)&lt;br /&gt;
* 2x Amaran COB 60xS (60W, Bi-Color)&amp;lt;ref group=&amp;quot;fn&amp;quot;  name=&amp;quot;noisyboy&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifiers:&lt;br /&gt;
* 1x Lantern for Amaran F22x&lt;br /&gt;
* 2x Barn doors for Amaran COB.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;references group=&amp;quot;fn&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Audio Recording===&lt;br /&gt;
For recording audio (along with video, or separately), we typically use [[Sennheiser MKE600]] shotgun microphones, boomed overhead. There are typically up to 4 such microphones available in the lab; the exact amount and positioning will depend on your situation.&lt;br /&gt;
&lt;br /&gt;
Microphones can be simultaneously connected to a camera (for recording on video) and an LSL streaming device, e.g. for synchronising audio and video to other measurement devices.&lt;br /&gt;
&lt;br /&gt;
===Motion Capture===&lt;br /&gt;
The Social Interaction Lab is home to a [[Qualisys]] system consisting of 10 Miqus Hybrid cameras. These cameras can be used for both marker tracking and markerless tracking. &lt;br /&gt;
&lt;br /&gt;
If you wish to use motion capture in your experiment, or for creating stimuli, please contact the TSG. They will help you with camera placement and settings for optimal recording quality, as well as instruct you on how to use the system &amp;lt;ref&amp;gt;We currently do not provide support for markerless tracking&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
Contact the TSG for instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=BCI_Lab&amp;diff=6765</id>
		<title>BCI Lab</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=BCI_Lab&amp;diff=6765"/>
		<updated>2026-08-12T11:57:25Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Outdated}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox tsg&lt;br /&gt;
  | name           = EEG BCI Labs&lt;br /&gt;
  | image          = &lt;br /&gt;
  | caption        = &lt;br /&gt;
  | manuals = {{bulleted list&lt;br /&gt;
      | {{Download link|media=Connection_diagram_lab1-with_behringer.pdf|Connection Scheme lab 1|pdf}}&lt;br /&gt;
      | {{Download link|media=Connection_diagram_lab2-with_behringer.pdf|Connection Scheme lab 2|pdf}}&lt;br /&gt;
      | {{Download link|media=Connection_diagram_lab3-with_behringer.pdf|Connection Scheme lab 3|pdf}}&lt;br /&gt;
      | {{Download link|media=Connection_diagram_demolab.pdf|Connection Scheme lab 3 portable demo setup|pdf}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equipment== &lt;br /&gt;
*Apple iMac (model 2016) running OSX 10.12 El Capitan&lt;br /&gt;
*[[Benq XL2420Z]]&lt;br /&gt;
*[[Behringer_X-Air_XR18|Behringer audio mixer]] (note: links to information specific for PC lab setup!)&lt;br /&gt;
*AudioEngine A2 Speakers&lt;br /&gt;
*EEG equipment: &amp;lt;br /&amp;gt;&lt;br /&gt;
:Biosemi Active II amplifier with maximum of 8 x 32-channels (lab 1) or 2 x 32-channels (lab2,3)  &amp;lt;br /&amp;gt;&lt;br /&gt;
:Analog Input Box, 24 channels (lab 1,2) and 8 channels (lab 3) &lt;br /&gt;
:USB receiver&lt;br /&gt;
*Midi controlled markers to insert triggers (via BioSemi USB receiver)&lt;br /&gt;
*Eyelink 1000 eye tracker - lab 1 only! - (camera shared with [[Eyelink1000plussetup#Eyelink1000|remote]] system)&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
*{{Download link|media=BCILabProtocol.pdf|EEG BCI lab user guide|pdf}}&lt;br /&gt;
&lt;br /&gt;
=== Display Settings ===&lt;br /&gt;
Both external Benq displays are hardware-wise cloned (different from main iMac screen).&lt;br /&gt;
&lt;br /&gt;
Monitor: BenQ XL2420Z&lt;br /&gt;
Refresh Rate: 120hz&lt;br /&gt;
Resolution: 1920*1080 (1080p)&lt;br /&gt;
Color depth: 32bit&lt;br /&gt;
Display Configuration: external Display 2 cloned with external Display 1&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Presentation&amp;diff=6764</id>
		<title>Presentation</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Presentation&amp;diff=6764"/>
		<updated>2026-08-12T08:32:41Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox software&lt;br /&gt;
| name                   = Presentation&lt;br /&gt;
| logo                   = Presentation_name.png&lt;br /&gt;
| logo size              = 200px&lt;br /&gt;
| logo alt               = Presentation&lt;br /&gt;
| screenshot             = &lt;br /&gt;
| caption                = &lt;br /&gt;
| developer              = Neuro Behavioral Systems&lt;br /&gt;
| installed version      = varies &amp;lt;ref&amp;gt;See [[Pre-installed software]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
| installed version date = &amp;lt;!-- {{Start date and age|YYYY|MM|DD|df=yes}} --&amp;gt;&lt;br /&gt;
| platform               = Windows&lt;br /&gt;
| language count         = &lt;br /&gt;
| website                = [https://www.neurobs.com/ neurobs.com]&lt;br /&gt;
| resources              = &lt;br /&gt;
  {{Infobox tsg&lt;br /&gt;
    | child              = yes&lt;br /&gt;
    | downloads          = {{bulleted list&lt;br /&gt;
        | {{Surfdrive|zDtYMmAvg4NoZXj|Installers &amp;amp; Other Resources}}&lt;br /&gt;
        | [https://www.neurobs.com/menu_presentation/menu_download/package_player Package player]&lt;br /&gt;
    }}&lt;br /&gt;
    | header2            = Templates&lt;br /&gt;
    | data2              = *{{Surfdrive|https://surfdrive.surf.nl/s/tWYD6jFQpDcgpZL|Template 2017}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Presentation is a Windows based programming tool that allows experimenters to set up and program all sort of experiments. It is the recommended software for time-accurate experiments and therefore supported by the institutes’ (Social Sciences Faculty, the MPI and the Donders Centre for Cognitive Neuroimaging) technical groups. The technical groups offer (PhD) students a couple of pre-programmed experiments (i.e. templates), which can be adjusted to build up own experiments. In this way, the (PhD) student can efficiently program experiments fitting an technical optimal environment. This is what this course is all about. It aims at teaching programming skills, which are needed to modify the existing templates such that they meet your own demands. Because this can be quite complex, we start with short assignments, which address one basic and simple problem at a time. They will all contribute to the final assignment in which you will work on an existing template.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course ==&lt;br /&gt;
&lt;br /&gt;
Find the presentation workshop documentation here: {{Download link|media=Programming with Presentation 2013.pdf}}&lt;br /&gt;
&lt;br /&gt;
Find the presentation pre-reader here: {{Download link|media=Presentation pcl pre-read 2013 .pdf}}&lt;br /&gt;
&lt;br /&gt;
== License ==&lt;br /&gt;
&lt;br /&gt;
To run presentation in the labs you need a software dongle. Reserve a dongle when you book a lab. If you need a dongle for research outside the university, discuss this with your [[Lab Coordinator]].&lt;br /&gt;
&lt;br /&gt;
When you want to run in your office use the network license. Boot presentation, choose option &#039;&#039;&#039;&amp;quot;activations&amp;quot; -&amp;gt; &amp;quot;Network&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Fill in the following within the &amp;quot;&#039;&#039;&#039;Network License Settings&amp;quot;&#039;&#039;&#039;:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Enable Hostname:&lt;br /&gt;
| lic-pres.socsci.ru.nl&lt;br /&gt;
|-&lt;br /&gt;
! Port: &lt;br /&gt;
| 1245&lt;br /&gt;
|- &lt;br /&gt;
! Timeout (ms): &lt;br /&gt;
| 5000 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:PresentationLicentie.jpg | 700px ]]&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
Presentation only supports non-proprietary video formats.&amp;lt;ref&amp;gt;https://www.neurobs.com/menu_support/menu_forums/view_thread?id=8785#i6&amp;lt;/ref&amp;gt; Neurobs recommends encoding your videos using h264 or XVID, and using the AVI format.&amp;lt;ref&amp;gt;https://neurobs.com/menu_presentation/menu_documentation/video&amp;lt;/ref&amp;gt; The TSG discourages the use of XVID and AVI, because these standards have become obsolete in recent years, but since we have had little success getting alternative non-proprietary video formats to work in Presentation,&amp;lt;ref&amp;gt;[[Video_Codecs#Software_support]]&amp;lt;/ref&amp;gt; it seems the use of AVI is inevitable. You can find more information on how to export and convert your videos for Neurobs Presentation on our [[Video Codecs#Neurobs Presentation|Video Codecs page]].&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
In Neurobs Presentation please use *exclusive mode* to get the best audio performance. This means that no other programs&lt;br /&gt;
can use the audio device while the experiment runs.&lt;br /&gt;
&lt;br /&gt;
[[File:SoundSettings.png|Presentation Mixer Settings]]&lt;br /&gt;
&lt;br /&gt;
The maximum audio delay in Presentation on a lab computer at the faculty of social sciences is 24 ms. If better performance &lt;br /&gt;
is necessary or more understanding is needed about the components of this delay, please read our page about [[audio delay]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to present sounds in Presentation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
in SDL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sound{&lt;br /&gt;
    wavefile{&lt;br /&gt;
        filename = &amp;quot;beep.wav&amp;quot;; 	# The name of the sound file.&lt;br /&gt;
        preload=true; 		# Make sure that the sound is loaded before it is actually used.&lt;br /&gt;
    }myWave;&lt;br /&gt;
}mySound;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure to use &#039;&#039;&#039;preload = true;&#039;&#039;&#039;. This ensures that the sound is loaded into memory before the sound is used.&lt;br /&gt;
&lt;br /&gt;
in PCL:&lt;br /&gt;
&lt;br /&gt;
Prepare your stimuli during Inter Trial Interval, when there is enough time to do that. First, unload the previous sound, set the filename property to the new soundfile and load it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub prepareTrial &lt;br /&gt;
begin&lt;br /&gt;
    myWave.unload();&lt;br /&gt;
    myWave.set_filename(&amp;quot;beep.wav&amp;quot;); # or read the name from a trial list.&lt;br /&gt;
    myWave.load();&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During your experiment the sound is presented by:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
startOfPlaycall = clock.time();&lt;br /&gt;
mySound.present();&lt;br /&gt;
endOfPlaycall = clock.time();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the moment when the sound can actually be heard from the speakers is later then the moment when the &#039;&#039;&#039;mySound.present()&#039;&#039;&#039; function is called. In our labs [march 2019], the delay (from &#039;&#039;&#039;startOfPlaycall&#039;&#039;&#039; until actual sound onset) is about 14 to 24 milliseconds when the Presenation mixer is used in exclusive mode. The function itself takes some (variable) time to execute. That time can, in the example above, be calculated by &#039;&#039;&#039;endOfPlaycall - startOfPlaycall&#039;&#039;&#039;. Then, some additional time is required before the sound actually is heard from the speakers. In our labs, that additional delay (from &#039;&#039;&#039;endOfPlaycall&#039;&#039;&#039; until actual sound onset) is about 5 to 8 milliseconds [March 2019]. When your experiment requires an exact knowledge about when the sound actually plays from the speakers, you need additional hardware, for instance a buttonbox with a soundkey.&lt;br /&gt;
&lt;br /&gt;
More information about sound delays is found on our page about [[audio delay]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
==== Version History ====&lt;br /&gt;
&lt;br /&gt;
For version history please click here: http://www.neurobs.com/menu_presentation/menu_download/version_history&lt;br /&gt;
&lt;br /&gt;
==== Fixed Bugs ====&lt;br /&gt;
&lt;br /&gt;
For fixed bug / known bugs please click here: http://www.neurobs.com/menu_support/menu_help_resources/known_bugs&lt;br /&gt;
&lt;br /&gt;
==== Forum ====&lt;br /&gt;
&lt;br /&gt;
For various information please click here: http://www.neurobs.com/menu_support/menu_forums/contents_page&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
For the Documentation click here: https://neurobs.com/presentation/docs/index_html&lt;br /&gt;
&lt;br /&gt;
==== Compatibility Issues ====&lt;br /&gt;
&lt;br /&gt;
*Always check beforehand in which version the script was written.&lt;br /&gt;
*New versions do not always maintain backwards compatibility.&lt;br /&gt;
*Features can get removed, or changed.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Eyetracker&amp;diff=6758</id>
		<title>Eyetracker</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Eyetracker&amp;diff=6758"/>
		<updated>2026-08-11T15:44:19Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== SR Research ==&lt;br /&gt;
&lt;br /&gt;
[[image:SR_logo.jpg | right |150px]]&lt;br /&gt;
[[File:eyelink.jpg|thumb|200px|SR Research EyeLink II]]&lt;br /&gt;
&lt;br /&gt;
=== EyeLink II ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The EyeLink II system consists of three miniature cameras mounted on a padded headband. Two eye cameras allow binocular eye tracking or selection of the subject’s dominant eye. &lt;br /&gt;
&lt;br /&gt;
An optical head-tracking camera integrated into the headband allows accurate tracking of the subject’s point of gaze without the need for a bite bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specifications&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:200px;&amp;quot;|EyeLink II &lt;br /&gt;
|-&lt;br /&gt;
| 500 Hz binocular eye monitoring&lt;br /&gt;
|-&lt;br /&gt;
| 0.5º average accuracy&lt;br /&gt;
|-&lt;br /&gt;
| Access eye position data with 3.0 msec delay&lt;br /&gt;
|-&lt;br /&gt;
| 0.01º RMS resolution&lt;br /&gt;
|-&lt;br /&gt;
| High quality computer based or scene camera eye tracking&lt;br /&gt;
|-&lt;br /&gt;
| Fast and simple participant setup, calibration, and validation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EyeLink 1000 ===&lt;br /&gt;
[[image:Eyelink1000.jpg | right |150px]]&lt;br /&gt;
*[https://www.sr-research.com/eyelink-1000-plus/ EyeLink 1000 (Plus) product page]&lt;br /&gt;
&lt;br /&gt;
The core of the EyeLink 1000 eye tracker consists of a custom designed high-speed camera connected to a dedicated Host computer. Running on a real-time operating system, the Host software provides extremely fast eye sample access with incredibly low inter-sample variability, accessed via a set of programming interfaces for multiple operating systems and programming languages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specifications&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Eyelink 1000 and Eyelink 1000 Plus&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
| Sampling Rate || Head Supported: 2000 Hz Monocular / 1000 Hz Binocular &lt;br /&gt;
Remote / Head Free: 500 Hz Monocular&lt;br /&gt;
|-&lt;br /&gt;
| Accuracy || Head Supported: 0.25º -0.5º average accuracy&lt;br /&gt;
Remote / Head Free: 0.5º average accuracy&lt;br /&gt;
|-&lt;br /&gt;
| Real-time Data Access || Head Supported: 1.4 msec (SD &amp;lt; 0.4 msec) @ 2000 Hz&lt;br /&gt;
Remote / Head Free: 3 msec (SD &amp;lt; 1.2 msec) @ 500 Hz&lt;br /&gt;
|-&lt;br /&gt;
| Participant Setup || Very simple and easy. Typically less than 2-5 minutes&lt;br /&gt;
|-&lt;br /&gt;
| Resolution || Head Supported: 0.01º RMS, micro-saccade resolution of 0.05º&lt;br /&gt;
Remote / Head Free:0.05º RMS, saccade resolution of 0.25&lt;br /&gt;
|}&lt;br /&gt;
*[https://www.sr-research.com/eyelink-1000-plus-technical-specifications/ EyeLink 1000 (Plus) Technical Specifications]  &amp;lt;br /&amp;gt;&lt;br /&gt;
*[[Eyelink_1000_calibration | Matlab calibration example]]&lt;br /&gt;
*[[Eyelink1000plussetup|Eyelink 1000 plus setup]]&lt;br /&gt;
&lt;br /&gt;
Here is a &#039;&#039;&#039;tutorial video&#039;&#039;&#039; on how to &#039;&#039;&#039;setup Eyelink with a participant&#039;&#039;&#039;: [https://www.youtube.com/watch?v=O3z8I5y_l5E&amp;amp;list=PLOdF-B36TwspxRQeam0u5Yd29wOjUWcel&amp;amp;index=7 Eyelink setup and calibration tutorial video.]&lt;br /&gt;
&lt;br /&gt;
From the SR-Research support forum, about &#039;&#039;&#039;placement of monitor, camera and participant&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ideally, the Desktop mount should be placed between 50-70 cm from the participant&#039;s eyes and be centrally aligned with the Display monitor from the participant&#039;s perspective. When using a wide screen monitor it will need to be sufficiently far away from the participant that it fits within the trackable range of the system. As a rule of thumb it will need to be at a distance at least 1.75 times its width (so a 40 cm wide monitor would need to be at least 70 cm away). As widescreen monitors are typically around 50 cm wide, they will need to be placed at least 90 cm away. This means that, in order for the camera to be placed correctly (50-70 cm from the participant&#039;s eyes) it will need to be brought forward from the monitor 20-30 cm.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The top of the EyeLink camera and illuminator should also be as high as possible in the participant&#039;s field of view without obstructing any part of the display.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:EyelinkParticipantSetup.jpg|frame|FAQ: What is the ideal configuration EyeLink 1000 / EyeLink 1000 Plus Desktop mount?&amp;lt;ref&amp;gt;Taken from the [https://www.sr-research.com/support/thread-206.html?highlight=What+is+the+ideal+configuration+EyeLink+1000+%2F+EyeLink+1000+Plus+Desktop+mount sr-support forum] (sign-in required)&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tobii ==&lt;br /&gt;
&lt;br /&gt;
[[File:tobii_logo.jpg | right]]&lt;br /&gt;
[[File:Tobii.jpg|thumb|200px|Tobii T60]]&lt;br /&gt;
[[File:TX300.png|thumb|250px|Tobii TX300]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tobii T60/T120===&lt;br /&gt;
&lt;br /&gt;
The Tobii T60 and T120 Eye Trackers are integrated into a 17&amp;quot; TFT monitor. They are ideal for all forms of eye tracking studies using screen based stimuli.&lt;br /&gt;
&lt;br /&gt;
There is a Tobii setup in the babylab, which is in a fixed lab setup.&lt;br /&gt;
&lt;br /&gt;
There are also two mobile Tobii setups. Please contact [mailto:g.lange@psych.ru.nl Gero Lange] for booking requests. Please keep in mind that these mobile setups are booked _without_ a room. If you plan to use these eyetrackers, make sure to also book a room that can be locked. You can use it in a cubicle, as long as you make sure that the eyetracker is stored in a locked room at the end of the day.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specifications&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:200px;&amp;quot;|&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:200px;&amp;quot;| Tobii T60 Eye Tracker&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:200px;&amp;quot;| Tobii T120 Eye Tracker&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Accuracy (degrees) || 0.5 || 0.5&lt;br /&gt;
|-&lt;br /&gt;
| Drift (degrees) || &amp;lt; 0.3 || &amp;lt; 0.3&lt;br /&gt;
|-&lt;br /&gt;
| Freedom of Head Movement (cm) || 44 * 22 * 30 || 30 * 22 * 30&lt;br /&gt;
|-&lt;br /&gt;
| Data Rate (Hz) || 60 || 120&lt;br /&gt;
|-&lt;br /&gt;
| Binocular Tracking || style=&amp;quot;background-color:#9F9;&amp;quot; | Yes || style=&amp;quot;background-color:#9F9;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| Display Size (inch) || 17 || 17&lt;br /&gt;
|-&lt;br /&gt;
| Display Resolution (px) || 1280 * 1024 || 1280 * 1024&lt;br /&gt;
|-&lt;br /&gt;
| Bright/Dark Pupil Tracking || Both - automatic optimization || Both - automatic optimization&lt;br /&gt;
|-&lt;br /&gt;
| Eye Tracking Server || Embedded || Embedded&lt;br /&gt;
|-&lt;br /&gt;
| User Camera || Built-in || Built-in&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Built-in Speakers|| Built-in Speakers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;The Tobii T120 Eye Tracker can also run in T60 mode with full head movement box&lt;br /&gt;
&lt;br /&gt;
Presentation plugin, including documentation on how to install and how to use it:&lt;br /&gt;
&lt;br /&gt;
https://www.fh-joanneum.at/en/projekt/visionspace-wahrnehmungslabor/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Downloads&#039;&#039;&#039;&lt;br /&gt;
*{{Download link|media=Tobii TX 300.pdf|How to use a Tobii TX 300 eyetracker|pdf}}&lt;br /&gt;
&lt;br /&gt;
*{{Download link|media=Getting_a_Tobii_Eye_Tracker_to_Work.pdf|Getting Started Guide|pdf}}&lt;br /&gt;
&lt;br /&gt;
*{{Download link|media=TobiiEyetrackerExtension_1_1.zip|Tobii Eyetrackers Extension for use with Presentation (including samples and documentation)|zip}}&lt;br /&gt;
&lt;br /&gt;
*[https://www.fh-joanneum.at/en/projekt/visionspace-wahrnehmungslabor/ Neurobs Presentation plugin &amp;amp; documentation]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab setup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{See also|Tobii Eye Tracker}}&lt;br /&gt;
&lt;br /&gt;
===Tobii TX300===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specifications&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:200px;&amp;quot;|&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:200px;&amp;quot;| Tobii TX300 Eye Tracker&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Precision(degrees) || &amp;lt; 0.1&lt;br /&gt;
|-&lt;br /&gt;
| Accuracy (degrees) || 0.5 (Monocular), 0.4 (Binocular)&lt;br /&gt;
|-&lt;br /&gt;
| Freedom of Head Movement (cm) || 37 * 17 (at 65 cm distance)&lt;br /&gt;
|-&lt;br /&gt;
| Data Rate (Hz) || 60Hz, 120Hz or 300Hz&lt;br /&gt;
|-&lt;br /&gt;
| Binocular Tracking || style=&amp;quot;background-color:#9F9;&amp;quot; | Yes &lt;br /&gt;
|-&lt;br /&gt;
| Display Size (inch) || 23&lt;br /&gt;
|-&lt;br /&gt;
| Display Resolution (px) || 1920 * 1080 (max 60Hz)&lt;br /&gt;
|-&lt;br /&gt;
| Tracking method || Dark Pupil Tracking&lt;br /&gt;
|-&lt;br /&gt;
| Eye Tracking Server || Embedded &lt;br /&gt;
|-&lt;br /&gt;
| User Camera || Built-in (640x480@30fps)&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Built-in Speakers (3W)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SensoMotoric Instruments (SMI) ==&lt;br /&gt;
[[image:SMI_logo.jpg |right]]&lt;br /&gt;
[[File:IViewXRED.jpg|thumb|200px|SMI RED500]]&lt;br /&gt;
[[file:eyeviewx.jpg |thumb|200px|SMI iView X]]&lt;br /&gt;
&lt;br /&gt;
=== SMI RED500 ===&lt;br /&gt;
&lt;br /&gt;
[[SMI RED 500 Eye Tracker (DCC)|How to connect SMI RED 500 eyetracker (Scheme)]]&lt;br /&gt;
&lt;br /&gt;
=== iView X ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Downloads&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*{{Download link|media=IViewX.pdf|iView X Manual|pdf}}&lt;br /&gt;
&lt;br /&gt;
*{{Download link|media=Eye-tracking_Presentation_iview.zip|Presentation Extension|zip}}&lt;br /&gt;
*{{Download link|media=SMI-Eyetracker-Example.zip|Example Presentation Script|zip}} - An example script (new since 2018-06-05) that connects and communicates with the IViewX program. It shows two pictures side by side. Data can be analysed using BeGaze. There are a lot of explanations in the files. The comments will help understanding how to use an SMI eyetracker in Presentation.&lt;br /&gt;
Source code: &lt;br /&gt;
*{{Gitlab|h.voogd/SMI-Eyetracking-Example/blob/master/SMI-Eyetracker-Example.sce|SMI-Eyetracker-Example.sce}}&lt;br /&gt;
*{{Gitlab|h.voogd/SMI-Eyetracking-Example/blob/master/SMI-Eyetracker-ExampleINFO.pcl|SMI-Eyetracker-ExampleINFO.pcl}}&lt;br /&gt;
*{{Gitlab|h.voogd/SMI-Eyetracking-Example/blob/master/SMI-Eyetracker-ExamplePCL.pcl|SMI-Eyetracker-ExamplePCL.pcl}} &lt;br /&gt;
*{{Gitlab|h.voogd/SMI-Eyetracking-Example/blob/master/SMI-Eyetracker-ExampleSUBS.pcl|SMI-Eyetracker-ExampleSUBS.pcl}}&lt;br /&gt;
*{{Download link|media=Python.zip|Python Script|zip}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=TMS_Lab&amp;diff=6757</id>
		<title>TMS Lab</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=TMS_Lab&amp;diff=6757"/>
		<updated>2026-08-11T15:34:16Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| image = labTMS.JPG&lt;br /&gt;
| image alt = TMS Lab&lt;br /&gt;
| caption = TMS in 2018&lt;br /&gt;
| label1 = Location&lt;br /&gt;
| data1 = &lt;br /&gt;
| downloads = {{bulleted list&lt;br /&gt;
    | {{Surfdrive|https://surfdrive.surf.nl/s/msHF8H4qodBYBMF|User Guides and Regulations}}&lt;br /&gt;
    }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==MagVenture TMS stimulator==&lt;br /&gt;
&lt;br /&gt;
In the TMS lab, two MagPro X100 TMS stimulators available, one of them has the &#039;option&#039; included, as described below. &lt;br /&gt;
&lt;br /&gt;
•	MagVenture X100 system&lt;br /&gt;
&lt;br /&gt;
The core of the setup is the MagVenture MagPro X100 with option stimulator.&lt;br /&gt;
This system is capable of producing 4 types of waveforms, namely:&lt;br /&gt;
# Biphasic,&lt;br /&gt;
# BiPhasic Burst,&lt;br /&gt;
# Half Sine &lt;br /&gt;
# MonoPhasic &lt;br /&gt;
&lt;br /&gt;
The MagOption added to the MagPro X100 also gives it the following enhanced stimulation capabilities for Biphasic, Half Sine and Monophasic:&lt;br /&gt;
# Dual pulses with up to 20 pulse pairs per second repetition rate&lt;br /&gt;
# Advanced power pulse feature adding 40% additional stimulation power&lt;br /&gt;
&lt;br /&gt;
TMS coils (MagVenture):	&lt;br /&gt;
*[https://magventure.com/products/cool-b65/ Cool-B65], butterfly, Active cooling&lt;br /&gt;
*[https://magventure.com/products/mc-b70/ MC-B70], Butterfly, No cooling&lt;br /&gt;
*[https://magventure.com/products/c-b60/ C-B60], Butterfly, No cooling&lt;br /&gt;
&lt;br /&gt;
==Localite TMS Navigator System==&lt;br /&gt;
&lt;br /&gt;
Localite TMS Navigator is an image-guided tool to assist in the positioning of a transcranial magnetic stimulator (TMS) coil over a subject&#039;s brain. The Localite system includes the software, position sensor and all the related hardware (except the TMS-stimulator) to perform image-guided TMS.&lt;br /&gt;
&lt;br /&gt;
Small objects, called trackers, are attached to the TMS coil, and the subject. These trackers are monitored, or &amp;quot;seen&amp;quot; by an optical position sensor (optical camera). This information is send to a computer which, after a calibration procedure, displays the position and orientation of the coil on the subject&#039;s individual MRI.&lt;br /&gt;
&lt;br /&gt;
Thus, Localite TMS Navigator helps to position the coil very precisely in reference to the subjects brain shown in an individual anatomical MR dataset.&lt;br /&gt;
&lt;br /&gt;
Information sheets on how to use the Localite are available in the TMS lab. The complete Localite manual is available at the labmanager (Dennis Schutter).&lt;br /&gt;
&lt;br /&gt;
[[File:TMS.JPG|thumb|left|300px|TMS]]&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==NeuroConn Transcranial Electric Current Stimulation==&lt;br /&gt;
#	microprocessor controlled constant current source&lt;br /&gt;
#	1 channel, anodal and cathodal stimulation possible&lt;br /&gt;
#	use of external trigger possible, several AC-DC-STIMULATOR devices can be synchronized for multichannel stimulation&lt;br /&gt;
#	adjustable current up to 5,000 µA (±1%)&lt;br /&gt;
#	adjustable application time up to 30 min&lt;br /&gt;
#	please note: currents of more than 1,000 µA and application times of more than 15 min are for research purposes only!&lt;br /&gt;
#	modes of stimulation: &lt;br /&gt;
##	single (continuous stimulation, freely adjustable fading in and fading out)&lt;br /&gt;
##	pulses (cyclic turning on and off of the stimulation, defined pulse width and interstimulus intervall ISI)&lt;br /&gt;
##	customer specific programs possible (e.g. sine wave, half-sine wave etc.)&lt;br /&gt;
#	high safety standard through multistage monitoring of output current&lt;br /&gt;
#	STUDY MODE OPTION&lt;br /&gt;
#	INTERNAL &amp;amp; EXTERNAL TRIGGER MODULE&lt;br /&gt;
Technical data&lt;br /&gt;
#	135 mm x 225 mm x 55 mm (W x D x H); weight 0.9 kg&lt;br /&gt;
#	12bit D/A conversion&lt;br /&gt;
#	power consumption approx. 0.4 W&lt;br /&gt;
#	power supply via built-in rechargeable batteries, incl. external charger&lt;br /&gt;
#	alphanumeric display with backlight&lt;br /&gt;
&lt;br /&gt;
[[File:NeuroConn.JPG|thumb|left|300px|NeuroConn]]&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==EEG 128Ch brainproducts==&lt;br /&gt;
&lt;br /&gt;
{{See also|Brainvision}}&lt;br /&gt;
&lt;br /&gt;
[[File:BrainKast.jpg|thumb|left|300px|Kijkje achter de schermen]]&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Balance_Board&amp;diff=6756</id>
		<title>Balance Board</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Balance_Board&amp;diff=6756"/>
		<updated>2026-08-11T15:29:56Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = Balance Board&lt;br /&gt;
| image          = balanceBoard1.jpg&lt;br /&gt;
| caption        = Balance Board&lt;br /&gt;
| manuals      = {{bulleted list&lt;br /&gt;
      | {{Surfdrive|https://surfdrive.surf.nl/s/Zr7xLFCEKYak8nc|Balance Board Manuals}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A balance board(force platform) is commonly used in motor control labs and neurologic clinics. They essentially consist of a set of finely calibrated scales, measuring mechanical forces. The pattern of forces can be used to derive body position, at a high spatial and temporal resolution. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
There are several boards specified up to 1M2 and 0,5M2 with a sub-millimeter spatial resolution and a 200 hz temporal resolution.&lt;br /&gt;
&lt;br /&gt;
A typical balance board records at a high spatial and temporal resolution. Regarding spatial resolution: a platform can detect changes from a few sub-millimeters (freezing) to at least 500 centimeter (forward or backward steps). The platform records reliably over four vertical forces. Regarding temporal resolution: the signals are typically sampled at 200 Hz. Even though the system allows even higher sampling rates, in practice 100 Hz is sufficient.&lt;br /&gt;
&lt;br /&gt;
The pressure sensors derive directly from the wii balance board. Each sensor has a maximum pressure of 120Kg. In-house electronics is build to get a clean amplification from the sensors. A National instruments card, USB-6221, takes care of the A/D conversion and connects with usb to a pc. The force plate can be integrated into existing systems for stimulus presentation and for recording bodily signals such as EEG, EMG and heart rate. In practice, this means that the systems are time-locked within millisecond accuracy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
===National Instruments===&lt;br /&gt;
[[File:Capture2.JPG|thumb|left|600px|National Instruments settings]]&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
===Neurobs Presentation===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; line&amp;gt;&lt;br /&gt;
sub runtrials_national begin&lt;br /&gt;
&lt;br /&gt;
	# The dio_device will setup NI-DAQmx device number 1 &amp;quot;Dev1&amp;quot;&lt;br /&gt;
	dio_device card = new dio_device(ni_dio_device, 1, 0 );&lt;br /&gt;
	#int id = card.acquire_analog_input( &amp;quot;MyVoltageOutTask&amp;quot; );&lt;br /&gt;
	int id1 = card.acquire_analog_input( &amp;quot;ForceMeasurement,Voltage_0&amp;quot; );&lt;br /&gt;
	int id2 = card.acquire_analog_input( &amp;quot;ForceMeasurement,Voltage_1&amp;quot; );&lt;br /&gt;
	int id3 = card.acquire_analog_input( &amp;quot;ForceMeasurement,Voltage_2&amp;quot; );&lt;br /&gt;
	int id4 = card.acquire_analog_input( &amp;quot;ForceMeasurement,Voltage_3&amp;quot; );&lt;br /&gt;
	count_old = response_manager.total_response_count();&lt;br /&gt;
	loop&lt;br /&gt;
	until false&lt;br /&gt;
	begin&lt;br /&gt;
		if response_manager.total_response_count() &amp;gt; count_old then&lt;br /&gt;
			count_old = response_manager.total_response_count();&lt;br /&gt;
			calibrate_board = true;&lt;br /&gt;
		end;&lt;br /&gt;
		&lt;br /&gt;
		message_scale[1] = round(round(card.read_analog( id1, 1000.0 ),6) * 1000.0, 0);&lt;br /&gt;
		message_scale[2] = round(round(card.read_analog( id2, 1000.0 ),6) * 1000.0, 0);&lt;br /&gt;
		message_scale[3] = round(round(card.read_analog( id3, 1000.0 ),6) * 1000.0, 0);&lt;br /&gt;
		message_scale[4] = round(round(card.read_analog( id4, 1000.0 ),6) * 1000.0, 0);&lt;br /&gt;
		&lt;br /&gt;
		if calibrate_board then&lt;br /&gt;
			zero_scale_left_up    = message_scale[left_up];&lt;br /&gt;
			zero_scale_left_down  = message_scale[left_down];&lt;br /&gt;
			zero_scale_right_up   = message_scale[right_up];&lt;br /&gt;
			zero_scale_right_down = message_scale[right_down];&lt;br /&gt;
			calibrate_board = false;&lt;br /&gt;
		end;&lt;br /&gt;
		&lt;br /&gt;
message_scale[left_up]    = message_scale[left_up] - zero_scale_left_up;&lt;br /&gt;
		message_scale[left_down]  = message_scale[left_down] - zero_scale_left_down;&lt;br /&gt;
		message_scale[right_up]   = message_scale[right_up] - zero_scale_right_up;&lt;br /&gt;
		message_scale[right_down] = message_scale[right_down] - zero_scale_right_down;&lt;br /&gt;
		t_scale11.set_caption(string(message_scale[left_up]));&lt;br /&gt;
		t_scale11.redraw();&lt;br /&gt;
		t_scale22.set_caption(string(message_scale[left_down]));&lt;br /&gt;
		t_scale22.redraw();&lt;br /&gt;
		t_scale33.set_caption(string(message_scale[right_up]));&lt;br /&gt;
		t_scale33.redraw();&lt;br /&gt;
		t_scale44.set_caption(string(message_scale[right_down]));&lt;br /&gt;
		t_scale44.redraw();&lt;br /&gt;
		&lt;br /&gt;
		pos_dot_x = (message_scale[right_up] + message_scale[right_down]) - message_scale[left_up] + message_scale[left_down]);&lt;br /&gt;
		pos_dot_y = (message_scale[left_up] + message_scale[right_up]) - message_scale[left_down] + message_scale[right_down]);&lt;br /&gt;
		p_balance.add_part( balance_pos, (pos_dot_x * 1.0), (pos_dot_y * 1.0));&lt;br /&gt;
		t_coord.set_caption(string(pos_dot_x)+&amp;quot;,&amp;quot;+string(pos_dot_y));&lt;br /&gt;
		t_coord.redraw();&lt;br /&gt;
		&lt;br /&gt;
		p_balance.present();&lt;br /&gt;
		p_balance.remove_part( 8 );&lt;br /&gt;
	end;&lt;br /&gt;
	card.release_analog_input( id1 );&lt;br /&gt;
	card.release_analog_input( id2 );&lt;br /&gt;
	card.release_analog_input( id3 );&lt;br /&gt;
	card.release_analog_input( id4 );			&lt;br /&gt;
end;&lt;br /&gt;
 &amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Python===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
from PyDAQmx import Task&lt;br /&gt;
from PyDAQmx.DAQmxConstants import *&lt;br /&gt;
from PyDAQmx.DAQmxTypes import *&lt;br /&gt;
import numpy&lt;br /&gt;
import msvcrt&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
times = []&lt;br /&gt;
try :&lt;br /&gt;
    freq = 100.0 # Hz&lt;br /&gt;
    numinputs = 4&lt;br /&gt;
&lt;br /&gt;
    analog_input = Task()&lt;br /&gt;
    read = int32()&lt;br /&gt;
    timer= time.clock()&lt;br /&gt;
    running = True&lt;br /&gt;
&lt;br /&gt;
    data = numpy.zeros((numinputs,), dtype=numpy.float64)&lt;br /&gt;
&lt;br /&gt;
    #DAQmx Configure Code&lt;br /&gt;
    analog_input.CreateAIVoltageChan(&amp;quot;Dev1/ai0:%i&amp;quot; % (numinputs - 1), None, DAQmx_Val_RSE, -10.0,10.0,DAQmx_Val_Volts,None)&lt;br /&gt;
    #analog_input.CfgInputBuffer(0)&lt;br /&gt;
    #analog_input.CfgSampClkTiming(&amp;quot;&amp;quot;,freq,DAQmx_Val_Rising,DAQmx_Val_ContSamps,1000)&lt;br /&gt;
&lt;br /&gt;
    analog_input.StartTask()&lt;br /&gt;
    datalist = []&lt;br /&gt;
    while running:&lt;br /&gt;
        #DAQmx Start Code&lt;br /&gt;
        &lt;br /&gt;
    &lt;br /&gt;
        &lt;br /&gt;
        timeBeforeRead = time.clock()&lt;br /&gt;
        analog_input.ReadAnalogF64(-1,10.0,DAQmx_Val_GroupByChannel,data,numinputs*2,byref(read),None)&lt;br /&gt;
        ser.write(&#039;S&#039;)&lt;br /&gt;
        line = ser.readline()&lt;br /&gt;
&lt;br /&gt;
        time.sleep((1 / freq) - (time.clock()- timeBeforeRead))&lt;br /&gt;
        &lt;br /&gt;
        times.append(timeBeforeRead - time.clock())&lt;br /&gt;
       &lt;br /&gt;
  &lt;br /&gt;
        if msvcrt.kbhit():&lt;br /&gt;
            running = False&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
finally :&lt;br /&gt;
    print &amp;quot;Stop&amp;quot;&lt;br /&gt;
    t = numpy.array(times)&lt;br /&gt;
    deviation = numpy.mean(abs(t - numpy.mean(t)))&lt;br /&gt;
    maxdeviation  = max(abs(t-numpy.mean(t)))&lt;br /&gt;
    &lt;br /&gt;
    print numpy.mean(t), deviation , maxdeviation &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
    analog_input.StopTask();&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also== &amp;lt;!-- Optional --&amp;gt;&lt;br /&gt;
*[[BalanceBoard Lab]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--==References==  &lt;br /&gt;
&amp;lt;references /&amp;gt; --&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Vertical_Sync_sensor&amp;diff=6755</id>
		<title>Vertical Sync sensor</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Vertical_Sync_sensor&amp;diff=6755"/>
		<updated>2026-08-11T15:29:23Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = Vertical Sync sensor&lt;br /&gt;
| image          = sensorPic.jpg&lt;br /&gt;
| caption        = Vertical Sync sensor&lt;br /&gt;
}}&lt;br /&gt;
{{Infobox tsg&lt;br /&gt;
| name           = Seeed Studio XIAO SAMD21&lt;br /&gt;
| image          = Seeeduino_XIAO.JPG&lt;br /&gt;
| caption        = Seeed Studio XIAO SAMD21&lt;br /&gt;
| downloads      = {{bulleted list&lt;br /&gt;
      | [https://wiki.seeedstudio.com/Seeeduino-XIAO/ XIAO SAMD21 product page]&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
{{Infobox tsg&lt;br /&gt;
| name           = TEMT6000 Licht Sensor Module&lt;br /&gt;
| image          = temt6000.jpg&lt;br /&gt;
| caption        = TEMT6000 Licht Sensor Module&lt;br /&gt;
| downloads      = {{bulleted list&lt;br /&gt;
      | {{Surfdrive|https://surfdrive.surf.nl/s/ZC2axMNWjYaTYFG|TEMT6000 Datasheet}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The Vertical Sync sensor is used on a computer/laptop monitor for time accurate visual presentation. The sensor measures screen brightness. It generates a BITSI trigger to the com-port(&amp;quot;A&amp;quot; = ON/light, &amp;quot;a&amp;quot; = OFF/noLight) when the amount of light is higher than the (customizable) threshold. This means that the onset of visual stimulus on screen can be marked. It can easily be attached with a pincher to the screen. The Vertical Sync sensor is connected to a computer with a usb connection, a serial port is emulated. You may want to read about [[presentation modes]] in order to decide how to use the sync sensor.&lt;br /&gt;
&lt;br /&gt;
== BITSI Protocol ==&lt;br /&gt;
&lt;br /&gt;
BITSI stands for Bits to Serial Interface.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;3&amp;quot; | Vertical Sync sensor&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; width=&amp;quot;120px&amp;quot; | ASCII (rise/fall)&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; width=&amp;quot;120px&amp;quot; | Code (rise/fall)&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; width=&amp;quot;120px&amp;quot; | Light&lt;br /&gt;
|-&lt;br /&gt;
| A / a || 65 / 97 || ON / OFF&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Meaning when light falls on the sensor, a capital A will be sent to the serial port. A lowercase &#039;a&#039; will be sent when the signal is deactivated(no light).&lt;br /&gt;
&lt;br /&gt;
===Output===&lt;br /&gt;
&lt;br /&gt;
The treshold for monitor OFF is customizable and can be specified by sending a byte to specify the value for screen OFF. Any byte satisfies, see example code.&lt;br /&gt;
&lt;br /&gt;
== Port Settings ==&lt;br /&gt;
&lt;br /&gt;
===Serial port===&lt;br /&gt;
&lt;br /&gt;
Our hardware design allows to be connected to the computers USB and emulates a serial communication Port.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Baudrate || 115200&lt;br /&gt;
|-&lt;br /&gt;
| Parity || None&lt;br /&gt;
|-&lt;br /&gt;
| Data bits || 8&lt;br /&gt;
|-&lt;br /&gt;
| Stop bits || 1&lt;br /&gt;
|-&lt;br /&gt;
| Flow control || None&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== USB-Com port ===&lt;br /&gt;
&lt;br /&gt;
1.Connect the Vertical Sync sensor to your computer using the USB cable.&lt;br /&gt;
&lt;br /&gt;
2.When you connect the Vertical Sync sensor, Windows should initiate the driver installation process (if you haven&#039;t used the computer with an Vertical Sync sensor before).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to Check the Com Port settings(important!)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*From the Start menu, open the &#039;&#039;&#039;Control Panel&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*From the control panel, open the &#039;&#039;&#039;System window&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*From the system properties window, go to the &#039;&#039;&#039;Hardware tab&#039;&#039;&#039; and click the &#039;&#039;&#039;Device Manager&#039;&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
*From the Device Manager window, click &#039;&#039;&#039;Ports (Com&amp;amp;LPT).&#039;&#039;&#039; You should now be able to see which Com Port the USB adapter is assigned to.&lt;br /&gt;
&lt;br /&gt;
*If the Com Port is 10 or higher, you will have to change it to a lower port.&lt;br /&gt;
&lt;br /&gt;
*From the Device Manager window, click on &#039;&#039;&#039;USB Serial Port (Com#).&#039;&#039;&#039; Click the &#039;&#039;&#039;Port Settings tab&#039;&#039;&#039; of the USB Serial Port Properties window, and then click the &#039;&#039;&#039;Advanced&#039;&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
*In the Advanced Settings window, use the scroll input to select a &#039;&#039;&#039;Com Port&#039;&#039;&#039; (select 10 or lower). Change &#039;&#039;&#039;Receive (bytes)&#039;&#039;&#039; and &#039;&#039;&#039;Transmit (bytes)&#039;&#039;&#039; to 64. Change the &#039;&#039;&#039;Latency Timer&#039;&#039;&#039; to 1.&lt;br /&gt;
&lt;br /&gt;
*Click the OK button.&lt;br /&gt;
&lt;br /&gt;
Always connect the usb device to the same port and your settings will be remembered.&lt;br /&gt;
&lt;br /&gt;
== Software Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Python/PsychoPy ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&#039;&#039;&#039;The basics using the Vertical Sync sensor in PsychoPy:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
# initialize treshold for OFF by sending a code&lt;br /&gt;
ser.write(b&#039;1&#039;)&lt;br /&gt;
&lt;br /&gt;
visual.Rect(win, .15, .25, pos=(-1, 1),fillColor=&amp;quot;white&amp;quot;, units=&amp;quot;norm&amp;quot;).draw()&lt;br /&gt;
win.flip()&lt;br /&gt;
# wait for a sync square&lt;br /&gt;
b = ser.read()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&#039;&#039;&#039;Example script using the Vertical Sync sensor in PsychoPy:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
&lt;br /&gt;
# import psychopy and rusocsci&lt;br /&gt;
from psychopy import core, visual &lt;br /&gt;
import serial&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
## Setup Section&lt;br /&gt;
win = visual.Window([400,400], fullscr=True, winType = &amp;quot;pyglet&amp;quot;, monitor=&amp;quot;testMonitor&amp;quot;,color=(-1, -1, -1), waitBlanking=True)&lt;br /&gt;
# connect to Vertical Sync sensor, find correct com port number&lt;br /&gt;
ser = serial.Serial(&#039;com3&#039;, 115200, timeout=1.0)&lt;br /&gt;
# create sync box left corner&lt;br /&gt;
rect = visual.Rect(win, .15, .25, pos=(-1, 1),fillColor=&amp;quot;white&amp;quot;, units=&amp;quot;norm&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# wait 5 sec for python to become stabel&lt;br /&gt;
core.wait(5)&lt;br /&gt;
ser.flushInput()&lt;br /&gt;
# define screen OFF by sending a code&lt;br /&gt;
ser.write(b&#039;1&#039;)&lt;br /&gt;
&lt;br /&gt;
## Experiment Section&lt;br /&gt;
# show sync box left corner&lt;br /&gt;
rect.draw()&lt;br /&gt;
win.flip()&lt;br /&gt;
tik = time.perf_counter()&lt;br /&gt;
# wait for a sync square&lt;br /&gt;
b = ser.read()&lt;br /&gt;
tok = time.perf_counter()&lt;br /&gt;
# show delay after a flip&lt;br /&gt;
print(&amp;quot;your timing after a flip: {}s&amp;quot;.format(tok-tik))&lt;br /&gt;
# as a remark 60Hz/~0.016s 120Hz/~0.008s&lt;br /&gt;
&lt;br /&gt;
## Cleanup Section&lt;br /&gt;
core.quit()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Matlab ===&lt;br /&gt;
&#039;&#039;&#039;Example using markers with the Buttonbox in Matlab:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download the file Bitsi.m from the DCCN website: https://intranet.donders.ru.nl/index.php?id=bitsim0&lt;br /&gt;
&amp;lt;br&amp;gt; Make sure to have this file in your Matlab path.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;matlab&amp;quot; line style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
% At the start of your script, create the buttonbox serial object&lt;br /&gt;
bb = Bitsi(&amp;quot;COM2&amp;quot;);&lt;br /&gt;
% other code&lt;br /&gt;
        :&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BITSI simple mode:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;matlab&amp;quot; line style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
% This example is for an EEG system sampling at 500Hz samplerate.  &lt;br /&gt;
% at the start of your script, reset marker&lt;br /&gt;
samplerate = 500;&lt;br /&gt;
pulseLen = 2000/samplerate;&lt;br /&gt;
bb.sendTrigger(0);&lt;br /&gt;
% send a marker&lt;br /&gt;
val = 1;                                     % val: this is your marker code, range code 1-255&lt;br /&gt;
bb.sendTrigger(val);&lt;br /&gt;
java.lang.Thread.sleep(pulseLen);    % wait long enough for the EEG system to capture the trigger, i.e., 2000/samplerate ms&lt;br /&gt;
% reset marker&lt;br /&gt;
bb.sendTrigger(0)                 % Note: if resetting the marker is not possible at this moment in code, you can decide to do this later as long as it has taken place long enough before the next marker has to be sent.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Presentation&amp;diff=6754</id>
		<title>Presentation</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Presentation&amp;diff=6754"/>
		<updated>2026-08-11T15:28:07Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox software&lt;br /&gt;
| name                   = Presentation&lt;br /&gt;
| logo                   = Presentation_name.png&lt;br /&gt;
| logo size              = 200px&lt;br /&gt;
| logo alt               = Presentation&lt;br /&gt;
| screenshot             = &lt;br /&gt;
| caption                = &lt;br /&gt;
| developer              = Neuro Behavioral Systems&lt;br /&gt;
| installed version      = varies &amp;lt;ref&amp;gt;See [[Pre-installed software]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
| installed version date = &amp;lt;!-- {{Start date and age|YYYY|MM|DD|df=yes}} --&amp;gt;&lt;br /&gt;
| platform               = Windows&lt;br /&gt;
| language count         = &lt;br /&gt;
| website                = [https://www.neurobs.com/ neurobs.com]&lt;br /&gt;
| resources              = &lt;br /&gt;
  {{Infobox tsg&lt;br /&gt;
    | child              = yes&lt;br /&gt;
    | downloads          = {{bulleted list&lt;br /&gt;
        | {{Surfdrive|zDtYMmAvg4NoZXj|Installers &amp;amp; Other Resources}}&lt;br /&gt;
        | [https://www.neurobs.com/menu_presentation/menu_download/package_player Package player]&lt;br /&gt;
    }}&lt;br /&gt;
    | header2            = Templates&lt;br /&gt;
    | data2              = *{{Surfdrive|https://surfdrive.surf.nl/s/tWYD6jFQpDcgpZL|Template 2017}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Presentation is a Windows based programming tool that allows experimenters to set up and program all sort of experiments. It is the recommended software for time-accurate experiments and therefore supported by the institutes’ (Social Sciences Faculty, the MPI and the Donders Centre for Cognitive Neuroimaging) technical groups. The technical groups offer (PhD) students a couple of pre-programmed experiments (i.e. templates), which can be adjusted to build up own experiments. In this way, the (PhD) student can efficiently program experiments fitting an technical optimal environment. This is what this course is all about. It aims at teaching programming skills, which are needed to modify the existing templates such that they meet your own demands. Because this can be quite complex, we start with short assignments, which address one basic and simple problem at a time. They will all contribute to the final assignment in which you will work on an existing template.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course ==&lt;br /&gt;
&lt;br /&gt;
Find the presentation workshop documentation here: {{Download link|media=Programming with Presentation 2013.pdf}}&lt;br /&gt;
&lt;br /&gt;
Find the presentation pre-reader here: {{Download link|media=Presentation pcl pre-read 2013 .pdf}}&lt;br /&gt;
&lt;br /&gt;
== License ==&lt;br /&gt;
&lt;br /&gt;
To run presentation in the labs you need a software dongle. Reserve a dongle when you book a lab. If you need a dongle for research outside the university, discuss this with your [[Lab Coordinator]].&lt;br /&gt;
&lt;br /&gt;
When you want to run in your office use the network license. Boot presentation, choose option &#039;&#039;&#039;&amp;quot;activations&amp;quot; -&amp;gt; &amp;quot;Network&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Fill in the following within the &amp;quot;&#039;&#039;&#039;Network License Settings&amp;quot;&#039;&#039;&#039;:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Enable Hostname:&lt;br /&gt;
| lic-pres.socsci.ru.nl&lt;br /&gt;
|-&lt;br /&gt;
! Port: &lt;br /&gt;
| 1245&lt;br /&gt;
|- &lt;br /&gt;
! Timeout (ms): &lt;br /&gt;
| 5000 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:PresentationLicentie.jpg | 700px ]]&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
Presentation only supports non-proprietary video formats.&amp;lt;ref&amp;gt;https://www.neurobs.com/menu_support/menu_forums/view_thread?id=8785#i6&amp;lt;/ref&amp;gt; Neurobs recommends encoding your videos using h264 or XVID, and using the AVI format.&amp;lt;ref&amp;gt;http://www.neurobs.com/wiki/Presentation/Video {{Dead link}}&amp;lt;/ref&amp;gt; The TSG discourages the use of XVID and AVI, because these standards have become obsolete in recent years, but since we have had little success getting alternative non-proprietary video formats to work in Presentation,&amp;lt;ref&amp;gt;[[Video_Codecs#Software_support]]&amp;lt;/ref&amp;gt; it seems the use of AVI is inevitable. You can find more information on how to export and convert your videos for Neurobs Presentation on our [[Video Codecs#Neurobs Presentation|Video Codecs page]].&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
In Neurobs Presentation please use *exclusive mode* to get the best audio performance. This means that no other programs&lt;br /&gt;
can use the audio device while the experiment runs.&lt;br /&gt;
&lt;br /&gt;
[[File:SoundSettings.png|Presentation Mixer Settings]]&lt;br /&gt;
&lt;br /&gt;
The maximum audio delay in Presentation on a lab computer at the faculty of social sciences is 24 ms. If better performance &lt;br /&gt;
is necessary or more understanding is needed about the components of this delay, please read our page about [[audio delay]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to present sounds in Presentation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
in SDL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sound{&lt;br /&gt;
    wavefile{&lt;br /&gt;
        filename = &amp;quot;beep.wav&amp;quot;; 	# The name of the sound file.&lt;br /&gt;
        preload=true; 		# Make sure that the sound is loaded before it is actually used.&lt;br /&gt;
    }myWave;&lt;br /&gt;
}mySound;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure to use &#039;&#039;&#039;preload = true;&#039;&#039;&#039;. This ensures that the sound is loaded into memory before the sound is used.&lt;br /&gt;
&lt;br /&gt;
in PCL:&lt;br /&gt;
&lt;br /&gt;
Prepare your stimuli during Inter Trial Interval, when there is enough time to do that. First, unload the previous sound, set the filename property to the new soundfile and load it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub prepareTrial &lt;br /&gt;
begin&lt;br /&gt;
    myWave.unload();&lt;br /&gt;
    myWave.set_filename(&amp;quot;beep.wav&amp;quot;); # or read the name from a trial list.&lt;br /&gt;
    myWave.load();&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During your experiment the sound is presented by:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
startOfPlaycall = clock.time();&lt;br /&gt;
mySound.present();&lt;br /&gt;
endOfPlaycall = clock.time();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the moment when the sound can actually be heard from the speakers is later then the moment when the &#039;&#039;&#039;mySound.present()&#039;&#039;&#039; function is called. In our labs [march 2019], the delay (from &#039;&#039;&#039;startOfPlaycall&#039;&#039;&#039; until actual sound onset) is about 14 to 24 milliseconds when the Presenation mixer is used in exclusive mode. The function itself takes some (variable) time to execute. That time can, in the example above, be calculated by &#039;&#039;&#039;endOfPlaycall - startOfPlaycall&#039;&#039;&#039;. Then, some additional time is required before the sound actually is heard from the speakers. In our labs, that additional delay (from &#039;&#039;&#039;endOfPlaycall&#039;&#039;&#039; until actual sound onset) is about 5 to 8 milliseconds [March 2019]. When your experiment requires an exact knowledge about when the sound actually plays from the speakers, you need additional hardware, for instance a buttonbox with a soundkey.&lt;br /&gt;
&lt;br /&gt;
More information about sound delays is found on our page about [[audio delay]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
==== Version History ====&lt;br /&gt;
&lt;br /&gt;
For version history please click here: http://www.neurobs.com/menu_presentation/menu_download/version_history&lt;br /&gt;
&lt;br /&gt;
==== Fixed Bugs ====&lt;br /&gt;
&lt;br /&gt;
For fixed bug / known bugs please click here: http://www.neurobs.com/menu_support/menu_help_resources/known_bugs&lt;br /&gt;
&lt;br /&gt;
==== Forum ====&lt;br /&gt;
&lt;br /&gt;
For various information please click here: http://www.neurobs.com/menu_support/menu_forums/contents_page&lt;br /&gt;
&lt;br /&gt;
==== Wiki ====&lt;br /&gt;
For the wiki click here: http://www.neurobs.com/menu_support/nbs_wiki {{Dead link}}&lt;br /&gt;
&lt;br /&gt;
==== Compatibility Issues ====&lt;br /&gt;
&lt;br /&gt;
*Always check beforehand in which version the script was written.&lt;br /&gt;
*New versions do not always maintain backwards compatibility.&lt;br /&gt;
*Features can get removed, or changed.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=ButtonBox&amp;diff=6753</id>
		<title>ButtonBox</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=ButtonBox&amp;diff=6753"/>
		<updated>2026-08-11T15:26:15Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = Buttonbox (2018)&lt;br /&gt;
| image          = Buttonbox_2018_1.png&lt;br /&gt;
| caption        = 2018 Buttonbox&lt;br /&gt;
| downloads      = {{bulleted list&lt;br /&gt;
      | {{Surfdrive|https://surfdrive.surf.nl/s/KZzgpmC5oK5JBNr|Buttonbox 2018}}&lt;br /&gt;
      | [https://pypi.python.org/pypi/RuSocSci RuSocSci] (Python package)&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
{{Infobox tsg&lt;br /&gt;
| name           = Buttonbox&lt;br /&gt;
| image          = Buttonbox 03s.png&lt;br /&gt;
| caption        = 2013 Buttonbox&lt;br /&gt;
| downloads      = {{bulleted list&lt;br /&gt;
      | {{Surfdrive|https://surfdrive.surf.nl/s/KZzgpmC5oK5JBNr|Buttonbox 2015}}&lt;br /&gt;
      | [https://pypi.python.org/pypi/RuSocSci RuSocSci] (Python package)&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The buttonbox is used for time accurate(1ms) button press registration. We use it to register buttonpresses, soundkey, voicekey signals and to send tone onset, analog output, triggers with the BITSI protocol. It is suitable for Behavioral, EEG, MEG, and fMRI experiments. The buttonbox is connected to a computer with a usb connection.&lt;br /&gt;
&lt;br /&gt;
The output connector has two binary eight bit ports: input and output. The two ports can be used for responses (input) and stimulus triggers (output). Two 12 bits analog outputs and three 12 bits analog inputs. The output connector has a sound and voicekey which triggers when a amplitude reaches a threshold. By using the serial port, the BITSI can be used platform independently: it works on Windows, Linux and Mac OSX. Most programming environments and stimulus packages support serial communication.&lt;br /&gt;
&lt;br /&gt;
⚠️ There is currently a [[ButtonBox/Microsoft Windows driver issue|Windows driver issue]].&lt;br /&gt;
&lt;br /&gt;
== BITSI Protocol ==&lt;br /&gt;
&lt;br /&gt;
BITSI stands for Bits to Serial Interface. Because the BITSI is designed to interface both in- and output signals, the &#039;protocol&#039; is asymmetric: the input and output protocols differ.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
The input port can be used to interface eight buttons maximally. Button presses are translated to serial output characters/bytes according to the following table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;3&amp;quot; | BITSI Simple&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; width=&amp;quot;120px&amp;quot; | Signal/Button&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; width=&amp;quot;120px&amp;quot; | ASCII (rise/fall)&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; width=&amp;quot;120px&amp;quot; | Code (rise/fall)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || A / a || 65 / 97&lt;br /&gt;
|-&lt;br /&gt;
| 2 || B / b || 66 / 98&lt;br /&gt;
|-&lt;br /&gt;
| 3 || C / c || 67 / 99&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D / d || 68 / 100&lt;br /&gt;
|-&lt;br /&gt;
| 5 || E / e || 69 / 101&lt;br /&gt;
|-&lt;br /&gt;
| 6 || F / f || 70 / 102&lt;br /&gt;
|-&lt;br /&gt;
| 7 || G / g || 71 / 103&lt;br /&gt;
|-&lt;br /&gt;
| 8 || H / h || 72 / 104&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This means that when signal 1 gets active(button press), a capital A will be sent to the serial port. A lowercase &#039;a&#039; will be sent when the signal is deactivated(button release). Mechanical buttons can be connected directly.&lt;br /&gt;
&lt;br /&gt;
===Output===&lt;br /&gt;
&lt;br /&gt;
Output knows two protocols: &#039;&#039;&#039;BITSI simple&#039;&#039;&#039; or &#039;&#039;&#039;BITSI extended&#039;&#039;&#039;. To enter a certain protocol two buttons have to be pressed when the BITSIbox is powered or com port opens. &#039;&#039;&#039;[2015]Press button H and A for simple mode and H and B for extended mode. [2018]Press button E and A for simple mode and E and B for extended mode.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If no button is pressed when powered it boots the last known protocol. In the simple protocol every byte sent to the BITSI over the serial port, is represented at the 8 bit output.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;extended&#039;&#039;&#039; protocol uses two bytes(or two characters), this combination can access two analog outputs and a tone generator. The first byte selects the output. The second byte determines the value written to this output.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;3&amp;quot; | BITSI Extended&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; width=&amp;quot;120px&amp;quot; | Function&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; width=&amp;quot;150px&amp;quot; | Byte 1 (ASCII/code)&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; width=&amp;quot;150px&amp;quot; | Byte 2&lt;br /&gt;
|-&lt;br /&gt;
| Marker Out || M / 77 || Marker Value&lt;br /&gt;
|-&lt;br /&gt;
| Pulse Out || P / 80 || Marker Value&lt;br /&gt;
|-&lt;br /&gt;
| Pulse Time || X / 88 || ms before pulse reset&lt;br /&gt;
|-&lt;br /&gt;
| Analog Out 1 || Y / 89 || Analog Output Value&lt;br /&gt;
|-&lt;br /&gt;
| Analog Out 2 || Z / 90 || Analog Output Value&lt;br /&gt;
|-&lt;br /&gt;
| Tone || T / 84 || Start Tone&lt;br /&gt;
|-&lt;br /&gt;
| Detect Sound || D / || S / 83&lt;br /&gt;
|-&lt;br /&gt;
| Detect Voice || D / || V / 83&lt;br /&gt;
|-&lt;br /&gt;
| Calibrate Sound || C / || S&lt;br /&gt;
|-&lt;br /&gt;
| Calibrate Voice || C / || V&lt;br /&gt;
|-&lt;br /&gt;
| Analog In 1 || A / || 1&lt;br /&gt;
|-&lt;br /&gt;
| Analog In 2 || A / || 2&lt;br /&gt;
|-&lt;br /&gt;
| Analog In 3 || A / || 3&lt;br /&gt;
|-&lt;br /&gt;
| Analog In 4 || A / || 4&lt;br /&gt;
|-&lt;br /&gt;
| LEDs Off || L / || X&lt;br /&gt;
|-&lt;br /&gt;
| LEDs Input || L / || I&lt;br /&gt;
|-&lt;br /&gt;
| LEDs Output || L / || O&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Port Settings ==&lt;br /&gt;
&lt;br /&gt;
===Trigger port ===&lt;br /&gt;
&lt;br /&gt;
[[File:Connector.png|thumb|300x300px|Schematic view of the 25 pins connector]]&lt;br /&gt;
&lt;br /&gt;
The 25 pins female connector has 8 inputs and 8 outputs, respectively 1-8 are inputs and 9-16 are outputs. Three analog input with an analog to digital convertor of 12 bit, pins 17,18,20 and 21. Two analog outputs with an digital to analog convertor of 12 bits on pins 22 and 23.&lt;br /&gt;
&lt;br /&gt;
The inputs 1-8 will be pulled down from 5V to GND when the buttons are pressed. The outputs 9-16 will be pulled up from GND to 5V when the output is activated.&lt;br /&gt;
&lt;br /&gt;
===Serial port===&lt;br /&gt;
&lt;br /&gt;
Our hardware design allows to be connected to the computers USB and emulates a serial communication Port.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Baudrate || 115200&lt;br /&gt;
|-&lt;br /&gt;
| Parity || None&lt;br /&gt;
|-&lt;br /&gt;
| Data bits || 8&lt;br /&gt;
|-&lt;br /&gt;
| Stop bits || 1&lt;br /&gt;
|-&lt;br /&gt;
| Flow control || None&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== USB-Com port ===&lt;br /&gt;
&lt;br /&gt;
1.Connect the BITSIbox to your computer using the USB cable.&lt;br /&gt;
&lt;br /&gt;
2.When you connect the BITSIbox, Windows should initiate the driver installation process (if you haven&#039;t used the computer with an BITSIbox board before).&lt;br /&gt;
&lt;br /&gt;
3.On Windows Vista/7, the driver should be automatically downloaded and installed.&lt;br /&gt;
&lt;br /&gt;
4.On Windows XP, the Add New Hardware wizard will open:&lt;br /&gt;
&lt;br /&gt;
*When asked&amp;amp;nbsp;&#039;&#039;&#039;Can Windows connect to Windows Update to search for software?&#039;&#039;&#039;&amp;amp;nbsp;select&amp;amp;nbsp;&#039;&#039;&#039;No, not this time&#039;&#039;&#039;. Click next.&lt;br /&gt;
*Select&amp;amp;nbsp;&#039;&#039;&#039;Install from a list or specified location (Advanced)&#039;&#039;&#039;&amp;amp;nbsp;and click next.&lt;br /&gt;
*Make sure that&amp;amp;nbsp;&#039;&#039;&#039;Search for the best driver in these locations&#039;&#039;&#039;&amp;amp;nbsp;is checked; uncheck&amp;amp;nbsp;&#039;&#039;&#039;Search removable media&#039;&#039;&#039;; check&amp;amp;nbsp;&#039;&#039;&#039;Include this location in the search&#039;&#039;&#039;&amp;amp;nbsp;and browse to the&amp;amp;nbsp;&#039;&#039;&#039;c:/beheer/arduino/drivers &#039;&#039;&#039;directory.&lt;br /&gt;
*The wizard will search for the driver and then tell you that a &amp;quot;USB Serial Converter&amp;quot; was found. Click finish.&lt;br /&gt;
*The new hardware wizard will appear again. Go through the same steps and select the same options and location to search. This time, a &amp;quot;USB Serial Port&amp;quot; will be found.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to Check the Com Port settings(important!)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*From the Start menu, open the &#039;&#039;&#039;Control Panel&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*From the control panel, open the &#039;&#039;&#039;System window&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*From the system properties window, go to the &#039;&#039;&#039;Hardware tab&#039;&#039;&#039; and click the &#039;&#039;&#039;Device Manager&#039;&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
*From the Device Manager window, click &#039;&#039;&#039;Ports (Com&amp;amp;LPT).&#039;&#039;&#039; You should now be able to see which Com Port the USB adapter is assigned to.&lt;br /&gt;
&lt;br /&gt;
*If the Com Port is 10 or higher, you will have to change it to a lower port.&lt;br /&gt;
&lt;br /&gt;
*From the Device Manager window, click on &#039;&#039;&#039;USB Serial Port (Com#).&#039;&#039;&#039; Click the &#039;&#039;&#039;Port Settings tab&#039;&#039;&#039; of the USB Serial Port Properties window, and then click the &#039;&#039;&#039;Advanced&#039;&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
*In the Advanced Settings window, use the scroll input to select a &#039;&#039;&#039;Com Port&#039;&#039;&#039; (select 10 or lower). Change &#039;&#039;&#039;Receive (bytes)&#039;&#039;&#039; and &#039;&#039;&#039;Transmit (bytes)&#039;&#039;&#039; to 64. Change the &#039;&#039;&#039;Latency Timer&#039;&#039;&#039; to 1.&lt;br /&gt;
&lt;br /&gt;
*Click the OK button.&lt;br /&gt;
&lt;br /&gt;
Always connect the usb device to the same port and your settings will be remembered.&lt;br /&gt;
&lt;br /&gt;
== Software Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Neurobs Presentation ===&lt;br /&gt;
&lt;br /&gt;
The experiment files needs a few settings for the device to work:&lt;br /&gt;
* In the settings tab:  port -&amp;gt; input port -&amp;gt; 1 must be the device that identifies itself as &amp;quot;Arduino Uno&amp;quot; in the device manager. Note that the port must have a number not higher than 10 (COM1-COM10). Use re-enumerate if it is higher.&lt;br /&gt;
* Rate must be set 115200, Parity to None, Data Bits to 8 and Stop Bits to 1, Uncheck FIFO Interrupt.&lt;br /&gt;
&lt;br /&gt;
[[File:Buttonbox2.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testing Buttonbox&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When pressing on the A button within the input channel tester. You will see the following ASCII code.&lt;br /&gt;
&lt;br /&gt;
[[file:testbuttonbox.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Adding Marker&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[file:output_buttonbox1.png | 800px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testing Markers (output)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send code 1 for Button A&lt;br /&gt;
&lt;br /&gt;
[[file:output_buttonbox2.png]]&lt;br /&gt;
&lt;br /&gt;
Button A will light up.&lt;br /&gt;
&lt;br /&gt;
[[file:buttonboxledA.png | 200px]]&lt;br /&gt;
&lt;br /&gt;
Send code 0 for clearing.&lt;br /&gt;
&lt;br /&gt;
[[file:output_buttonbox3.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example PCL code you can program a handle to send a marker:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 #handle:&lt;br /&gt;
 output_port OutputPort = output_port_manager.get_port( 1 );&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example to send a marker:&#039;&#039;&#039;&lt;br /&gt;
 OutputPort.send_code(100); #create a marker&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for more information see chapter 8 in the presentation course by clicking [http://tsgdoc.socsci.ru.nl/images/9/9e/Programming_with_Presentation_2013.pdf here]&lt;br /&gt;
&lt;br /&gt;
=== Python/PsychoPy ===&lt;br /&gt;
&lt;br /&gt;
Download this site-package to use the buttonbox: [https://pypi.python.org/pypi/RuSocSci rusocsci] &lt;br /&gt;
&lt;br /&gt;
or use in windows command &#039;pip install --upgrade rusocsci&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example using buttons from the buttonbox in Python:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
&lt;br /&gt;
# import the rusocsci.buttonbox module&lt;br /&gt;
from rusocsci import buttonbox &lt;br /&gt;
&lt;br /&gt;
# make a buttonbox&lt;br /&gt;
bb = buttonbox.Buttonbox()&lt;br /&gt;
&lt;br /&gt;
# wait for a single button press&lt;br /&gt;
b = bb.waitButtons()&lt;br /&gt;
&lt;br /&gt;
# print the button pressed&lt;br /&gt;
print(&amp;quot;b: {}&amp;quot;.format(b)) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example using markers with the buttonbox in Python:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
&lt;br /&gt;
# import the rusocsci.buttonbox module&lt;br /&gt;
from rusocsci import buttonbox &lt;br /&gt;
&lt;br /&gt;
# make a buttonbox&lt;br /&gt;
bb = buttonbox.Buttonbox()&lt;br /&gt;
&lt;br /&gt;
# send a marker&lt;br /&gt;
bb.sendMarker(val=100)    #This is your marker code, range code 1-255 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example using BITSI extended in Python:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
&lt;br /&gt;
# import the rusocsci.buttonbox module&lt;br /&gt;
from rusocsci import buttonbox &lt;br /&gt;
&lt;br /&gt;
# make a buttonbox&lt;br /&gt;
bb = buttonbox.Buttonbox()&lt;br /&gt;
&lt;br /&gt;
# select a function&lt;br /&gt;
bb.sendMarker(val=(ord(&#039;X&#039;)))  #select pulse time&lt;br /&gt;
bb.sendMarker(val=2)           #set time of dureation pulse to 2ms&lt;br /&gt;
&lt;br /&gt;
bb.sendMarker(val=(ord(&#039;M&#039;)))  #select marker out&lt;br /&gt;
bb.sendMarker(val=115)         #set marker value 115&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example using BITSI extended analog read in Python:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
&lt;br /&gt;
# import the rusocsci.buttonbox module&lt;br /&gt;
import serial&lt;br /&gt;
&lt;br /&gt;
# make a buttonbox&lt;br /&gt;
ser = serial.Serial(&amp;quot;COM2&amp;quot;, 115200, timeout = 0.10 )&lt;br /&gt;
ser = serial.Serial(&amp;quot;/dev/ttyUSB0&amp;quot;, 115200, timeout = 0.10 )&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
	ser.write(&#039;A1&#039;)&lt;br /&gt;
	ser.flush()&lt;br /&gt;
	x = ser.readline()&lt;br /&gt;
	visual.TextStim(win, text=x).draw()&lt;br /&gt;
&lt;br /&gt;
	# black screen for 1000 ms&lt;br /&gt;
	win.flip()&lt;br /&gt;
&lt;br /&gt;
	key = event.getKeys()&lt;br /&gt;
	try:&lt;br /&gt;
		if key[0]==&#039;escape&#039;:&lt;br /&gt;
			break&lt;br /&gt;
	except:&lt;br /&gt;
		continue&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&#039;&#039;&#039;Example using the Buttonbox in PsychoPy:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
&lt;br /&gt;
# import psychopy and rusocsci&lt;br /&gt;
from psychopy import core, visual &lt;br /&gt;
from rusocsci import buttonbox&lt;br /&gt;
&lt;br /&gt;
## Setup Section&lt;br /&gt;
win = visual.Window(monitor=&amp;quot;testMonitor&amp;quot;)&lt;br /&gt;
bb = buttonbox.Buttonbox()&lt;br /&gt;
text = visual.TextStim(win, &amp;quot;Press a button on the buttonbox&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
## Experiment Section&lt;br /&gt;
# show text&lt;br /&gt;
text.draw()&lt;br /&gt;
win.flip()&lt;br /&gt;
# wait for response&lt;br /&gt;
b = bb.waitButtons()&lt;br /&gt;
# show response&lt;br /&gt;
text.setText(&amp;quot;you pressed: {}&amp;quot;.format(b))&lt;br /&gt;
text.draw()&lt;br /&gt;
win.flip()&lt;br /&gt;
core.wait(5)&lt;br /&gt;
&lt;br /&gt;
## Cleanup Section&lt;br /&gt;
core.quit()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more documentation click here: http://pythonhosted.org//RuSocSci/index.html&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Matlab ===&lt;br /&gt;
&#039;&#039;&#039;Example using markers with the Buttonbox in Matlab:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download the file Bitsi.m from the DCCN website: https://intranet.donders.ru.nl/index.php?id=bitsim0&lt;br /&gt;
&amp;lt;br&amp;gt; Make sure to have this file in your Matlab path.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;matlab&amp;quot; line style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
% At the start of your script, create the buttonbox serial object&lt;br /&gt;
bb = Bitsi(&amp;quot;COM2&amp;quot;);&lt;br /&gt;
% other code&lt;br /&gt;
        :&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BITSI simple mode:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;matlab&amp;quot; line style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
% This example is for an EEG system sampling at 500Hz samplerate.  &lt;br /&gt;
% at the start of your script, reset marker&lt;br /&gt;
samplerate = 500;&lt;br /&gt;
pulseLen = 2000/samplerate; % get pulse time length for a 2 samples delay&lt;br /&gt;
bb.sendTrigger(0);&lt;br /&gt;
% send a marker&lt;br /&gt;
val = 1;                                     % val: this is your marker code, range code 1-255&lt;br /&gt;
bb.sendTrigger(val);&lt;br /&gt;
java.lang.Thread.sleep(pulseLen);    % wait long enough for the EEG system to capture the trigger, i.e., 2000/samplerate ms&lt;br /&gt;
% reset marker&lt;br /&gt;
bb.sendTrigger(0)                 % Note: if resetting the marker is not possible at this moment in code, you can decide to do this later as long as it has taken place long enough before the next marker has to be sent. Another solution using a timer object instead of a simple delay is outlined below.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BITSI extended mode:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;matlab&amp;quot; line style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
samplerate = 500;&lt;br /&gt;
pulseLen = 2000/samplerate; % get pulse time length for a 2 samples delay&lt;br /&gt;
% select a function&lt;br /&gt;
bb.sendTrigger(uint8(&#039;X&#039;));   % select pulse time&lt;br /&gt;
bb.sendTrigger(pulseLen);             % set time of duration pulse to (2000/samplerate) ms&lt;br /&gt;
 &lt;br /&gt;
val = 1;                                     % val: this is your marker code, range code 1-255&lt;br /&gt;
bb.sendTrigger(uint8(&#039;M&#039;));  % select marker out&lt;br /&gt;
bb.sendTrigger(val);              % val: this is your marker code, range code 1-255&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;matlab&amp;quot; line style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
% At the end of your script, close the buttonbox serial object&lt;br /&gt;
    :&lt;br /&gt;
bb.close();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reset marker using a timer:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;matlab&amp;quot; line style=&amp;quot;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
% At the start of your script, define timer object and callback function&lt;br /&gt;
pulseTime = 0.004; % trigger pulse duration in s. NB: extra time will be added due to overhead in calling Matlab functions related to the timer event.&lt;br /&gt;
resetMarker = timer(&#039;TimerFcn&#039;,@(x,y)bb.sendTrigger(0),&#039;StartDelay&#039;,pulseTime);&lt;br /&gt;
&lt;br /&gt;
% replace the code to send a marker with:&lt;br /&gt;
val = 1;                                     % val: this is your marker code, range code 1-255&lt;br /&gt;
bb.sendTrigger(val);&lt;br /&gt;
resetMarker.start(); % this will call bb.sendTrigger(0) after pulseTime seconds (plus some additional overhead)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=DataHub&amp;diff=6752</id>
		<title>DataHub</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=DataHub&amp;diff=6752"/>
		<updated>2026-08-11T15:24:35Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox software&lt;br /&gt;
| name                   = Lab Streaming Layer&lt;br /&gt;
| developer              = Christian Kothe; Chadwick Boulay.&lt;br /&gt;
| status                 = -in development-&lt;br /&gt;
| programming language   = C, C++, Python, Java, C#, MATLAB&lt;br /&gt;
| operating system       = Windows, Linux, MacOS, Android, iOS&lt;br /&gt;
| genre                  = Data collection&lt;br /&gt;
| license                = Open source&lt;br /&gt;
| website                = [https://labstreaminglayer.readthedocs.io/info/intro.html LSL webpage]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
{{Infobox tsg&lt;br /&gt;
  | downloads          = {{bulleted list&lt;br /&gt;
      | {{Surfdrive|https://surfdrive.surf.nl/s/GLSnbBaYsbEWjPX|Viewer &amp;amp; Streamer}}&lt;br /&gt;
    }}&lt;br /&gt;
  | manuals            = {{bulleted list&lt;br /&gt;
      | [https://labstreaminglayer.readthedocs.io/ Documentation]&lt;br /&gt;
      | [https://sccn.ucsd.edu/~mgrivich/LSL_Validation.html LSL Validation]&lt;br /&gt;
      | [https://labstreaminglayer.readthedocs.io/info/supported_devices.html Supported Devices and Tools]&lt;br /&gt;
  }}&lt;br /&gt;
  | templates             = {{bulleted list&lt;br /&gt;
      | {{Surfdrive|https://surfdrive.surf.nl/s/gPenWNAqq8AXa7x|Example Scripts}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The DataHub Makes use of the lab streaming layer. The lab streaming layer (LSL) is a system for the unified collection of measurement time series in research experiments that handles both the networking, time-synchronization, (near-) real-time access as well as optionally the centralized collection, viewing and disk recording of the data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Our support for LSL is mainly done in python. Download python here: [https://www.python.org/downloads/release/python-376/ Please choose a 64 bit version.]. Run the installer and make sure to add Python to the file path (it&#039;s an option in the installer).&lt;br /&gt;
Open a command prompt, start with upgrading the pip installer by typing:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code style=&amp;quot;background-color:#000; color:#fff; padding:1px 3px;&amp;quot;&amp;gt;c:&amp;gt;python -m pip install --upgrade pip&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Then:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code style=&amp;quot;background-color:#000; color:#fff; padding:1px 3px;&amp;quot;&amp;gt;c:&amp;gt;pip install pylsl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
more info: [https://github.com/labstreaminglayer/liblsl-Python cross platform pylsl]&lt;br /&gt;
&lt;br /&gt;
===Versions===&lt;br /&gt;
Pylsl version 1.16.2 is installed on our [[Lab Computer]]s. Open a command and type the following to find the version used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code style=&amp;quot;background-color:#000; color:#fff; padding:1px 3px;&amp;quot;&amp;gt;c:&amp;gt;python&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code style=&amp;quot;background-color:#000; color:#fff; padding:1px 3px;&amp;quot;&amp;gt;&amp;gt;&amp;gt;&amp;gt; import pylsl&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code style=&amp;quot;background-color:#000; color:#fff; padding:1px 3px;&amp;quot;&amp;gt;&amp;gt;&amp;gt;&amp;gt; print(pylsl.__version__)&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
=== Python ===&lt;br /&gt;
Example demonstrating how to send LSL stream and marker data:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#!/usr/bin/env python3.10&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import time&lt;br /&gt;
import random&lt;br /&gt;
import keyboard&lt;br /&gt;
from pylsl import StreamInfo, StreamOutlet&lt;br /&gt;
&lt;br /&gt;
from pylsl import local_clock&lt;br /&gt;
&lt;br /&gt;
# --- Setup Marker Stream ---&lt;br /&gt;
print(&amp;quot;Setting up marker stream...&amp;quot;)&lt;br /&gt;
marker_info = StreamInfo(&lt;br /&gt;
    name=&amp;quot;MarkerStream&amp;quot;,&lt;br /&gt;
    type=&amp;quot;Markers&amp;quot;,&lt;br /&gt;
    channel_count=1,&lt;br /&gt;
    nominal_srate=0,  # Irregular sampling&lt;br /&gt;
    channel_format=&amp;quot;string&amp;quot;,&lt;br /&gt;
    source_id=&amp;quot;MarkerSource&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
marker_outlet = StreamOutlet(marker_info, chunk_size=1)&lt;br /&gt;
&lt;br /&gt;
# --- Setup Data Stream ---&lt;br /&gt;
print(&amp;quot;Setting up data stream...&amp;quot;)&lt;br /&gt;
data_info = StreamInfo(&lt;br /&gt;
    name=&amp;quot;TestStream&amp;quot;,&lt;br /&gt;
    type=&amp;quot;TestData&amp;quot;,&lt;br /&gt;
    channel_count=4,&lt;br /&gt;
    nominal_srate=100,&lt;br /&gt;
    channel_format=&amp;quot;float32&amp;quot;,&lt;br /&gt;
    source_id=&amp;quot;TestStream_Source&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
channels = data_info.desc().append_child(&amp;quot;channels&amp;quot;)&lt;br /&gt;
for name in [&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;]:&lt;br /&gt;
    chan = channels.append_child(&amp;quot;channel&amp;quot;)&lt;br /&gt;
    chan.append_child_value(&amp;quot;name&amp;quot;, name)&lt;br /&gt;
    chan.append_child_value(&amp;quot;unit&amp;quot;, &amp;quot;unitless&amp;quot;)&lt;br /&gt;
    chan.append_child_value(&amp;quot;type&amp;quot;, &amp;quot;TestData&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
data_outlet = StreamOutlet(data_info, chunk_size=1)&lt;br /&gt;
&lt;br /&gt;
# --- Start Streaming ---&lt;br /&gt;
print(&amp;quot;Start streaming... Press &#039;q&#039; to stop.&amp;quot;)&lt;br /&gt;
marker_outlet.push_sample([&amp;quot;Start&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
while not keyboard.is_pressed(&#039;q&#039;):&lt;br /&gt;
    random_numbers = [random.randint(1, 2) for _ in range(4)]&lt;br /&gt;
    data_outlet.push_sample(random_numbers)&lt;br /&gt;
    time.sleep(0.01)&lt;br /&gt;
&lt;br /&gt;
marker_outlet.push_sample([&amp;quot;Stop&amp;quot;])&lt;br /&gt;
print(&amp;quot;Streaming stopped.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Matlab ===&lt;br /&gt;
Please, read the instructions on the GitHub labstreaminglayer website (https://github.com/labstreaminglayer/liblsl-Matlab) on how to prepare Matlab to work with LSL. You can either use the latest release for your Matlab version, or if that doesn&#039;t workout well, build it from the source files. Make sure to add the liblsl-Matlab folder to your path recursively to make it available to your own scripts.&lt;br /&gt;
&lt;br /&gt;
A short example for sending lsl streaming data:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;matlab&amp;quot; line&amp;gt;&lt;br /&gt;
%% instantiate the library&lt;br /&gt;
disp(&#039;Loading library...&#039;);&lt;br /&gt;
lib = lsl_loadlib();&lt;br /&gt;
&lt;br /&gt;
% make a new stream outlet&lt;br /&gt;
disp(&#039;Creating a new streaminfo...&#039;);&lt;br /&gt;
info = lsl_streaminfo(lib,&#039;BioSemi&#039;,&#039;EEG&#039;,8,100,&#039;cf_float32&#039;,&#039;sdfwerr32432&#039;);&lt;br /&gt;
&lt;br /&gt;
disp(&#039;Opening an outlet...&#039;);&lt;br /&gt;
outlet = lsl_outlet(info);&lt;br /&gt;
&lt;br /&gt;
% send data into the outlet, sample by sample&lt;br /&gt;
disp(&#039;Now transmitting data...&#039;);&lt;br /&gt;
while true&lt;br /&gt;
    outlet.push_sample(randn(8,1));&lt;br /&gt;
    pause(0.01);&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A short example for receiving lsl streaming data:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;matlab&amp;quot; line&amp;gt;&lt;br /&gt;
%% instantiate the library&lt;br /&gt;
disp(&#039;Loading the library...&#039;);&lt;br /&gt;
lib = lsl_loadlib();&lt;br /&gt;
&lt;br /&gt;
% resolve a stream...&lt;br /&gt;
disp(&#039;Resolving an EEG stream...&#039;);&lt;br /&gt;
result = {};&lt;br /&gt;
while isempty(result)&lt;br /&gt;
    result = lsl_resolve_byprop(lib,&#039;type&#039;,&#039;EEG&#039;); end&lt;br /&gt;
&lt;br /&gt;
% create a new inlet&lt;br /&gt;
disp(&#039;Opening an inlet...&#039;);&lt;br /&gt;
inlet = lsl_inlet(result{1});&lt;br /&gt;
&lt;br /&gt;
disp(&#039;Now receiving data...&#039;);&lt;br /&gt;
while true&lt;br /&gt;
    % get data from the inlet&lt;br /&gt;
    [vec,ts] = inlet.pull_sample();&lt;br /&gt;
    % and display it&lt;br /&gt;
    fprintf(&#039;%.2f\t&#039;,vec);&lt;br /&gt;
    fprintf(&#039;%.5f\n&#039;,ts);&lt;br /&gt;
end&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Meta:Guidelines&amp;diff=6751</id>
		<title>Meta:Guidelines</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Meta:Guidelines&amp;diff=6751"/>
		<updated>2026-08-11T15:21:08Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Surfdrive */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a sample page for the tsgdoc Wiki and can be used as reference for creating new pages. Note that this introduction is conventionally placed above the Table Of Contents (TOC), so visitors can immediately see what this page is about, instead of having to scroll passed the TOC.&lt;br /&gt;
&lt;br /&gt;
For more general wiki conventions and formatting help , visit the [http://www.mediawiki.org/wiki/Help:Formatting MediaWiki Formatting Guide].&lt;br /&gt;
&lt;br /&gt;
If you&#039;re looking for something to contribute to this Wiki, look here for pages that need fixing:&lt;br /&gt;
*[[:Category:Pages that need updating]]&lt;br /&gt;
*[[:Category:Articles with dead external links]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Page Names==&lt;br /&gt;
Page names should be descriptive and unique. Use singular nouns instead of plurals when possible (e.g. &amp;quot;Keyboard&amp;quot; instead of &amp;quot;Keyboards&amp;quot;). This makes linking from singular words easier:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
✅&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;One [[Keyboard]], Two [[Keyboard]]s.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt; &lt;br /&gt;
❌&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;One [[Keyboards|Keyboard]], Two [[Keyboards]].&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Both result in: One [[Keyboard]], Two [[Keyboard]]s.&lt;br /&gt;
&lt;br /&gt;
==Sections==&lt;br /&gt;
Always try to group and categorize your information in a logical and user-friendly way. Prevent redundancies: only create subsections if there are more of them at the same level (levels are indicated by number of = signs before and after the section header), otherwise just collapse to the parent.&lt;br /&gt;
&lt;br /&gt;
For some reason, Erik seems to always start at level 2 (&#039;==&#039;). It makes the jump in font-size between the header and text a bit less jarring, but it&#039;s mainly done out of a force of habit. Help him break this spell by properly starting your sections at level 1.&lt;br /&gt;
&lt;br /&gt;
You can add many levels of subsections as you like, but after level 3 they become quite hard to distinguish and will clutter the TOC. If a subject requires many sub-subcategories, consider giving the subcategory its own page. Alternatively, if the sub-subcategories are only small in content, you could make non-TOC headers with simple &#039;&#039;&#039;bold text&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
Links should be &#039;&#039;&#039;descriptive&#039;&#039;&#039;, and inform the user of where or what the link is directing them to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dos&#039;&#039;&#039;&lt;br /&gt;
:✅ Check [https://www.ru.nl/en/departments/faculty-of-social-sciences/technical-support-group-tsg our official website].&lt;br /&gt;
:✅ [[Meta:Guidelines#Links|How to format links]]&lt;br /&gt;
:⚠️ It can be ok to use full URLs if they&#039;re short and/or clear, like https://ru.nl/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Donts&#039;&#039;&#039;&lt;br /&gt;
:❌ Click [https://ru.nl here] for more info.&lt;br /&gt;
:❌ Visit https://www.ru.nl/en/departments/faculty-of-social-sciences/technical-support-group-tsg&lt;br /&gt;
&lt;br /&gt;
===Download Links===&lt;br /&gt;
{{See also|Template:Download link}}&lt;br /&gt;
&lt;br /&gt;
You can use a custom template for download links. This adds a little icon in front of it so users can see the link leads to a raw file or direct download. This is to prevent people accidentally downloading things they didn&#039;t intend to.&lt;br /&gt;
&lt;br /&gt;
{{Download link|media=Placeholder.png|Placeholder image|png}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Download link|media=Placeholder.png|Placeholder image|png}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Familiar Sites===&lt;br /&gt;
This Wiki has custom templates for linking to commonly used resources that are (more or less) under our control. It helps users identify where external links are going, and know it is safe to click on.&lt;br /&gt;
&lt;br /&gt;
====Gitlab====&lt;br /&gt;
{{See also|Template:Gitlab}}&lt;br /&gt;
&lt;br /&gt;
{{Gitlab|tsg/Labcomputer|Lab computer scripts}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Gitlab|tsg/Labcomputer|Lab computer scripts}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Surfdrive====&lt;br /&gt;
{{See also|Template:Surfdrive}}&lt;br /&gt;
&lt;br /&gt;
{{Surfdrive|b8Rp29u8MGhjb1v|LSL LabRecorder (zip)}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Surfdrive|b8Rp29u8MGhjb1v|LSL LabRecorder (zip)}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ℹ️ If you want to upload files to the Surfdrive to share on this Wiki, TSG members should place them in the folder &amp;quot;TSG Wiki Resources&amp;quot;. This folder should be visible and accessible for all TSG and lab support members. If not, please contact [[Erik van den Berge]].&lt;br /&gt;
&lt;br /&gt;
===Dead links===&lt;br /&gt;
If you encounter an external link that no longer works, e.g. if you get a 404 error message or the whole website doesn&#039;t exist anymore:&lt;br /&gt;
# Try to find where the intended content has moved to and replace the link url.&lt;br /&gt;
# Check the page history to see who may&#039;ve created the link in the first place; ask them to fix it.&lt;br /&gt;
# Add the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Dead link}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; tag after the link. {{Dead link}}&lt;br /&gt;
&lt;br /&gt;
Pages with dead links will automatically show up on [[:Category:Articles with dead external links]].&lt;br /&gt;
&lt;br /&gt;
==Images==&lt;br /&gt;
[[File:placeholder.png|thumb|320px|Right-floating image thumbnail with description.]]&lt;br /&gt;
&lt;br /&gt;
To optimize screen space, images should be placed in a floating window, aligned to the right side of the screen. Larger images can be automatically resized to thumbnails, by specifying the thumbnail width. 300px is the preferred thumbnail size. Adding a description underneath the image is appreciated.&lt;br /&gt;
For more image formatting guidelines, visit the [http://www.mediawiki.org/wiki/Help:Images MediaWiki Images Guide].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inline Images&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Images that are used, for instance, as part of a step-by-step tutorial can be placed inline, with larger size to make them more readable. The exact size is up to you, but the width should not exceed 720px.&amp;lt;ref&amp;gt;Thumbnails 720px wide still fit comfortably within a browser window on half a 1920px desktop monitor.&amp;lt;/ref&amp;gt;&lt;br /&gt;
[[File:placeholder.png|thumb|none|480px|Caption]]&lt;br /&gt;
&lt;br /&gt;
You can prevent text that is placed after the image from flowing next to the image by placing an HTML break behind it.&lt;br /&gt;
&lt;br /&gt;
==Tables==&lt;br /&gt;
&lt;br /&gt;
For tables, use the Wikitable markup. It is more readable and easy on the eye than the default one. There are multiple ways to create rows and columns, some used in the example below, but for more information, consult the [http://www.mediawiki.org/wiki/Help:Tables MediaWiki Table Formatting Guide]. &lt;br /&gt;
&lt;br /&gt;
By default, table columns will scale to fit the contents of the cell, but this usually results in a messy-looking table. Set fixed column-widths to keep the table nice and tight.&lt;br /&gt;
&lt;br /&gt;
For binary entries (e.g. Yes/No), a background color can be used to make it easier to recognize. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;150px&amp;quot; | &lt;br /&gt;
! width=&amp;quot;200px&amp;quot; | Item 1&lt;br /&gt;
! width=&amp;quot;200px&amp;quot; | Item 2&lt;br /&gt;
! width=&amp;quot;200px&amp;quot; | Item 3&lt;br /&gt;
|-&lt;br /&gt;
| Regular Info || Info 1 || Info 2 || Info 3&lt;br /&gt;
|-&lt;br /&gt;
! Comparison&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| Template || &amp;lt;center&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Yes}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt; || &amp;lt;center&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{No}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt; || &amp;lt;center&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Some}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Result || {{Yes}} || {{No}} || {{Some}}&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| Custom name || &amp;lt;center&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Yes|Yeah!}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;  || &amp;lt;center&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{No|Nuh-uh}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt;  || &amp;lt;center&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Some|Maybe?}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| Result || {{Yes|Yeah!}} || {{No|Nuh-uh}} || {{Some|Maybe?}}&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| Manual colors&lt;br /&gt;
| style=&amp;quot;background-color:#9F9;&amp;quot; | #9F9&lt;br /&gt;
| style=&amp;quot;background-color:#F99;&amp;quot; | #F99&lt;br /&gt;
| style=&amp;quot;background-color:#FFD;&amp;quot; | #FFD&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&lt;br /&gt;
If you want to add code, the syntax might interfere with the Mediawiki syntax. To prevent this from happening, place your code in one of the following preferred ways:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Fixed format text for short, single-line code.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Long code, spans entire width of the page.&lt;br /&gt;
Supports syntax highlighting of certain languages, like Python and HTML.&lt;br /&gt;
Change the lang=&amp;quot;&amp;quot; attribute to the correct language, e.g. lang=&amp;quot;python&amp;quot; or lang=&amp;quot;html5&amp;quot;&lt;br /&gt;
Use lang=&amp;quot;text&amp;quot; for non-supported languages.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; line style=&amp;quot;height:15em; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
You can also add line numbering.&lt;br /&gt;
&lt;br /&gt;
If your code is longer than, say, 50 lines, you can add a style attribute to introduce a scrollbar, as sampled here. For a 50-line cutoff, use style=&amp;quot;height:50em; overflow:auto;&amp;quot;.&lt;br /&gt;
Note that this method will cause the print version of the page to cut off the code at the line limit mark and not print the rest of the code.&lt;br /&gt;
I might fix that, but if it&#039;s really crucial to have an entire page full of code, you should probably give it a separate page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Start Pirate Ipsum--&amp;gt;&lt;br /&gt;
Prow scuttle parrel provost Sail ho shrouds spirits boom mizzenmast yardarm. Pinnace holystone mizzenmast quarter crow&#039;s nest nipperkin grog yardarm hempen halter furl. Swab barque interloper chantey doubloon starboard grog black jack gangway rutters.&lt;br /&gt;
Deadlights jack lad schooner scallywag dance the hempen jig carouser broadside cable strike colors. Bring a spring upon her cable holystone blow the man down spanker Shiver me timbers to go on account lookout wherry doubloon chase. Belay yo-ho-ho keelhaul squiffy black spot yardarm spyglass sheet transom heave to.&lt;br /&gt;
Sail ho Corsair red ensign hulk smartly boom jib rum gangway. Case shot Shiver me timbers gangplank crack Jennys tea cup ballast Blimey lee snow crow&#039;s nest rutters. Fluke jib scourge of the seven seas boatswain schooner gaff booty Jack Tar transom spirits.&lt;br /&gt;
&amp;lt;!-- End Pirate Ipsum--&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For command-line code, you can also style it like this for clarity:&lt;br /&gt;
&amp;lt;code style=&amp;quot;background-color:#000; color:#fff; padding:1px 3px;&amp;quot;&amp;gt;ping 127.0.0.1 -n 50 -l 1024&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You could also use the &amp;lt;nowiki&amp;gt;&amp;lt;tt&amp;gt; &amp;lt;pre&amp;gt; and nowiki &amp;lt;/nowiki&amp;gt; tags if better suited for your needs, whatever works best to present the code as clear and readable as possible.&lt;br /&gt;
&lt;br /&gt;
==Emoji==&lt;br /&gt;
It is encouraged to use [https://unicode.org/emoji/charts/full-emoji-list.html unicode emojis] (which you can just copy-paste as text) in places where they can draw extra attention, help illustrate your point, or break up the monotony of a long text. &lt;br /&gt;
&lt;br /&gt;
Be aware that emojis may be rendered differently in different browsers or operating systems, so try to pick ones that are common and unambiguous, and also recognizable at the scale they get reduced to when placed in-line on our Wiki. Also, Windows doesn&#039;t natively support flag emojis like 🇳🇱, for some reason.&lt;br /&gt;
&lt;br /&gt;
Lastly, don&#039;t overdo the emojis, as that could make it seem like our wiki was written by AI. &lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
:ℹ️ This is a piece of (extra) information. &lt;br /&gt;
:⚠️ This is a warning!&lt;br /&gt;
:❌ This is a no-go!&lt;br /&gt;
:✅ This is good.&lt;br /&gt;
:✨ This is something new!&lt;br /&gt;
:🚧 This is under construction.&lt;br /&gt;
:🐽 Oink.&lt;br /&gt;
&lt;br /&gt;
These are just examples; feel free to come up with your own conventions so we can later compare and discuss what works best.&lt;br /&gt;
&lt;br /&gt;
==Shields and Badges==&lt;br /&gt;
Github-style shields or badges are useful for providing software details like programming language and licensing at a glance. There&#039;s a case to be made for our Wiki and Gitlab READMEs to use similar layouts and features for more uniformity in our documentation, and so badges could help with that too. Unfortunately, it is currently a bit of a faff to implement badges on our wiki, as hotlinking or injecting dynamic content from external sources is disabled for security reasons.&lt;br /&gt;
&lt;br /&gt;
The workaround:&lt;br /&gt;
# Generate a badge at https://shields.io&lt;br /&gt;
# Create a new CSS rule in [[MediaWiki:Common.css]] (see examples below)&lt;br /&gt;
# On the page you want to edit, add a custom span with class=&amp;quot;shield&amp;quot; and the id as named in the CSS, e.g.: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;span class=&amp;quot;shield&amp;quot; id=&amp;quot;shield-python310&amp;quot;)&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Add to the list of shields below.&lt;br /&gt;
&lt;br /&gt;
===Available Shields===&lt;br /&gt;
:&amp;lt;span class=&amp;quot;shield&amp;quot; id=&amp;quot;shield-python310&amp;quot;)&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;span class=&amp;quot;shield&amp;quot; id=&amp;quot;shield-python310&amp;quot;)&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Banners==&lt;br /&gt;
If a page is, or needs to be, significantly changed, you can put a banner on top to warn/inform visitors.&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Notice|Did you know you could add banners?}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Notice|Did you know you could add banners?}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Warn|&#039;&#039;&#039;Look Out!&#039;&#039;&#039;}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Warn|&#039;&#039;&#039;Look Out!&#039;&#039;&#039;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Outdated}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Outdated|nocat=true}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Under construction}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Under construction|nocat=true}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Rode_RODELink_Filmmaker_Kit&amp;diff=6739</id>
		<title>Rode RODELink Filmmaker Kit</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Rode_RODELink_Filmmaker_Kit&amp;diff=6739"/>
		<updated>2026-08-11T12:48:26Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* External Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = RØDE RØDELink Filmmaker Kit&lt;br /&gt;
| image          = Rodelink.jpg&lt;br /&gt;
| caption        = RØDELink Transmitter, Receiver, Lavalier mic and accessories.&lt;br /&gt;
| manuals        = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The RØDE RØDELink Filmmaker Kit is a wireless lavalier microphone system. It has a bodypack-style transmitter with exchangeable lavalier mic (via 3.5mm jack connector). &amp;lt;br/&amp;gt;&lt;br /&gt;
The RØDELink kit has been made somewhat obsolescent by more modern, ultra-compact wireless microphone sets like the [[Hollyland Lark M2]], however it still offers some distinct benefits (see [[#Comparison]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contents==&lt;br /&gt;
The RØDE RØDELink Filmmaker Kit contains:&lt;br /&gt;
* 1 Wireless transmitter (TX-BELT)&lt;br /&gt;
* 1 Wireless receiver (RX-CAM)&lt;br /&gt;
* 1 RØDELink Lav microphone&lt;br /&gt;
* Foam wind screen&lt;br /&gt;
* Microphone pouch&lt;br /&gt;
* 3.5mm jack M-M cable&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| RØDELink Filmmaker Kit&lt;br /&gt;
|-&lt;br /&gt;
! Microphone&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Type || Lavalier (small condenser)&lt;br /&gt;
|-&lt;br /&gt;
| Polar Pattern || Omnidirectional&lt;br /&gt;
|-&lt;br /&gt;
| Frequency Response (Hz) || 20 - 20,000 &lt;br /&gt;
|- &lt;br /&gt;
| Accessories || Foam windshield&lt;br /&gt;
|-&lt;br /&gt;
| Max. SPL (dB) || 110&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm TRS Jack&lt;br /&gt;
|-&lt;br /&gt;
! Transmitter&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Power requirement || 2* AA battery, or MicroUSB&lt;br /&gt;
|-&lt;br /&gt;
| Features || Wireless (2.4GHz)&lt;br /&gt;
|-&lt;br /&gt;
| Mount || Belt-clip/cold-shoe&lt;br /&gt;
|-&lt;br /&gt;
| Range (m) || 100 (LOS)&lt;br /&gt;
|-&lt;br /&gt;
| Battery Capacity (mAh) || -&lt;br /&gt;
|-&lt;br /&gt;
| Weight (g) || 190&lt;br /&gt;
|-&lt;br /&gt;
! Receiver&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm jack&lt;br /&gt;
|-&lt;br /&gt;
| Power requirement || 2* AA battery, or MicroUSB&lt;br /&gt;
|-&lt;br /&gt;
| Features || Wireless (2.4GHz)&lt;br /&gt;
|-&lt;br /&gt;
| Mount || Clip/cold shoe&lt;br /&gt;
|-&lt;br /&gt;
| Battery Capacity (mAh) || -&lt;br /&gt;
|-&lt;br /&gt;
| Weight (g) || 190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references group=&amp;quot;fn&amp;quot; /&amp;gt; &amp;lt;!-- Automatically list notes/references in the table above --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
The RØDELink kit has no internal storage, so you will always have to connect it to a separate recording device, like a regular microphone. The transmitter was made to connect to a camera, but can also be connected to XLR recorder or [[Audio Interface]], or even to a PC, phone or laptop, using adapters that we have available.&lt;br /&gt;
&lt;br /&gt;
# Insert batteries into the transmitter and receiver units (press button and slide back cover down), or connect them to a USB power source via microUSB.&amp;lt;ref&amp;gt;When powering the transmitter and/or receiver via USB, we recommend using clean and isolated power sources like a powerbank, NOT a regular wall-charger. The latter can introduce noise.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Plug the lavalier microphone into the receiver.&lt;br /&gt;
# Connect the receiver to your recording device via 3.5mm jack cable.&lt;br /&gt;
# Turn on the transmitter and receiver. They should connect and pair automatically.&lt;br /&gt;
&lt;br /&gt;
For the best results, make sure the lavalier microphone is not covered by any layers of clothing or hair that may rustle against it. &amp;lt;br/&amp;gt;&lt;br /&gt;
Attach a wind screen when recording outside in windy conditions.&lt;br /&gt;
&lt;br /&gt;
When not using the kit, please remove the batteries from the transmitter and receiver.&lt;br /&gt;
&lt;br /&gt;
==Comparison==&lt;br /&gt;
Compared to ultra-compact wireless microphone sets like the [[Hollyland Lark M2]], the RØDELink system offers the following pros &amp;amp; cons:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pros&#039;&#039;&#039;&lt;br /&gt;
:✅ Swappable batteries, or limitless power via USB. Lets you record long days without having to (remember to) charge internal batteries.&lt;br /&gt;
:✅ Smaller mic. The mic itself is smaller because it does not have a built-in transmitter, so it&#039;s easier to hide/less obtrusive.&lt;br /&gt;
:✅ Replaceable mic. The lavalier mic can potentially be swapped out for other microphone styles, or with other polar patterns.&lt;br /&gt;
:✅ Large, readable controls. Big buttons and clear OLED displays make the set fool-proof and easy to use. &lt;br /&gt;
:✅ &amp;quot;Unlosable&amp;quot;? The mic connection, sturdy clips, and bulky transmitter make the set harder to accidentally drop, lose, or forget.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cons&#039;&#039;&#039;&lt;br /&gt;
:❌ Swappable batteries. You need to remember to always pack spare batteries, just in case.&lt;br /&gt;
:❌ No digital output. The USB port is for power input only.&lt;br /&gt;
:❌ Single channel. Each microphone requires its own transmitter and receiver. Most ultra-compacts offer 2 mics/channels per receiver.&lt;br /&gt;
:❌ Wired mic. The mic still connects to the transmitter via wire, which could snag, or has to run underneath your speaker&#039;s clothes (=more intrusive)&lt;br /&gt;
:❌ No noise-cancelling. Most ultra-compacts offer built-in ANC which helps when recording in noisy environments.&lt;br /&gt;
:❌ Bulky. The entire set is bulky and less portable. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The TSG will always consider these tradeoffs when advising a wireless microphone for you to use 🙂&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Microphones]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*[https://rode.com/en-us/products/rodelink-filmmaker-kit Official website]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
&amp;lt;references /&amp;gt; &amp;lt;!-- Automatically generates list of references using the &amp;lt;ref&amp;gt;&amp;lt;/ref&amp;gt; tags. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Rode_RODELink_Filmmaker_Kit&amp;diff=6738</id>
		<title>Rode RODELink Filmmaker Kit</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Rode_RODELink_Filmmaker_Kit&amp;diff=6738"/>
		<updated>2026-08-11T12:48:14Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: /* Comparison */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = RØDE RØDELink Filmmaker Kit&lt;br /&gt;
| image          = Rodelink.jpg&lt;br /&gt;
| caption        = RØDELink Transmitter, Receiver, Lavalier mic and accessories.&lt;br /&gt;
| manuals        = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The RØDE RØDELink Filmmaker Kit is a wireless lavalier microphone system. It has a bodypack-style transmitter with exchangeable lavalier mic (via 3.5mm jack connector). &amp;lt;br/&amp;gt;&lt;br /&gt;
The RØDELink kit has been made somewhat obsolescent by more modern, ultra-compact wireless microphone sets like the [[Hollyland Lark M2]], however it still offers some distinct benefits (see [[#Comparison]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contents==&lt;br /&gt;
The RØDE RØDELink Filmmaker Kit contains:&lt;br /&gt;
* 1 Wireless transmitter (TX-BELT)&lt;br /&gt;
* 1 Wireless receiver (RX-CAM)&lt;br /&gt;
* 1 RØDELink Lav microphone&lt;br /&gt;
* Foam wind screen&lt;br /&gt;
* Microphone pouch&lt;br /&gt;
* 3.5mm jack M-M cable&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| RØDELink Filmmaker Kit&lt;br /&gt;
|-&lt;br /&gt;
! Microphone&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Type || Lavalier (small condenser)&lt;br /&gt;
|-&lt;br /&gt;
| Polar Pattern || Omnidirectional&lt;br /&gt;
|-&lt;br /&gt;
| Frequency Response (Hz) || 20 - 20,000 &lt;br /&gt;
|- &lt;br /&gt;
| Accessories || Foam windshield&lt;br /&gt;
|-&lt;br /&gt;
| Max. SPL (dB) || 110&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm TRS Jack&lt;br /&gt;
|-&lt;br /&gt;
! Transmitter&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Power requirement || 2* AA battery, or MicroUSB&lt;br /&gt;
|-&lt;br /&gt;
| Features || Wireless (2.4GHz)&lt;br /&gt;
|-&lt;br /&gt;
| Mount || Belt-clip/cold-shoe&lt;br /&gt;
|-&lt;br /&gt;
| Range (m) || 100 (LOS)&lt;br /&gt;
|-&lt;br /&gt;
| Battery Capacity (mAh) || -&lt;br /&gt;
|-&lt;br /&gt;
| Weight (g) || 190&lt;br /&gt;
|-&lt;br /&gt;
! Receiver&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm jack&lt;br /&gt;
|-&lt;br /&gt;
| Power requirement || 2* AA battery, or MicroUSB&lt;br /&gt;
|-&lt;br /&gt;
| Features || Wireless (2.4GHz)&lt;br /&gt;
|-&lt;br /&gt;
| Mount || Clip/cold shoe&lt;br /&gt;
|-&lt;br /&gt;
| Battery Capacity (mAh) || -&lt;br /&gt;
|-&lt;br /&gt;
| Weight (g) || 190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references group=&amp;quot;fn&amp;quot; /&amp;gt; &amp;lt;!-- Automatically list notes/references in the table above --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
The RØDELink kit has no internal storage, so you will always have to connect it to a separate recording device, like a regular microphone. The transmitter was made to connect to a camera, but can also be connected to XLR recorder or [[Audio Interface]], or even to a PC, phone or laptop, using adapters that we have available.&lt;br /&gt;
&lt;br /&gt;
# Insert batteries into the transmitter and receiver units (press button and slide back cover down), or connect them to a USB power source via microUSB.&amp;lt;ref&amp;gt;When powering the transmitter and/or receiver via USB, we recommend using clean and isolated power sources like a powerbank, NOT a regular wall-charger. The latter can introduce noise.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Plug the lavalier microphone into the receiver.&lt;br /&gt;
# Connect the receiver to your recording device via 3.5mm jack cable.&lt;br /&gt;
# Turn on the transmitter and receiver. They should connect and pair automatically.&lt;br /&gt;
&lt;br /&gt;
For the best results, make sure the lavalier microphone is not covered by any layers of clothing or hair that may rustle against it. &amp;lt;br/&amp;gt;&lt;br /&gt;
Attach a wind screen when recording outside in windy conditions.&lt;br /&gt;
&lt;br /&gt;
When not using the kit, please remove the batteries from the transmitter and receiver.&lt;br /&gt;
&lt;br /&gt;
==Comparison==&lt;br /&gt;
Compared to ultra-compact wireless microphone sets like the [[Hollyland Lark M2]], the RØDELink system offers the following pros &amp;amp; cons:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pros&#039;&#039;&#039;&lt;br /&gt;
:✅ Swappable batteries, or limitless power via USB. Lets you record long days without having to (remember to) charge internal batteries.&lt;br /&gt;
:✅ Smaller mic. The mic itself is smaller because it does not have a built-in transmitter, so it&#039;s easier to hide/less obtrusive.&lt;br /&gt;
:✅ Replaceable mic. The lavalier mic can potentially be swapped out for other microphone styles, or with other polar patterns.&lt;br /&gt;
:✅ Large, readable controls. Big buttons and clear OLED displays make the set fool-proof and easy to use. &lt;br /&gt;
:✅ &amp;quot;Unlosable&amp;quot;? The mic connection, sturdy clips, and bulky transmitter make the set harder to accidentally drop, lose, or forget.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cons&#039;&#039;&#039;&lt;br /&gt;
:❌ Swappable batteries. You need to remember to always pack spare batteries, just in case.&lt;br /&gt;
:❌ No digital output. The USB port is for power input only.&lt;br /&gt;
:❌ Single channel. Each microphone requires its own transmitter and receiver. Most ultra-compacts offer 2 mics/channels per receiver.&lt;br /&gt;
:❌ Wired mic. The mic still connects to the transmitter via wire, which could snag, or has to run underneath your speaker&#039;s clothes (=more intrusive)&lt;br /&gt;
:❌ No noise-cancelling. Most ultra-compacts offer built-in ANC which helps when recording in noisy environments.&lt;br /&gt;
:❌ Bulky. The entire set is bulky and less portable. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The TSG will always consider these tradeoffs when advising a wireless microphone for you to use 🙂&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Microphones]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
[https://rode.com/en-us/products/rodelink-filmmaker-kit Official website]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
&amp;lt;references /&amp;gt; &amp;lt;!-- Automatically generates list of references using the &amp;lt;ref&amp;gt;&amp;lt;/ref&amp;gt; tags. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
	<entry>
		<id>https://tsgdoc.socsci.ru.nl/index.php?title=Rode_RODELink_Filmmaker_Kit&amp;diff=6737</id>
		<title>Rode RODELink Filmmaker Kit</title>
		<link rel="alternate" type="text/html" href="https://tsgdoc.socsci.ru.nl/index.php?title=Rode_RODELink_Filmmaker_Kit&amp;diff=6737"/>
		<updated>2026-08-11T12:47:59Z</updated>

		<summary type="html">&lt;p&gt;E.vandenberge: Created page with &amp;quot;{{Infobox tsg | name           = RØDE RØDELink Filmmaker Kit | image          = Rodelink.jpg | caption        = RØDELink Transmitter, Receiver, Lavalier mic and accessories...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox tsg&lt;br /&gt;
| name           = RØDE RØDELink Filmmaker Kit&lt;br /&gt;
| image          = Rodelink.jpg&lt;br /&gt;
| caption        = RØDELink Transmitter, Receiver, Lavalier mic and accessories.&lt;br /&gt;
| manuals        = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The RØDE RØDELink Filmmaker Kit is a wireless lavalier microphone system. It has a bodypack-style transmitter with exchangeable lavalier mic (via 3.5mm jack connector). &amp;lt;br/&amp;gt;&lt;br /&gt;
The RØDELink kit has been made somewhat obsolescent by more modern, ultra-compact wireless microphone sets like the [[Hollyland Lark M2]], however it still offers some distinct benefits (see [[#Comparison]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table of Contents will be generated here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contents==&lt;br /&gt;
The RØDE RØDELink Filmmaker Kit contains:&lt;br /&gt;
* 1 Wireless transmitter (TX-BELT)&lt;br /&gt;
* 1 Wireless receiver (RX-CAM)&lt;br /&gt;
* 1 RØDELink Lav microphone&lt;br /&gt;
* Foam wind screen&lt;br /&gt;
* Microphone pouch&lt;br /&gt;
* 3.5mm jack M-M cable&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| RØDELink Filmmaker Kit&lt;br /&gt;
|-&lt;br /&gt;
! Microphone&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Type || Lavalier (small condenser)&lt;br /&gt;
|-&lt;br /&gt;
| Polar Pattern || Omnidirectional&lt;br /&gt;
|-&lt;br /&gt;
| Frequency Response (Hz) || 20 - 20,000 &lt;br /&gt;
|- &lt;br /&gt;
| Accessories || Foam windshield&lt;br /&gt;
|-&lt;br /&gt;
| Max. SPL (dB) || 110&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm TRS Jack&lt;br /&gt;
|-&lt;br /&gt;
! Transmitter&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Power requirement || 2* AA battery, or MicroUSB&lt;br /&gt;
|-&lt;br /&gt;
| Features || Wireless (2.4GHz)&lt;br /&gt;
|-&lt;br /&gt;
| Mount || Belt-clip/cold-shoe&lt;br /&gt;
|-&lt;br /&gt;
| Range (m) || 100 (LOS)&lt;br /&gt;
|-&lt;br /&gt;
| Battery Capacity (mAh) || -&lt;br /&gt;
|-&lt;br /&gt;
| Weight (g) || 190&lt;br /&gt;
|-&lt;br /&gt;
! Receiver&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
| Connector || 3.5mm jack&lt;br /&gt;
|-&lt;br /&gt;
| Power requirement || 2* AA battery, or MicroUSB&lt;br /&gt;
|-&lt;br /&gt;
| Features || Wireless (2.4GHz)&lt;br /&gt;
|-&lt;br /&gt;
| Mount || Clip/cold shoe&lt;br /&gt;
|-&lt;br /&gt;
| Battery Capacity (mAh) || -&lt;br /&gt;
|-&lt;br /&gt;
| Weight (g) || 190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references group=&amp;quot;fn&amp;quot; /&amp;gt; &amp;lt;!-- Automatically list notes/references in the table above --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
The RØDELink kit has no internal storage, so you will always have to connect it to a separate recording device, like a regular microphone. The transmitter was made to connect to a camera, but can also be connected to XLR recorder or [[Audio Interface]], or even to a PC, phone or laptop, using adapters that we have available.&lt;br /&gt;
&lt;br /&gt;
# Insert batteries into the transmitter and receiver units (press button and slide back cover down), or connect them to a USB power source via microUSB.&amp;lt;ref&amp;gt;When powering the transmitter and/or receiver via USB, we recommend using clean and isolated power sources like a powerbank, NOT a regular wall-charger. The latter can introduce noise.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Plug the lavalier microphone into the receiver.&lt;br /&gt;
# Connect the receiver to your recording device via 3.5mm jack cable.&lt;br /&gt;
# Turn on the transmitter and receiver. They should connect and pair automatically.&lt;br /&gt;
&lt;br /&gt;
For the best results, make sure the lavalier microphone is not covered by any layers of clothing or hair that may rustle against it. &amp;lt;br/&amp;gt;&lt;br /&gt;
Attach a wind screen when recording outside in windy conditions.&lt;br /&gt;
&lt;br /&gt;
When not using the kit, please remove the batteries from the transmitter and receiver.&lt;br /&gt;
&lt;br /&gt;
==Comparison==&lt;br /&gt;
Compared to ultra-compact wireless microphone sets like the [[Hollyland Lark M2]], the RØDELink system offers the following pros &amp;amp; cons:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pros&#039;&#039;&#039;&lt;br /&gt;
:✅ Swappable batteries, or limitless power via USB. Lets you record long days without having to (remember to) charge internal batteries.&lt;br /&gt;
:✅ Smaller mic. The mic itself is smaller because it does not have a built-in transmitter, so it&#039;s easier to hide/less obtrusive.&lt;br /&gt;
:✅ Replaceable mic. The lavalier mic can potentially be swapped out for other microphone styles, or with other polar patterns.&lt;br /&gt;
:✅ Large, readable controls. Big buttons and clear OLED displays make the set fool-proof and easy to use. &lt;br /&gt;
:✅ &amp;quot;Unlosable&amp;quot;? The mic connection, sturdy clips, and bulky transmitter make the set harder to accidentally drop, lose, or forget.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cons&#039;&#039;&#039;&lt;br /&gt;
:❌ Swappable batteries. You need to remember to always pack spare batteries, just in case.&lt;br /&gt;
:❌ No digital output. The USB port is for power input only.&lt;br /&gt;
:❌ Single channel. Each microphone requires its own transmitter and receiver. Most ultra-compacts offer 2 mics/channels per receiver.&lt;br /&gt;
:❌ Wired mic. The mic still connects to the transmitter via wire, which could snag, or has to run underneath your speaker&#039;s clothes (=more intrusive)&lt;br /&gt;
:❌ No noise-cancelling. Most ultra-compacts offer built-in ANC which helps when recording in noisy environments.&lt;br /&gt;
:❌ Bulky. The entire set is bulky and less portable. &lt;br /&gt;
&lt;br /&gt;
The TSG will always consider these tradeoffs when advising a wireless microphone for you to use 🙂&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Microphones]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
[https://rode.com/en-us/products/rodelink-filmmaker-kit Official website]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
&amp;lt;references /&amp;gt; &amp;lt;!-- Automatically generates list of references using the &amp;lt;ref&amp;gt;&amp;lt;/ref&amp;gt; tags. --&amp;gt;&lt;/div&gt;</summary>
		<author><name>E.vandenberge</name></author>
	</entry>
</feed>