OH NO! He didn't!

Yes I did!

My project is simple: Farting in a chair and sending the signal wirelessly to a panel that shows the intensity of the fart!

Words of caution: Please do not force yourself to fart, you might shit in your pants if you try to hard!

Thanks to all my friends who helped in this project! (and all my tester!)

Michaël Vachon
Steven Jolley (Fart NINJA)
Manuel Grégoire
Mathieu Desnoyers
Pier-Alexandre Fortin
Louis-Philippe Gagnon
Francis Leconte
Gaétan Mercier
Sébastien Choquette

Step 1: Component List

The project consists of two modules:

The emitter located on the chair and the receiver located somewhere else (e.g. on your desk).

Here is what you need to make a Fart-O-Meter:

1 x large protoboard PCB
1 x ATMEGA168/328 arduino chip with bootloader
1 x LM117 - 3.3V regulator  (Sparkfun sku: COM-00526)
1 x 7805 - 5V regulator 
1 x 1N4148 diode
1 x 16Mhz crystal
5 x 0.1uF decoupling capacitor
1 x 220uf 16V capacitor
1 x Green LED
1 x Bi-Color LED (or two separate green and red LED)
3 x 220Ohm current limiting resistor for LED
1 x 10K resistor for reset of the Arduino
2 x 100K potentiometer - one for gas sensor calibration and the other one for debugging
1 x Audio Jack 3.5mm use to connect the methane sensor
1 x 3.5mm audio jack  (Sparkfun sku: PRT-08032)
1 x 8 x AA battery holder
1 x 9V power clip - It connects to my 8 x AA battery holder
1 x Plastic enclosures
1 x FTDI Basic Breakout - 5V ( Sparkfun sku: DEV-09716)
1 x  MQ-4 - Methane Gas Sensor (Sparkfun sku: SEN-09404)
1 x nRF2401A Transceiver with Chip Antenna (Sparkfun sku: WRL-00152)

1 x Arduino (Solarbotics sku: 28920)
1 x shield (Solarbotics sku:16090)
1 x Transceiver nRF2401A with Chip Antenna (Sparkfun sku: WRL-00152)
1 x Servo motor

Hardware for receiver
1 x large acrylic/plexiglass sheet for mouting everything to it
4 x Silicone Bumpers - so the platform does not slip
4 x HEX 3/8 inch standoffs (Sparkfun sku: COM-00126 ) 
4 x 1/4" Screws 4-40 Thread (Sparkfun sku: PRT-00447
4 x Machine Screw Nut - 4-40  (Sparkfun sku: PRT-10232 )
2 x 1/2" Screws 8-32 Thread for mouting servo
1 x 8 x AA battery holder
1 x 9V power clip - It connects to my 8 x AA battery holder

Step 2: Tools

Here are the tools you might need:

1 x Multimeter
1 x Side cutters
1 x Nose pliers
1 x Lighter - for heat shrink and testing the methane sensor (yes, the methane sensor is sensitive to butane)
1 x USB cable for programming the Arduino
1 x Screwdriver set
1 x Sharp knife
1 x Set of drills
1 x Precision screwdriver set
1 x Double side sticky tape
1 x Duck tape
1 x Scotch tape
1 x Drill
1 x Safety glasses

Be safe!

Step 3: What Is a Methane Sensor?

The MQ-4 can detect natural gas concentrations anywhere from 200 to 10000 ppm (Parts Per Million).
It is very sensitive and has a quick response time.

This sensor is analog and gives out voltage depending of the gas concentration. When there is no gas, the voltage read is around 1.3V.Otherwise, when you fart, it goes up to 5V! 

Since it uses a small heater inside, it consumes 175mA!! It has to be considered when choosing the battery source.

Step 4: Transceiver NRF2401A

Sparkfun have this great wireless module called the nRF2401A Transceiver. 

There is also a librarie to make it work with the Arduino.

You can make that module work in no time!

There is an important thing you should remember, the module works on 3.3V not 5V.

If you use a standard Arduino, you will need something to convert the signal down to 3.3V. The stock Arduino is 5V.
There is different ways to do so.

Here is a tutorial on Sparkfun website

Sensor Interfacing

Sparkfun also sells this ready made PCB board called Logic Level Converter (Sparkfun sku: BOB-08745)

I simply use a voltage divider to bring the 5V down to 3.3V

Step 5: The Emitter

I was able to find a nice plastic case for my project. I cut the PCB to fit inside the casing.

Then, I start by placing the 5V and 3.3V voltage regulators. I also place the 28pins socket to have a better idea of the placement.

I tested the power supply first. When that worked, I added the other parts. I then tested the circuit by flashing a temporary red LED.

Step 6: Sensor Connector

I added this 3.5mm jack to connect the methane sensor.

This makes the entire thing easy to remove and debug

Step 7: Testing the Methane Sensor

I recommend you testing on a breadboard the methane sensor. I had some bad luck with one of them. (lucky I bought two!)

For testing, I did not solder it, just wrap wire around the pins. 

Purple = 5V
Gray = Analog out
Black = Ground

Step 8: Mounting PCB for Methane Sensor

I want to have a great way to mount the sensor. I decided to have a carrier board and cut to shape a small PCB.

Step 9: Protective Shield

When I started this project, one of my friend had experience with that sensor and told me that they heat up! I though that I should protect them from heat the foam inside the chair.

It turns out it heats up but it was not a big deal. My sensor is surrounded by wood and not foam. I did not use the shield.

But here is how I did it on the lathe.

Step 10: The Complete Emitter

Here is the complete emitter.

I have the 8.4V lithium battery, a power and status LED installed.

Step 11: The Receiver

I used a bended plexiglass to fix the electronics (arduino and all the components).

Step 12: Receiver Hardware

I had to enlarge the hole on the Arduino to make the 4-40 screws fit in it.

I also had this piece of plexiglass for my science fair back in 2001 laying in my room. I mod it to fit my project.

I also give out the test template I printed it out.

Step 13: Making the Arrow

I printed the arrow from the powerpoint I gave in the previous step.

I then glued it to a cereal cardboard box. Glue the cardboard to a servo horn.

Keep It Simple and Stupid!

Step 14: Code

The code is very simple, I was going to add maximum analog peak detection but I soon realised that there was a simpler solution.

The system is master/slave. The emitter is the master and the receiver end is the slave.
I simply tell the slave to move the servo to a X position. This is it. All the hard work is done by the emitter.

The most important part of the emitter is:

Prepare the radio transmitter like this:
Radio.remoteAddress = 1;

This is just an example to show how you can transfer an array.
Radio.data[0] = 22;
Radio.data[1] = 33;

You read the analog pin
val = analogRead(potpin);

Then you map it to the servo motor.
When you have 1023, that is the max position of the servo motor, 179.
val = map(val, 0, 1023, 0, 179);

You then take the value and send it to the receiver.
Radio.data[2] = val;

The receiver is also very simple

wait for signal

Read it

if(Radio.data[0] == 22 && Radio.data[1] == 33 )

Get the servo value in the array
    val = Radio.data[2];
Move the servo, I subtracted the voltage offset since there is no gas, the value read is 1.3V

Step 15: The Chair

Remove the seat off the chair. In my case, I simply unscrewed 4 screws.

Step 16: Drill Hole in Chair

I made sure the hole I drilled provided maximum linear efficiency for gas to reach the sensor. (aka: perfectly align with my butt hole :) )

Step 17: Secure Sensor

When I made the PCB for the methane sensor, I made mounting holes. It is time to drill those holes and mount the sensor to the bottom of the chair.

You can now mount back the seat to the chair.

Step 18: Mounting the Enclosure

I used double sided sticky tape to mound to the back of the chair.

Step 19: The Final Product

There you go!

You can now prove that your girlfriend farts!

BTW, this works great!

Step 20: Future Improvements

Ok, when I was making this, my friends and I had so much crazy ideas for improvements!

#1 - Fart counter, counts how many farts you make.
#2 - Make more than one chair so it becomes a fart marathon!
#3 - Make you teacher sit on the chair during a meeting and wait...
#4 - Instead of fart level, use it for counting how many cash you need to give to your team. Fart jar!
#5 - Adding an other Arduino connected to a Febreze spray can (see below)
#6 - You can also replace the methane sensor with temperature probe... (no you sick mind, outdoor temperature probe!)
#7 - Airbag hidding under the chair that flip you in the air while the chair yell "You bastard, don't you ever fart on my face again!"

Here is the most evil idea...

Add an electric match ignition system next to the sensor, when the methane reaches max reading, light up the match!!! (Insert evil laugh here!)

Just imagine someone farting and seconds later, his ass gets on fire!!!!!!!

I hope this project was entertaining and you had fun reading it!

Thank you for reading!

Jérôme Demers
Please vote and subscribe!
Ah ha! This makes me confident that's what is happening with my air analyser, it IS a trump detector! https://youtu.be/EP4VpWg01tw
<p>hahahahahaha you gave me an application for my methane sensor :D </p>
<p>Nice One. Thanx Dude</p>
<p>that is sooooooooooooooooooooooo hilarious </p>
<p>Whoa, I received my MQ-4 from China today. Plugged it in, and it had a short. Instead of heating up the sensor element, it turned the printed circuit board red hot. Left some nice burn marks on my fingers. Well, that was every bit as fun as touching the business end of a hot Solder iron.. <br>I also have an MQ-5 in my parts bin, but it's listed as a Liquid Propane gas detector. The MQ-4 was supposed to be for Methane. I hope the seller in China will send me a new MQ-4 that doesn't self destruct.. Maybe by the time it arrives, my burns will be fully healed over ;-P</p>
<p>I did something similar but a bit simpler. Used MQ-9 instead.<br>This system detects farting and turns on the fan to get a rid of a smell. Once the smell is gone it turns itself off.</p><p><a href="http://arturito.net/2014/02/02/fart-detector-with-fanventilator-made-with-arduino/" rel="nofollow">http://arturito.net/2014/02/02/fart-detector-with-fanventilator-made-with-arduino/</a></p>
I am re-using this protoboard for a new project. I see some design mistake in the power supply. <br>The input of the 3.3V should be connected directly at the output of the 5V and not 12V. <br> <br>If you connect them like this schematic, you go from 12V to 3.3V that's 8,7V drop inside the LM1117 voltage regulator. Same for the 7805: 12V to 5V is 7V. Since I use linear regulator, they are not efficient and heat up. The more voltage across them the more they heat up. So by connecting the LM1117 after the 7805 I go from 5V to 3.3V the voltage drop is less and will heat less. <br> <br>Good luck <br> <br>
I wonder if you can make the receiver echo the signal back and measure the microseconds it took. Would there be a significant change in time along with varying the distance between the transceivers? <br> <br>I'm planning on making an autonomous robot and I'm looking for a (local) positioning system. If you have time, please give it a try, I'll drink a bear in your health :). I wouldn't want to buy the parts for nothing.
LOL!!! I laughed so hard I farted!
lol c'est drole, mes interesant :D
Haha toute qun projet sa ;) vraiment bien expliqu&eacute; et illustr&eacute;! Jaime vraiment la clart&eacute; des tes images !! Great that you are back on instructables!<br><br>Nicolas
Attend de voir le vid&eacute;o! :P<br><br>j'upload sa demain matin!<br><br>Merci!

About This Instructable




Bio: I am a French Canadian that loves robots and embedded electronics. I work on all kinds of cool projects, like a high-power electric push scooter ... More »
More by robomaniac:Arduino-Fart-O-Meter No pictures costume for Hong Kong Halloween Dead killer bee prank ( April fools ) 
Add instructable to: