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.
- Buying a Mind Flex toy or Force Trainer toy
The advantage of buying a toy is that they can be found used on ebay for significantly less than EEG devices usually go for. Also, depending on your approach, you may want to buy exclusively the toy headset.
- Buying a Neurosky Mindwave Headset or TGAM chip or an equivalent device from another vendor
The advantage of buying a product from an EEG vendor is that you'll benefit the most directly from official development information.
- Building your own EEG circuit
The advantage of building your own circuit is that it can be very cheap depending on the electronic components you already have and your ability to source them affordably.
Connecting to the headset
The Mindflex toy leaks information in 3 places.- The TGAT1 Chip
Jumper wires can be used as probes to read the data the chip in the headset generates. This solution is less portable than the other two, because you need wires connected to the headset.
- The radio frequency 2.407GHz
There are no tutorials online on how to read the data the Mindflex headset broadcasts. This tutorial could get you pretty close, but there's no telling how hard this path could be.
- The Mindflex Base
The base of the mindflex toy receives the transmitted signal and uses it to light 0-5 LEDs, and could instead be used to turn on other things.
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.- Raspberry Pi
A Raspberry Pi is a tiny computer that has GPIO pins, including sets of pins specifically designated for UART.
- Arduino
Arduino is a series of easy to use microcontrollers, some of which have headers, which means they can be connected to UART.
- any UART to USB converter
There's many options for little circuit boards that will put the UART data into USB packets. I couldn't tell you which to get.
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