The software used in this Instructable consists of two applications, Puzzlebox Synapse and Puzzlebox Brainstorms. The former connects to commercially available consumer-grade EEG headsets, such as the NeuroSky MindSet or Emotiv EPOC. The latter connects to the transmitter chip extracted from the RC Helicopter's remote control and issues flight commands and settings based on detections received from Puzzlebox Synapse. Software (including source code) is available for download from the project website:
- Radio Controlled Helicopter
- EEG headset such as the NeuroSky MindSet or Emotiv EPOC
- USB-to-Serial converter cable, capable of being set at an arbitrary baud rate
- An oscilloscope
- A logic analyzer
- Soldering Iron and Solder (optional)
- Connection cables and prototyping board (optional)
- Puzzlebox Synapse and Puzzlebox Brainstorms software
Note: Items in bold can be found in the Glossary and Link Index listed the final step of this Instructable.
Before beginning, unpack the helicopter, charge and install the batteries, and make sure everything is in good working order before beginning to examine or disassemble any individual components.
You should also familiarize yourself with the basic controls of your helicopter, including how trim settings operate and basic flying characteristics.
Note: The RC Helicopter used in this Instructable is a Blade mCX2 :
Step 1: Examine Remote Control Components
Note: The remote control used for this Instructable is a Blade MLP4DSM.
There are 4 channels which are used for flying:
Throttle (Up/Down in the air)
Elevator (Forward/Backward while flying)
Aileron (Left/Right while flying)
Rudder (Rotate Clockwise/Counter-clockwise while flying)
The two joysticks are connected to potentiometers which adjust the voltage of the circuit to which each are connected from the DC power source through to an Atmega88PA micro-controller.
The micro-controller measures the input voltages and converts them to digital PCM values which are sent to a transmitter chip which uses the Spektrum DSM2 protocol to communicate with the RC Helicopter.
(Note: this explanation is not 100% accurate but may be a helpful way to visualize and understand what is going on)
It may be helpful to think of electricity as water, flowing through pipes as opposed to wires or tracks on the circuit board. If you were to measure the pressure or level of the water flowing inside the pipe at any one point that would be its voltage, with the diameter of the pipe the maximum voltage the circuit can handle. The volume of the water passing through that point is the current of the circuit, measured in amperes (amps). If you were to picture a large storm drain dripping a trickle of water that would be a high voltage, low current circuit, whereas a firehose blasting water would be a relatively low voltage, high current circuit. It is for this reason that amps are often considered more dangerous than voltage.
The batteries act as the both the source and the destination for the water (electricity) flowing through the pipes (circuit). The potentiometers connected to the joysticks on the front of the remote control act as gates which alter the level (voltage) of water flowing through the pipes. For example, when the throttle joystick is in the lowest position, where the rotor blades are normally off, the gate is entirely closes so no water is flowing throw the pipes and the voltage is zero. When the the throttle is in the highest position the gate is completely open and the water and voltage are likewise at their highest level.
If the pipes passed through a wheel on the way to their destination and that wheel turned the helicopter rotor blades, it might make sense that more water flowing through (high voltage) would turn the wheel and therefore rotor blades faster, allowing the helicopter to fly higher.
Now of course the joysticks and circuit we are talking about is on the remote control, not the helicopter, so we need a few extra steps.
In this imaginary example, the micro-controller measures the water level in the pipe as it flows past. This number represents the voltage and therefore the joystick position. The number is converted into a digital format and passed on to the transmitter, along with the number which correspond to all of the other joystick positions. The transmitter broadcasts these numbers to the helicopter. Finally the receiver in the helicopter talks to its own micro-controller which converts the digital values into the appropriate physical settings for the rotor blades and servos.