Introduction: Wireless Vibration Device

Picture of Wireless Vibration Device

Originally posted at:

The infamous incident of Major Charles Ingram and his wife attempting to cheat the game show "Who Wants to be a Millionaire" is a marvelous tale with a captivating premise and a remarkable turn out of events. It truly was amazing that the contestant was able to get as far as he did without arousing suspicion considering how blindingly obvious the fraudulent act now looks in retrospect.

For those unacquainted with the story, Charles Ingram was a contestant on the game show back in 2001 who used a simplistic communication technique with his wife who was in the audience to successfully wriggle his way to the highest prize of one million pounds. Specifically, as Charles rambled with the game show host his wife would loudly cough as he read over the correct answer. Shortly after the victory Charles and his wife were prosecuted and charged.

This story couldn't help but raise a certain question in the minds of the technology enthusiasts that work for Ruby Devices. Could there be another system to cheat the game and win the ultimate prize? A method rooted in a much higher caliber of intelligent design and stealth?

With that question, we got to work. The initial challenge was selecting a form of communication that could work with a high level of stealth but at the same time offer high practicality. An earpiece or gadget placed on the eyeball, for example, would spell disaster for the ultra high definition top of the range cameras on set. To make this work we knew we would need a form of communication that did not require any devices exposed to the cameras. Similarly, the device could not make any noise which would spell equal disaster.

We decided on using vibration as our form of communication. Vibrations, if tuned right, could theoretically be silent enough to make no noise but powerful enough to be easily felt by the user.

Step 1: Choose a Vibration Motor

Picture of Choose a Vibration Motor

To build the device the first step was selecting a vibration motor. Easily done; they are available all over the internet. Here is the one we chose.

Step 2: Select a Microcontroller

Picture of Select a Microcontroller

Next, we required a microcontroller for our motor. We went with the Atmega32U4 due to its compatibility with popular arduino libraries and flat form factor.

Step 3: Select a Module for Communication

Picture of Select a Module for Communication

For the wireless transceiver we chose the popular nRF24L01. There is no shortage of documentation on this popular RF module.

Step 4: Motor Control Design

Picture of Motor Control Design

On to the circuit design which was relatively simple. We used a basic transistor circuit for on-off switching of the motor; a Schottky diode was included for standard back EMF suppression.

Step 5: Voltage Regulation

Picture of Voltage Regulation

We regulated the power rail of our motor to allow us to fine tune the vibrational power delivered; the resistors R3 and R4 allow us to adjust the magnitude of the rail.

For the full schematic see the linked pdf file here:

Step 6: PCB Design

Picture of PCB Design

Other components used in the design included a lithium polymer cell for power, the MCP73831 IC for charging through a USB port, a slide switch for power and six tactile switches for communication control.

The PCB design came next. The objective here was to keep the device relatively compact for greater stealth.

Step 7: PCB Assembly & Coding

Picture of PCB Assembly & Coding

The PCB's were manufactured and the components were assembled. We 3D printed a case for our prototypes (

We hacked out a basic program on our microcontroller; pressing the first tactile switch transmits a command to the second device which will instruct it to vibrate once for a short duration, pressing the second tactile switch transmits a command to the second device which will instruct it to vibrate twice for two short duration's. So on and so forth for the other tactile switches. With this simple protocol we are able to communicate the correct multiple choice result; one pulse for "A", two pulses for "B", etc.

Step 8: Hide the Device

Picture of Hide the Device

Now the device is finally ready to be hidden to an inconspicuous location.

There you have it. Time to apply for the game show. In theory, we could take this even further and relay the data through the internet to allow our accomplice to help us from the comfort of their home. But hey, that would be too easy, wouldn't you say?

Thanks for reading :)


Boxoffrogs (author)2017-04-25

Would it be possible to see the other motor half of the project, get schematic/circuit and code files? Can I also ask how/what the motors nRF24L01 is connected to & powered?...or is this a Rubydevices product for cheating that will be available to buy? Thanks

RubyDevices (author)Boxoffrogs2017-04-26

Hey Boxoffrogs,
No, this is not a product. I am happy to share the full schematic. I'll add a link to Step 5 for the full schematic design.
I won't post the code those as ours was a really badly written PoC that would be quite embarrassing to publish. It is a relatively simple task coding though really; just look up documentation on the transceiver and make up your own protocol for controlling the output to the base of the transistor