Home

Concentration Controlled Helicopter

The goal of the project was to be able to fly a regular toy helicopter using the UltraCortex and the Concentration Widget in the OpenBCI GUI.

Before deciding exactly how to approach the project, I decided to test out the Concentration Widget by connecting it to a breadboard, Arduino, and LED to get it to fade with increasing and decreasing concentration. This allowed me to get familiar with the data outputting format from the GUI and the general pipeline including Arduino.

From here, I had an important decision to make on how to approach the design of the rest of my project. After some brainstorming, I realized that I could approach the project one of two ways: either reverse engineer the IR LED mechanism of the remote controller or hack directly into the remote control itself and send the appropriate voltage to the right pins on the circuit board through some processing Arduino code. Both approaches would have their benefits and drawbacks, whether that be the amount of time it would take to determine the appropriate IR LED patterns to send a signal to the helicopter’s receiver or the potential difficulties that would come with trying to understand the industrial level circuit board that was powering the different mechanisms of the remote controller.

Ultimately, I decided to go with the approach of hacking directly into the remote controller. The first step was to take apart the controller and determine what each pin of the circuit board connected to. After this, I was able to determine that there was a potentiometer connected to the vertical joystick that was sending a different voltage depending on the position of the joystick. I thought that a good approach would be to remove this potentiometer and use the Arduino’s digital output pins to send voltages in similar ranges to mimic the work of the potentiometer. Some problems I ran into along the way included dealing with the Arduino’s PWM wave digital output, determining how to work in the highly sensitive microvolt range that the controller was in, and dealing with varying battery source levels.

From this project, I definitely was able to learn a lot about the importance of documenting my steps and was able to tie together a lot of my electronics and coding knowledge to understand and reverse engineer the components of the controller. More generally, I also learned a lot of valuable lessons about the ups and downs of the engineering process, and definitely had some great “ah-ha” moments as different pieces of the puzzle came together one by one.

Ultimately, I was able to complete the hack successfully and have the helicopter fly up (without hitting the ceiling by setting an upper threshold!) when the user is concentrating and down when the user loses concentration.

You can learn more about other projects I've done and my summer experience at OpenBCI here.

My project was used in a demo by Ann Makosinski!

So excited to be working with neuro technology company OpenBCI 🧠💪🏼 let us know what kind of videos (or any questions you have!) you’d like to see next 🤩

Posted by Ann Makosinski on Friday, October 15, 2021