Guitar Hero 3 Boarduino-bot

ghbot2.jpg ghbotboarduinos1.jpg

Fabien Royer has a strange project up his sleeve…

“What’s got 6 eyes, 6 fingers, 6 brains and plays Guitar Hero III? If you answered ‘The Beast’, you’re close. It’s actually the Guitar Hero ‘bot’ that I’ve been building around 6 Arduino cores (Boarduinos actually). It uses 6 photodiodes mounted on a LEGO rig to ‘see’ the notes on the screen and drives a wireless XBOX 360 controller through a series of 6 Reed relays in real time. So how does it perform? Right now, with some quick and dirty code to decode and play the notes, it’s tuned to play Medium-difficulty songs with a hit ratio between 80% and 90%. The bot also controls ‘Star Power’ by itself when it’s charged enough. I have high hopes that with some more work, it will be able to handle Expert-level songs with good results. I’ll post a demo video of the bot playing GH 3 later this week. ”

Read about it at his website


Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 38,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — New Products 11/15/2024 Featuring Adafruit bq25185 USB / DC / Solar Charger with 3.3V Buck Board! (Video)

Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A New Arduino MicroPython Package Manager, How-Tos and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

Adafruit IoT Monthly — The 2024 Recap Issue!

Maker Business – Adafruit Daily — Apple to build another chip at TSMC Arizona

Electronics – Adafruit Daily — SMT Tip – Stop moving around!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !


5 Comments

  1. Cool idea using the photodiodes.
    I can see using the reed relays if you’re using a 360 pad that doesn’t use common ground, but its pretty trivial now to find a 360 pad that does use a common ground (GameStop branded MadCatz ‘mini’ pads, the MadCatz arcade stick, and others) so that using the relays aren’t neccessary. If you can’t find a common ground pad, using analog switch ICs like the 4066’s (I use 74HCT4066N’s for this purpose all of the time) or the MAX4611 would have the same effect with less delay and less power consumption.
    Since we’re talking 6 probably analog inputs, 6 digital outputs (assuming the strum bar is digital), you should totally be able to do this with a single (bo)Arduino. Just my opinion; feel free to flame if there’s something I’m not taking into account.

  2. Hey Toodles,

    No flaming necessary 😉

    Thanks for the tip about the 74HCT4066N. I’ll check it out.

    The Reed relays, even if they’re less efficient and slower than the analog switch ICs, are still way faster than any human player could ever hope to be and that’s all I really needed for this project 🙂 It was a straight forward way of driving the wireless controller, without having to worry about voltages / current levels. I had a version of this project using a single Arduino initially and it didn’t perform as well as I thought it would, which is why I went with dedicated CPUs for each note instead. I’m still experimenting with this and there’s much tuning to be done. I think that once I have worked out a better way to process notes at a very high rate, I’ll investigate using a single microcontroller to do it all.

  3. Sweet! Any chance of directions being released so other people can do this?

  4. I wish I knew how to make one of these things.

  5. Justin Grudzien

    I am interested in learning to use photodiodes to do this as I think this is a very elegant solution but I am uncertain where to begin. Currently I have been working on a bot to play from the computer but I think playing real time is very cool. If you are interested in helping to school a newbie please let me know!

Sorry, the comment form is closed at this time.