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

Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here:

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in!

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

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

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community!

CircuitPython – The easiest way to program microcontrollers –

Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

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

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

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


  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.