Introduction: Diesel Car Exhaust Smoke Meter Plots Optical Transmission Through a Test Tube

About: I am a researcher leading quantum optics labiratory. Previously I was working on development of optical atomic clocks. Electronics is my hobby since childhood when my uncle was bringing me old phones to play a…

In the EU country Latvia maximum permitted extinction coefficient k = 3 (1/m) at max motor revolutions 5000/min. Upon yearly check-ups my car frequently exceeds the limit value. Because I drive only in the city and soot deposits in catalitic converter. A cure is to drive outside the city for at least an hour so that catalytic converter heats up to > +300°C and soot burns in the presences of palladium catalyst.

Because I specialize in optical spectroscopy I became curious how the commercial measurement device AVL DiSmoke 280 works. Found a manufacturer data sheet. It has a lamp and photodetector on opposite ends of a L= 21.5 cm long tube. Why this length? It gives 1/2 of light absorption at k = 3. More exactly transmitted light has to be more than 53% to pass the exhaust cleanness requirement.

Beer-Lambert law of absorption in turbid medium:

Iexit / Iinitial = exp(-k L )   

k = - ln( Iexit / Iinitial ) / L

where k is the extinction coefficient measured in 1/m and L is the absorption path length.

For example a 1 m long test tube at k = 3 would give a small transmission of only 5 % that is hard to measure precisely, so optimal tube length is where transmission drops to half. 


I decided to build a device measuring diesel exhaust smoke. Searched the web and found on a Hackaday a link: But in that prototype a general purpose air quality module measuring the scattered LED light saturated at diesel smoke levels. So I decided to take as a base prototype the DiSmoke commercial device. Used threaded water pipes to set optical distance of 21.5 cm between the two glass windows. On a diamond wheel cut two round glass windows to fit into the pipe and glued with 5 min epoxy. Pipes can be unscrewed for cleaning.

Light source is an Ebay LED torch with a collimating lens driven from a single AAA battery. Torch needs to warm up about one minute to stabilize the output intensity. Photodetector OPT101 has an integrated OP-amplifier supplied from +5V. Internal 1M feedback resistor is shunted by 200k (10-turn) variable resistor. This resistor allows to adjust the photodetector gain to full range when soot deposits on windows. I choose that 100% level is 500 Arduino ADC input units. Photodetector is separated from Arduino LCD box by a 3 m shielded cable (an old USB cable) so that driver can see the meter display sitting at the steering wheel. Red and black wires supply 5V to the photodetector amplifier. Green wire is photodetector output and white wire is from a variable feedback resistor. There was a worry that feedback resistor at 3 m separation would pick up noise but no problems were noticed as Arduino averages analog input reading 1000 times. Full screen is 500 Arduino ADC input units normed using map function to fill the display vertical 64 pixels . Made a moving marker on LCD marking 53%.

128x64 display from 3D printer bord was used displaying about 2 points per second. LCD in serial data mode uses Arduino pins D10, D11, D13. YouTube video about the display use with Arduino:

It took me some time to figure out how to display numeric value together with graphics using sprint() function. As there is no storage implemented, I took display photos by a phone.

Device was supplied from three 18650 LiPos salvaged from an old PC soldered in parallel and charged by a powerbank circuit board from Ebay.

10 mm outer diameter soft copper pipe was put into exhaust linked with a plastic tube. It did not get too hot so could touch it with a bare hand. My prototype was assembled and tested in 2 days, and it took one more day to put it in a nice housing. Whole project can be stored in a shoebox till next year car inspection.

Step 1: Measurements Performed on My Diesel Car Ford Fusion 2005 Exhaust

After driving one year in the city. More than 50% absorption. Did not pass the legal smoke test. Official k = 3.7…4.9. Noticed that LED and PD windows covered with black soot after a few rews.

After 30 km on highway.  Started to see a slight improvement when repeating gassing several times. 30km was not enough. Noticed that 10 seconds keeping max revolutions gave an effect only for the first few seconds. This is probably pressure wave that pushes out the dirt. So in next tests pressed gas pedal for ca 2 seconds then let to calm down. Repeated up to 10 times. There was a trend that absorption dip became less. But 30 km was not enough.

After 120 km. There was noticeable improvement. At that point I had traveled to the end of Latvia and into Estonia. Had to clean optical windows.

After 220 km. Returning back home. Test showed < 50 % absorption. Good results! So I will be able to pass the legal diesel car smoke test. LED and PD windows were not covered with soot anymore. There was an intensity drop due to water condensation.

Water vapor condensation problem

Commercial wallplug powered device uses heating of the test tube to 100C to prevent condensation. In a DIY device water condensation problem was noticed – decrease of transmission after several rews. Because hydrocarbons in combustion produce CO2 and H2O. LES and PD windows were covered in fine droplets, not soot.

On a hot sunny summer day the measurement the test tube became hot enough (+40C ) that no water condensation happened anymore even after many rews.

Made a video about measurements:

Step 2: Summary and Outlook

DIY absorption meter allows diagnosing diesel car exhaust smoke opacity to pass legal requirements and see improvements in exhaust particulate matter after driving 300 km on highway and adding additives to fuel.

Water pipe fittings can be easily disassembled for window cleaning. Difference between a commercial and DIY device is that there is no fan to draw-in clean air but it is not a big problem as car exhaust at idling is quite clean (2% of transmission loss).

The present project was to make a simple device quickly which works without fancy extras. One can make a Bluetooth operated sensor sending data directly to phone for plotting.

LED light source intensity is not stabilized and drops as the AAA battery discharges. One can also forget to switch off the LED. A more professional circuit using current stabilization like for laser diodes could be used. Light intensity changes are compensated manually with the 10-turn photodiode gain resistor which was OK.

This DIY opacity meter allows to understand Beer-Lambert law of optical absorption and to understand the optical extinction coefficient k. Arduino code calculates the k coefficient using natural logarithm and sends it to the serial port link. It would be nice to show on LCD as well. It was implemented in the latest code. There should be implemented software min transmission value determination and largest k value display for some seconds of time. Probably would need a button to reset this value or after some 10 s delay.

Lack of cell window-heating occasionally (when the exhaust pipe is hot) leads to a problem with water condensation on the optical windows decreasing the transmission. After a couple of max revs, condensation builds up on LED and photodiode windows. In a commercial device condensation is prevented by heating the measurement cell to 100C. Noticed that on a hot sunny day the device left in the car had heated up to a temperature above 40 C and it was enough that no condensation was happening.

If interested, please see the attached pdf with schematics, Arduino code and more measurements: