Designing a Carbon Monoxide Detector with Arduino for a Car Project

Hello everyone,

I'm an engineering student currently working on a mini project for my semester, and I need some guidance regarding Arduino microcontrollers. Our project involves designing a carbon monoxide (CO) detector for cars that not only alerts occupants about rising CO levels but also automatically rolls down the power windows when these levels become too high. Additionally, we aim to incorporate a feature that sends distress signals, including the car's location, to predefined emergency contacts.

However, I have limited experience with microcontrollers, having only worked with the 8051 microcontroller and its assembly language programming. As a result, I'm feeling a bit overwhelmed and unsure where to begin with Arduino.

Here's our plan so far: we intend to use an MQ-5 sensor to detect CO levels and a GSM module to send distress signals. However, I'm unsure about the feasibility of automatically rolling down the power windows. Through my research, I've learned that vehicle electronic control units (ECUs) communicate via the Controller Area Network (CAN) bus, and CAN bus terminals are accessible through the OBD ports. My question is: can we send a message through the OBD port to the CAN bus to roll down the windows?

If this idea is feasible, I would greatly appreciate suggestions for a suitable Arduino model and any additional sensors or peripherals we may need for this project.

Thank you in advance for your help and suggestions.

The MQ sensors are not calibrated and all of them detect several compounds. They are useful only for reporting that something in the environment has changed.

To detect and measure CO levels, you need a much better (and more expensive) grade of sensor, specific to CO, such laser-based spectroscopic sensors.

Isn't there any way to manually calibrate the sensor for rough estimates?

No, the sensor is unable to distinguish CO from other compounds.

I would imagine that's possible in some but not all vehicles. Have you seen any evidence it could be done that way for your vehicle? For example does it roll up the windows when you activate central locking?

The sensor can't report that it is detecting CO, or something else.

Hello @jremington
I was curious about your explanation.

Recently here in Brazil, 4 young people died in a car due to CO2 poisoning due to a defect.
in the car's exhaust system.

So I started to analyze the possibility of making a detector to warn of "excess" CO2 inside the vehicle.

I found this sensor from SENSIRION.

But now with your statement I have doubts.

Will it not detect the level of CO2 that is harmful to people?

Thanks for your attention.

My comments are directed toward MQ sensors.

You should very carefully read the data sheet for the Sensiron CO2 sensor, to see whether and how CO2 readings are affected by the presence of other gases, such as the MUCH more dangerous CO.

Do not confuse CO2 with CO!

1 Like

Tks for your replay.

If you plan on actually putting this in a vehicle I suggest your group goes through the following. Automotive electronics is very nasty.

There is a good app note AN2689 by ST on automotive electronics. reading it will help you a lot.
https://www.st.com/resource/en/application_note/cd00181783-protection-of-automotive-electronics-from-electrical-hazards-guidelines-for-design-and-component-selection-stmicroelectronics.pdf
Also take a look at this: Distilled Automotive Electronics Design | Analog Devices and then there is this one.
Transient Voltage Suppression in Automotive Applications

I looked carefully at the Sensiron data sheet, and it does not seem to make any statements about sensitivity towards other gases.

This is a major omission and a red flag. Before using this sensor, I would do more research, possibly writing to the manufacturer, and ask for this information.

1 Like

I don't own a car. This was just a silly idea that popped into my head while brainstorming for a topic. With my limited knowledge, I initially thought it would be a straightforward task.

However, I believe some Volkswagen and Skoda cars actually have a feature where pressing a button on the keyfob will roll down all the windows

Hey, I've come across a relatively inexpensive electrochemical CO sensor, the ACM2000. There wasn't much information available about using it in projects aside from its datasheet. Do you think this sensor would be feasible for our project?

Thanks for the heads up. After considering the complexities involved, I'm currently contemplating whether to proceed with the idea of using CAN communication or to manually roll down the windows using a relay or similar method.

Hi everyone,

I'm working on a project to detect Carbon Monoxide in cars using Arduino. It's my first time trying Arduino stuff, and honestly, I don't know much about it. Here's what I need to connect:

2 MQ-7 sensors
1 Display (I think OLED would be cool)
1 GSM Module
1 Relay to control a power window motor

Now, the big question: Can I use just an Arduino Uno, or do I need a different one? My main worry is having enough pins to plug in all this stuff without any problems. Any advice or suggestions would be great! Thanks a lot!

A Uno has plenty of pins to handle the requirements but it is large and clumsy/insecure to connect to. Consider using a smaller board such as a Nano and soldering the connections to it.

A car is a noisy electrical environment and as such is not ideal to provide power to a microprocessor so keeping the power supply clean should be a consideration

As far as I know the MQ-7 sensors are not in themselves calibrated so you need to decide how you are going to do that

Okay. Thanks for the heads up. Could you please suggest any other CO sensor that you think would be suitable for this use case?

Sorry, not my area of knowledge

I have merged your topics due to them having too much overlap on the same subject matter @adarshkannan887.

In the future, please only create one topic for each distinct subject matter and be careful not to cause them to converge into parallel discussions.

The reason is that generating multiple threads on the same subject matter can waste the time of the people trying to help. Someone might spend a lot of time investigating and writing a detailed answer on one topic, without knowing that someone else already did the same in the other topic.

Thanks in advance for your cooperation.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.