# Brain Vision Remote Control Server

**URL:** <https://discourse.psychopy.org/t/brain-vision-remote-control-server/45818>\
**Category:** Coding\
**Tags:** eeg\
**Created:** [October 18, 2025, 5:18am UTC](https://discourse.psychopy.org/t/brain-vision-remote-control-server/45818 "2025-10-18T05:18:26Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![tombullock](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/tombullock/32/45724_2.png) [@tombullock](https://discourse.psychopy.org/u/tombullock)\
**Post date:** [October 18, 2025, 5:18am UTC](https://discourse.psychopy.org/t/brain-vision-remote-control-server/45818/1 "2025-10-18T05:18:26Z")

</div>

Dear forum,

I’m developing a setup for ambulatory outdoors EEG studies that runs both stimulus presentation software (PsychoPy v2025.1.1) and EEG recording software (Brain Vision Recorder) on the same machine (a Windows Surface Tablet, running Win 11). I realize this is typically not recommended (I would normally use separate machines for stimulus presentation and recording) but I’m trying to use minimal hardware for this ambulatory setup, and in pilot testing the setup seems to perform well.

I’d like to use PsychoPy to remotely control BV Recorder, so that I can automatically start and stop EEG recordings using PsychoPy code. In theory, this should just be a case of installing the psychopy-brainproducts plugin in PsychoPy and running the following example code, provided by brain products [here](https://pressrelease.brainproducts.com/rcs-supported-in-psychopy/). I run this code to try and establish a connection with the BV Remote Control Server:

```auto
import time
from psychopy.hardware import brainproducts

# Host, (Port), Timeout, (Testmode)
rcs = brainproducts.RemoteControlServer(host='127.0.0.1',timeout=20)

```

However, I get this error:

 ![PsychoPy_BV_RCS_Error](https://us1.discourse-cdn.com/flex002/uploads/psychopy/original/3X/6/0/6061b7686f26848283a9c2fcab17d74e2b069bc7.jpeg)

I suspect that it might have something to do with the host port, which I have set to 127.0.0.1 in both the script and the Remote Control Server. But the error message suggests I need to install the psychopy-brainproducts plugin, which doesn’t make sense as it’s definitely installed and I’ve restarted the session multiple times.

If anyone has suggestions for how to get this working, I’d love to hear them!

Thanks in advance!

Tom

---

<div class="post-metadata">

**Author:** ![TParsons](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/tparsons/32/8301_2.png) [@TParsons](https://discourse.psychopy.org/u/TParsons)\
**Post date:** [October 20, 2025, 1:54pm UTC](https://discourse.psychopy.org/t/brain-vision-remote-control-server/45818/2 "2025-10-20T13:54:53Z")

</div>

I believe this documentation is from before it was a plugin - in order to use the plugin, you need to import `brainproducts` from `psychopy-brainproducts` rather than from `psychopy.hardware`.

---

<div class="post-metadata">

**Author:** ![tombullock](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/tombullock/32/45724_2.png) [@tombullock](https://discourse.psychopy.org/u/tombullock)\
**Post date:** [October 20, 2025, 4:54pm UTC](https://discourse.psychopy.org/t/brain-vision-remote-control-server/45818/3 "2025-10-20T16:54:28Z")

</div>

Thank you for responding. I tried importing psychopy-brainproducts a couple of different ways, but no luck.

 ![PsychoPy_BV_RCS_Error_New](https://us1.discourse-cdn.com/flex002/uploads/psychopy/original/3X/8/5/85a518eaa0f0e81cc4a29eaf94e4f85561e11216.png)

---

<div class="post-metadata">

**Author:** ![tombullock](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/tombullock/32/45724_2.png) [@tombullock](https://discourse.psychopy.org/u/tombullock)\
**Post date:** [October 28, 2025, 4:55pm UTC](https://discourse.psychopy.org/t/brain-vision-remote-control-server/45818/4 "2025-10-28T16:55:39Z")

</div>

Just following up on my previous post. I’ve attempted to import psychopy-brainproducts a few different ways, but this isn’t working. The plugin is definitely installed. Does this look like a mistake in my code, or is there an issue with the plugin? Thanks

---

<div class="post-metadata">

**Author:** ![stanley1O1](https://avatars.discourse-cdn.com/v4/letter/s/c5a1d2/32.png) [@stanley1O1](https://discourse.psychopy.org/u/stanley1O1)\
**Post date:** [October 28, 2025, 5:11pm UTC](https://discourse.psychopy.org/t/brain-vision-remote-control-server/45818/5 "2025-10-28T17:11:31Z")

</div>

Dear Tom,

I would check to see if the brainproducts library is installed correctly by creating a very short python file in an IDE (like VSC).

Once you can confirm it is installed correctly. I would try manually setting the path for where it is located:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/psychopy/original/3X/e/7/e703e68154469ba3d88d45f2ada2ba3eddabf3cb.png)\

With the correct path dictated you should just need

```auto
import brainproducts
#or
from brainproducts import something, functions

```

Issac

---

<div class="post-metadata">

**Author:** ![TParsons](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/tparsons/32/8301_2.png) [@TParsons](https://discourse.psychopy.org/u/TParsons)\
**Post date:** [November 5, 2025, 1:51pm UTC](https://discourse.psychopy.org/t/brain-vision-remote-control-server/45818/6 "2025-11-05T13:51:05Z")

</div>

Sorry, was a typo on my part; the name of the package is `psychopy-brainproducts`, but you need to import it as `psychopy_brainproducts` (an annoying quirk of Python package naming conventions)

---

<div class="post-metadata">

**Author:** ![tombullock](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/tombullock/32/45724_2.png) [@tombullock](https://discourse.psychopy.org/u/tombullock)\
**Post date:** [November 6, 2025, 2:11am UTC](https://discourse.psychopy.org/t/brain-vision-remote-control-server/45818/7 "2025-11-06T02:11:15Z")

</div>

Thank you - that fixed it and now the RCS is working 🙂

For anyone else who runs into this issue, the solution is to replace this line at the top of the script:

```python
from psychopy.hardware import brainproducts

```

with:

```python
from psychopy_brainproducts import brainproducts

```
