Link Link Link

Mindfuck Build Guide

Introduction

The mindfuck is a device that connects the brainwave detection capabilities of the Neurosky TGAT1 chip in the Mindflex headset to a sex toy. On this page I will explain how I built mine and how you could build yours. The choices I made while building it were based on my own technical expertises and the tools I already owned. I will include some information on build decisions I considered but did not take, in case you have different specializations than myself.

I should note that this guide is not written with the reader's libido in mind. This article is for those who seek to build this and for those who have an intellectual curiosity about this build.

Summary of How I Built my Device:

I got a Mind Flex from ebay.

I opened up the headset, connected a wire to the pin labeled T on the brainwave reading chip, made a hole in the headset for the wire to come through, and attached another wire to the ground on the forehead strap.

I plugged the T wire into the raspberry pi's UART RX pin. I plugged the ground wire into one of the raspberry pi's ground pins. I configured the raspberry pi using raspi-config so that it can take serial input.

I wrote code that deciphers the chip's output into data values. I wrote code that uses buttplug.io to interface with my Hush 2. I wrote code that uses the values from the chip's output to change the strength of the vibrator.

Choosing a Brainwave Reader

There are a few options for getting your hands on an EEG device.

The option that I chose is to buy a mindflex toy, so the rest of the instructions will be based on building the device using the mindflex toy. However, the rest of the information should still be somewhat useful for your own build.

Connecting to the headset

The Mindflex toy leaks information in 3 places. I chose to read the data off of the chip, because a lot of online tutorials take this approach, and because I wanted the most data possible from the device. Since I don't know how the packets are sent over the air, I don't know how what data is sent and what data is left out.

The chip is located on the left box of the headset, and it can easily be opened with a small screwdriver.

The data is most easily read from the T pin on the chip, which is the pin that's next to the letter T. You can connect a wire to it by soldering it, or gluing it into position, or any other method of fastening, as long as a metal part of the wire is electrically connected to the pin. I have never learned to solder, so I filed down a hole into the side of the box and glued an EZ hook test lead into position. Until I was sure about my positioning, I was just manually holding the metal end of the wire to the pin in order to make readings.

The TGAT1 chip uses the UART protocol, which requires a common ground with the chip to receive the data. There are many places on the circuitboard to connect a ground wire including the top of the capacitors, the battery ground near the switch, and the metal disk that goes on the wearer's forehead. The third one is the one I ended up using. I just taped the ground wire into position but if you can solder that's a much more secure solution.

You can test if you're making any readings at all by using a multimeter between T and ground. You should see something like 3 volts.

Getting the data to a computer

Important Note: If you're plugging things into the headset, make sure they aren't connected to the power grid because a power surge could zap the wearer's brain. Instead, use battery power. The option that I chose is to use a Raspberry Pi I already had lying around, because I wouldn't have to buy an extra thing.

There's a lot of different tutorials online for how to use a Raspberry Pi so I won't walk you through the basic setup. I'm gonna assume you've put Raspbian OS on an SD card and you've got a way to type into the computer, either with a keyboard plugged in or a remote connection. Remote connection is probably more convenient.

First you should enter raspi-config into a terminal and navigate to Interface Options, then Serial Port. Select No when it asks you if you want a login shell, and Yes when it asks if you want the serial port activated.

Then plug your wires into the pins according to this chart. Connect T to UART RX, and connect ground to one of the many ground pins.

I used python for my code but I'll describe the concepts generally enough so that you can implement it in whatever language you're most comfortable with. Rust would be a good choice as the buttplug.io server is written in Rust.

First you want to see if you can read any data at all. I used pySerial Intiface engine