Find all your DIY electronics in the MakerShed. 3D Printing, Kits, Arduino, Raspberry Pi, Books & more!

ipod|mp4|mov|hd-appletv|3gp|3g2|pdf|itunes

This weekend, learn how to hack your brain by making Mitch Altman’s Brain Machine! It flashes LEDs into your eyes and beeps sounds into your ears to make your brain waves sync up into beta, alpha, theta, and delta brainwaves!

Mitch invents cool things that make the world a better place. He’s well known for the TV-B-GONE and this brain machine is his latest project. One of the cool things about this project, is that it builds on an open source project. Mitch used Lady Ada‘s open source MiniPOV and switched out LEDs and added new capacitors and resistors and then rewrote the firmware to make it into the brain machine. It’s super cool when people make hardware open source so that others can work with it!

513591733 E18C33A406

Make sure to take pictures of your build and of you in your brain machine and upload them to the Make: flickr pool.

Weekend Projects is sponsored by microchip.com. Check out their seminars and 16 bit contest.

Get the podcast and pdf downloaded automatically in itunes. – Link


Related

Comments

  1. jbond says:

    Weird Deja Vu here. I built a very similar brain machine from a circuit published in the print version of bOing bOing. It’s like being in the early 90s all over again.

    Next stop, “Smart Drugs”. Know where I can score some Modafinil?

  2. PorkChop says:

    Is it just me, or are Mitch’s fingernails incredibly long?

    Nice project, might have to give this one a shot.

  3. jonnygoldstein says:

    Bre,you are getting awesome at editing (along w/the rest of your awesome qualities. Great stuff.

  4. kaden says:

    Gotta question the use of the word ‘invent’ here…it’s not like light and sound based ‘mind machines’ haven’t been commercially available since the early ’70′s or anything. W. Gray Walter’s initial research into photic stimulation appeared in his 1953 book ‘The Living Brain’ and was Gysin/Sommervilles’ inspiration for their much revered Dreammachines (which were essentially mechanically realised strobe lighting).

    W. Gray was a smart fella: as a sidebar exercise to his neurophysiology research he bodged together roller skate sized autonomous robots with vacuum tube based AI circuits.

    That is inventing.

  5. Bre says:

    Hey Kaden,

    Thanks for turning me on to W. Gray Walter! In his time, that dude was on the cutting edge of brain work and robitics.

    Your comment made me think about the difference between invention and innovation.

    The definition of invent is to produce or contrive something previously unknown by the use of ingenuity or imagination.

    To innovate is to create a new device or proces resulting from study and experimentation.

    You’re right, inventing something is creating something that hasn’t been thought up by anyone.

    So of course Mitch didn’t invent the Sound and Light Machine.

    But, he did innovate it and create a new way of making it so that anyone can make one. So in a way, it’s been new in that it’s a concept that’s been refreshed.

    W. Gray Walter would have gone nuts with microcontrollers if he’d had them back in the day.

    You’re comment sent me off to wikipedia to go look at William Grey Walter’s Wikipedia entry.

    http://en.wikipedia.org/wiki/William_Grey_Walter

    It’s really interesting to me that he combined things that he was learning about the process of the brain with the latest (at the time) technology to make simple AI robots.

    It’s also interesting to me that he used Berger’s EEG machines to find new ways of mapping the brain. He found a new application for emerging technology.

    I dug around and found these pics: http://www.cerebromente.org.br/n09/historia/documentos_i.htm of his bots.

    Thanks for bringing up this issue of invention. I’m off to go check out the book you mentioned now!

  6. rrobey says:

    Having a great deal of trouble getting the microcontroller programmed using the instruction in the article. Is there additional information elsewhere to help clarify? The problem seems to be centered with “reading” or burning the fuses…

    Here is what I am seeing:

    c:\SLM>avrdude -p attiny2313 -P com5 -c dasa -F -e -U flash:w:slm.hex

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.07s

    avrdude: Device signature = 0×000001
    avrdude: current erase-rewrite cycle count is 1048477247 (if being tracked)
    avrdude: erasing chip
    avrdude: AVR device not responding
    avrdude: reading input file “slm.hex”
    avrdude: input file slm.hex auto detected as Intel Hex
    avrdude: writing flash (1050 bytes):

    Writing | ################################################## | 100% 23.35s

    avrdude: 1050 bytes of flash written
    avrdude: verifying flash memory against slm.hex:
    avrdude: load data flash data from input file slm.hex:
    avrdude: input file slm.hex auto detected as Intel Hex
    avrdude: input file slm.hex contains 1050 bytes
    avrdude: reading on-chip flash data:

    Reading | ################################################## | 100% 22.47s

    avrdude: verifying …
    avrdude: verification error, first mismatch at byte 0×0000
    0×80 != 0×00
    avrdude: verification error; content mismatch

    avrdude: safemode: Verify error – unable to read lfuse properly. Programmer may not be reliable.
    avrdude: safemode: Verify error – unable to read lfuse properly. Programmer may not be reliable.
    avrdude: safemode: Sorry, reading back fuses was unreliable. I have given up and exited programming mode

    avrdude done. Thank you.

  7. paulsw says:

    Those AI robots are quite similar to BEAM robots, really. I would be fun to re-create the circuits with modern components. Or with tubes, for that matter.

    I have built LED glasses in the past based on a design I found on the web that uses a PC parallel port to drive the LEDs. Makes for a really cheap ($0 – $5) way of trying this stuff out – chop the end off a junk printer cable, solder on some LEDs you recovered from an dead VCR, stick them to a cheap pair of safety goggles or sunglasses – done!. My favourite pair I made is one that uses super-bright individual Red, Green and Blue LEDS. You can get free and open source software to drive them at the same site.

    http://www.hackcanada.com/homegrown/wetware/brainwave/

  8. maltman23 says:

    Hi rrobey,

    Let’s see if we can get you going.

    Here is a copy of the avrdude command line from your post:
    avrdude -p attiny2313 -P com5 -c dasa -F -e -U flash:w:slm.hex

    It looks like you were having trouble making things work, so you added the “-F” argument to the command line. Is that right? This “-F” argument tells avrdude to ignore the signature check of the AVR chip. The signature of the ATtiny2313 is 0x1e910a, but when you tried it, avrdude read 0×000001 from the serial port. My guess is that avrdude is not seeing your hardware on the serial port.

    Usually the serial port is COM1, but your command line to avrdude says “com5″ — are you sure that is the correct port?

    If you type in the command line specified in the MAKE article:
    make program-slm
    then it will tell avrdude to use com1 (and will not use the “-F” argument). If you tell avrdude (as you did) to ignore the signature check (with a “-F” argument), then it will go ahead and try to program a chip that it assumes is on the COM port specified after the “-P” argument, which in your case is “com5″. Of course, if there is no hardware on com5 then it can’t successfully program the chip there.

    If you are using a USB/serial converter, are you using one that was recommended by Limor Fried on her ladyada.net website? Evidently, not all USB/serial converters work well with avrdude. Also, you’ll need to make sure the driver for the USB/serial converter is installed correctly. More info on the USB/serial converter is given here:
    http://ladyada.net/make/minipov3/software.html

    If you specify the correct serial port (and, your USB/serial converter is working correctly, if you’re using one), then it is likely that the serial port hardware on your MiniPOV board has some problem. There is not a lot that can go wrong here:
    - Are the diodes in the correct way (black bar on the diode corresponding to the white line on the board?).
    - Are all solder connections good (all nice and smooth looking)?
    - Are there any solder bridges (pieces of solder shorting pads out on the board)?

    In case the fuses for the ATtiny2313 are not burned correctly, you can try typing in the following command line to burn the fuses:
    make burn-fuse
    while the MiniPOV is powered and connected to the serial port.

    (Also, did you change the firmware? The original firmware has 1104 bytes, but yours shows 1050 bytes. It is, of course, totally cool to change the firmware, but if you did not change the firmware, then something else weird is going on.)

    I have only tried programming the MiniPOV on a PC running Windows, myself. But everything is supposed to work very similarly using Mac OS or Linux.

    I hope this helps.

  9. kaden says:

    Heya, Bre…

    The Living Brain is *definitely* worth pointing yer eyeholes at, for both hard data and (most importantly) Gray Walters’ brilliantly lateral approach to integrating speculation and research to achieve innovation.

    Think while reading… it’s the Maker way.

  10. rrobey says:

    Thanks Maltman! The “make burn-fuse” instantly solved the problems. I am using a TrendNet TU-S9 USB to Serial cable and it is correctly set for Com 5. As soon as I issued the make burn-fuse and then make program-slm…problem solved. Weird, huh? Thanks for the help and the wonderfully entertaining project!!

  11. maltman23 says:

    Hi rrobey,

    I’m glad you got your Brain Machine going. :)

    The MiniPOV kits are supposed to come with the ATtiny2313 with the fuses already burned, but I guess yours slipped through without.

    Have fun playing with your brain!

    Cheers,
    Mitch.

  12. maltman23 says:

    Hi kaden,

    Although I make my living as inventor, I can not even begin to compare myself to Gray Walter or Brion Gysin. I credited these amazing folks in my article in MAKE. In my original version of the article I actually went on at length on these two individuals, but, unfortunately, had to edit out most of the history of Sound & Light Machines due to space limitations.

    Thanks much for the Walter’s book recommendation.

    Mitch.

  13. kaden says:

    Walter’s postulation that the biblical ‘Tree of Knowledge’ alluded to heightened alphas and a lucid dreaming state induced by the flicker of sunlight through palm leaves left me completely gobsmacked.

    I have Gysin devices all over Eccentric Manor (given a choice, I’ll opt for mechanisms over circuitry, but that’s just me); used in conjunction with the Ultradia entrainment frequency generator (I use the VSTi plug-in, but there’s also a standalone app) there’s a whole lotta mindwarpin’ potential to be had.

    I’m seriously looking at making a pair of servo driven ultra subwoofers to *really* delve into psychoacoustics, but the building I live in likely wouldn’t survive the sonics…

  14. TheThompsonFive says:

    Great project. I happen to have an unbuilt MiniPOV kit hanging around, so I went to Mouser to get some odds and ends for it (and a bunch of other stuff from Make # 10) tonight. I just wanted to mention two things:

    1.) Thanks for using Mouser part numbers, this makes life so much easier, and seeing the words “Radio Shack Part #” in a recently written article just makes me depressed.

    2.) If you want to knock $50 off your Mouser order skip the wire wrap wire, and strip some pieces from a salvaged ribbon cable, it’s just as good for this application.

  15. pierst says:

    I’m having a problem with my brain machine. The LED’s and the headphones won’t work at the same time, as soon as I plug in the headphones- the LED’s cut out. Does anyone know why this is?

  16. jaybomb says:

    hi there,

    I’ve been having a few difficulties with getting everything to work. I can only get two of the lights to turn on, and then when I upload the slm firmware nothing turns on. This is my first microchip project and so I made a number of mistakes that I had to try and fix and a number of poor solders. I have taken some pictures if anyone can quickly see what might be the problem.

    http://www.introspections.org/pov/PICT0521.JPG

    All of them can be found here:

    http://www.introspections.org/pov/

    Thanks for the help,

    Jordan

  17. phil.savard says:

    Hi !
    I just finished building my SLM but I’m not sure if it’s working properly.. the thing is that I just seen the video podcast and I saw, at the end of the movie, that when Bre put the machine on the camera the LEDs are blinking very slowly.. when I turn mine on the LEDs flickers really fast.. I see change in their blinking speed over time but they never slow down that much and I must say that this thing doesn’t really get me relax ;).. sounds seems to work fine tough’… anybody else got that ?
    thanks

  18. yambu says:

    Help! I made it through step 1d in the article just fine — the LEDs on the board were flashing very fast, running the built-in program. I followed the programming instructions of step 1e — using the modified minipov.c as source (with the “VVVVV” pattern), got all the right messages saying that the chip was successfully programmed, but then after unplugging the device and powering back up, no lights flash at all. I also tried reprogramming using the minipov.c file that comes with the source code, to no avail. Any ideas on what might be going wrong? All the solder connections look good, the batteries are new, and it was working fine before I programmed it…

    Thanks!

  19. yambu says:

    Please ignore my last comment (I’ll remove if I can once it appears) — it turned out to be a case of using the wrong filenames! (The one being programmed contained all 0′s so the lights were off).

    But I’m still having trouble programming the sample “VVVVV” image of step 1e on the chip. When I compile, it does make a hex file, but I get this error message:

    c:/program files/winavr-20070525/bin/../avr/include/avr/signal.h:36:2: warning:
    #warning “This header file is obsolete. Use .”

    Then, when I try to program the chip with the resulting hex file, I get (note, mypov2.c is simply mypov.c modified as directed in step 1e, and mypov2.hex is the resulting hex file):

    C:\Program Files\slm>make program-mypov2
    avrdude -p attiny2313 -i 10 -P com1 -c dasa -U flash:w:

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.00s

    avrdude: Device signature = 0x1e910a
    avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed

    To disable this feature, specify the -D option.
    avrdude: erasing chip
    avrdude: reading input file “”
    avrdude: error opening : No such file or directory
    avrdude: input file auto detected as invalid format
    avrdude: can’t open input file : No such file or directory
    avrdude: write to file ” failed

    avrdude: safemode: Fuses OK

    avrdude done. Thank you.

    make: *** [program-mypov2] Error 1
    =======================================

    So, since I can successfully program the chip with other sample hex files that came with the firmware, I’m assuming that the problem was in compiling.

    Any guesses on how to fix this?

    Thanks!

  20. yambu says:

    Problem solved!

    Sorry for all that blather. It turns out that the upload command didn’t like my filename “mypov2″ (mypov2.hex) or anything similar. When I change the name of the file to “mypov.hex” everything works fine.

    E.g.,
    >make program-mypov

    works fine, but

    >make program-mypov4

    does not, even if the hex the two files contain is identical. Anyone know what is going on here? In any case, I can now move forward as long as I use a filename I know the uploader won’t barf on…

  21. yambu says:

    Sorry to have my learning curve out in the open here. It turns out the makefile has to be modified if you use different filenames. BTW, there is a HUGE amount of documentation/blog on the brain machine at:

    http://makezine.com/10/brainwave/

    This will probably contain answers to most questions.

    [EDITOR: Feel free to delete my earlier posts!]

  22. Anonymous says:

    Hi my Email Lindy9284@yahoo.com. My question is i have a AC MOTOR and push button in a 208v application. When i release the pushbutton switch i’am expercieing high arking across the pushbutton. Can i put a resister and capaciter across pushbutton to minimze the arking. what size resister & capacitor will i need.

  23. Andrew says:

    Would it not be possible to create something similar to this using an mp3 player? Use one of the stereo channels to drive both headphone sides and the other to drive and LEDs. You would likely need an amp for the LEDs because I doubt a headphone jack puts out enough volts. Then someone could jsut write an mp3 file that is the meditation sequence. Does this make sense to anyone? It just struck me as a way to simplify the project (no microcontroller or programming requirred) and everyone on this site has something capable of playing mp3s…

  24. biojae says:

    How easy would it be to port this to arduino? I do not have a minipov3 and i dont foresee me getting one. I would appreciate any help with this. Thank you.

  25. Jimmy says:

    Are the capacitors directional? Want to be sure before sticking them down…

  26. agate_white says:

    For my podcast, Half Man Half Toaster Pastry (search it on iTunes, its funny) i went to gCast.com and made it, then went to iTunes, then podcasts, and there was an icon that said add a podcast.http://www.zuneconverter.net Thanks Maltman! The “make burn-fuse” instantly solved the problems.

  27. agate_white says:

    For my podcast, Half Man Half Toaster Pastry (search it on iTunes, its funny) i went to gCast.com and made it, then went to iTunes, then podcasts, and there was an icon that said add a podcast.http://www.zuneconverter.net Thanks Maltman! The “make burn-fuse” instantly solved the problems.

  28. Mario Esposito says:

    I’m a newbie – I would like to use this kit to just read my own brain waves, import the data in a text file and then do some research on it.

    Can I do that with this kit? I really want to give this a try but I need some guidance if what I want to achieve is possible with minimal changes. (arduino’s like)

  29. Jersey Jerk says:

    SHOW US YOUR TIPS!

  30. Jason Evanko says:

    Hey
    I was making this project and it doesn’t make it too clear as to were i solder on the headphone jack. where do i do this

  31. Anonymous says:

    So… shouldn’t there be a disclosure that this could cause a seizure , in some persons?

  32. Anonymous says:

     Really useful idea! We have just made it and worked well!! This one is really cool…thanks!
    The only doubt was about the programming section…The brain machine worked as said, But we are much interested about making something that will alter different mental states….
    Also the response was different, some persons couldn’t figure out the change as well…
    http://www.eexploria.com/

  33. Hello to every one, the contents existing at this web site
    are genuinely remarkable for people knowledge, well, keep up
    the nice work fellows.

  34. Tom 32 says:

    Nice idea, but do we realy need the binaural beats for work proper (I want to use my own Msuic with some Brain visuals (i hate binaural beats)?

    I will build my own one soon with twice of this http://www.luedeke-elektronic.de/products/Elektronik-Bausaetze/Lichteffekte/LED-Stroboskop-mit-2-weissen-LEDs-9V-MK147.html.
    But this is a hand controlled mindmachine but i want control the strobes over Audio output. I want to use a one to 2 (minijack) adapter. One output for my favorit music and one for unhearable binaural Beats for the eyes. how i can do this ? Sory for Bad English i´am a native german speaker. Thanks

In the Maker Shed