Introduction: Brain Wave Drawing Machine

This machine was originally built for a gallery show that I had last semester. It takes input from an EEG brainwave scanner and uses it to control the position of a marker in real time.

This machine is based on the polargraph by Euphy. The polargraph software is a great application for transfering different image files into rasterized machine drawings. This version of the machine uses the Arduino Brain library to a quire data from a Mindflex controller. The Arduino then moves each motor in a sinusoid pattern based on the input from the brain wave scanner.

I designed this machine as an artistic tool that acts as an extension of the self. Users that interact with the sculpture will experience abstracted representations of human-to-human and human-computer interaction plotted in real time.

Disclaimer 1: There is no way to consciously control your brain waves or the exact position of the pen. People still try though and it is hilarious.

Disclaimer 2: This is my first instructables. Please let me know if anything should be clarified or explained further.

For more cool projects please check out this new site I help write for: kidmakers.org

Required materials:

  • Arduino Uno (or board with similar pin layout)
  • Adafruit motor shield (could also just use stepper drivers but those are not supported by my code yet)
  • Pen or marker
  • Two motor mounts
  • A pen gantry
  • Fishing line
  • Two 3D printed pulleys
  • Wire
  • Soldering iron

Also, there are many designs that support this type of machine. Feel free to substitute components. For example, if you don't have a 3D printer, you can look for a laser cut version of part. Here is a good source of alternate parts.

Step 1: Build the Machine

Take a look at this instructable for assembly instructions. The machine is the same for the most part except for the software. These are the main differences between my assembly and the one from the other instructable:
  • The stepper motors are mounted using a 3D printable motor mount that screws into walls.
  • Instead of beaded cord, I used fishing line to connect the motors to the pen gantry. I think the fishing line is way cheaper and easier to find.
  • If you plan on using fishing line, I recommend printing these pulleys for your motors.
  • After loading the code, there is no need to keep your computer connected to the board as long as it is powered.

The code that I have works with the Adafruit motor shield V1. I have yet to test it on the V2 board so let me know if that works for you.

Step 2: Electronics

You will need:

  • Arduino Uno (or a board with similar pin layout)
  • Adafruit motor shield
  • AC to DC power supply (I used a 5V with 600 mA)
  • Plenty of wire
  • Soldering Iron
  • A project box (optional)
  • Surface to mount your machine (wall, plywood board, etc..)

You will need connect the EEG scanner to the Arduino as described by the video. Then, wire the steppers to the motor shield as described here. To power your board, connect your power supply to the 2-pin PWR_EXT
block on the shield and make sure to leave the power jumper attached to the shield. For more information on powering your machine you can go here.

Step 3: Code

Check out this Github page for the latest software release. All you need to do is open the code in the Arduino IDE and upload it to your board. Check out this guide if you have never uploaded code to an Arduino board.

Step 4: Using the Machine

If you look at the code, you should notice a variable named "displace", which causes the pen to oscillate around a point at the center of the drawing surface. The right and left strings should be fully extended when you start the machine. If both lengths of string are the same, then your pen should be at the bottom center of your page. When you turn the machine on, both motors will wind the strings so that the pen is at the center of the page. Since your machine might be different from mine, you can change the "displace" value in code so that the machine starts at the center of the page. Depending on the size of your machine, you should also look into tweaking the "amp" variable, which controls the size of the oscillations.

Now you can put on your headset on and start using THE POWER OF THE MIND!!!!

I will make a video to explain this step soon so stay tuned.