Serious Chemical Threat Sniffer On A Budget

Street with polluted smoggy air

Chemical warfare detection was never supposed to be a hobbyist project. Yet here we are: Air Quality Guardian by [debdoot], the self-proclaimed world’s first open source chemical threat detection system, claims to pack lab-grade sensing into an ESP32-based build for less than $100. Compare that with $10,000+ black-box hardware and you see why this is worth trying at home, even if this project might not have the nut cracked just yet.

Unlike your air monitor from IKEA, the device aims to analyze raw gas sensor resistance – ohm-level data most devices throw away – combined with temporal spikes, humidity correlations, and a database of 35+ signatures. Of course, there is a lot of work to be done here on the calibration side, and we don’t have any chemical warfare agents on hand to test against, so we have no idea how well it works, and we’d expect false positives. Still, the idea of taking a more granular look at the data coming off the sensor may bear some fruit.

(Editor’s note: edited with a hefty dash of skeptical salt.)

Featured Image by Arjun Lama on Unsplash

40 thoughts on “Serious Chemical Threat Sniffer On A Budget

  1. I truly admire the self-confidence of the person who wrote the readme, boldly explaining how this arduino + 8€ COTS sensor combined with ~900 lines of C++ is better than professional chemical warfare detection systems.

    1. I’d also be interested to hear how they think they developed a system for detecting nerve gas/Sarin, and how they think they tested it to ensure the code is working, bearing in mind that the manual for the BME688/AI-studio says it has to be taught what signal a chemical will generate.

      1. the person who wrote the readme

        I’d bet quite some money that the readme was written by an LLM. Just look at the “Project Structure” part. And the fact that “dirtysalsa” has forked the DeepSeek-V3 repo.

          1. I hear you, but we can’t un-publish it. Or rather, we don’t — editorial policy. So let’s just chalk it up as a mistake.

            OTOH, there’s actually some good discussion about how to correctly do the chemical sensing that’s developing in the comments here, so I guess that’s some kind of redemption?

      2. Having actually built a portable gas chromatograph for sarin detection (we used simulants), this device won’t be terribly useful without some form of separation. Raw sensor values aren’t useful for identification, you need retention time.

        1. Please stop posting stuff which smells fishy!

          Unless it’s a hack that relates to literal fish or the odors thereof. An interesting hack of fishing gear would be welcome, especially if it had dasblinkenlights.

    1. The SEN54 is a very simple sensor and can only give a simple VOC score. The Bosch sensor can also do VSC’s that the SEN54 doesn’t appear to be able to do. It seems to me that the Bosch BME688 is a much better sensor. For example, the Bosch BME688 is capable of detecting H2S that the SEN54 is not capable of doing that. H2S would be the primary thing I would test.

      1. Fart wars in the cube farm!

        No women on the whole floor.
        Bored geeks, banging out DB/bean counting code.
        The vegetarian started it.
        It escalated.
        We were eating for war.

        It ended when a PHB ‘detected’ natural gas taggant (not H2S anymore), cleared the building, which had no gas service, but a number of ‘gas leaks’.

        We stopped after that.
        The look on the PHB’s face when the fireman told him ‘no gas service’ was priceless.

        X-hot KimChi, hardboiled eggs and old Milwaukee beer!
        Don’t do it.

  2. Sorry, but this whole thing stinks. (Hah. See what I did there?). My understand of these sensors is limited, so please correct me if I’m wrong.

    The sensitivity of the detector seems to be controlled by the temperature of the sensing element. Higher temperature = higher sensitivity. However, from what I can gather from the datasheet, it simply detects ANY VOCs which are reactive enough to do stuff to the sensor. I fail to see how on earth you can get a “signature” which allows you to identify a particular compound. Compare that with proper detectors which have a detection method that is closely matched to the compound in question – e.g. an enzyme or bacteria which will only react with an organophosphate and nothing else.

    Unless you have access to the compounds in question to actually test the sensor, I fail to see how you could determine the “signatures” for each or have any faith in what the sensor is saying.

    Next, how the project is presented. Reading the github page, it sounds like the sort of sensationalised guff that an AI would generate. Sure enough, pasting it into 4 different AI text checkers, they ALL said it was 100% AI-generated.

    The user is “dirtysalsa” based in Kolkata and they have a twitter account at https://x.com/dirtysalsa and a website at https://www.dirtysalsa.com/ (seems to be how-to videos on Salsa dancing). Their twitter feed has a whole conspiracy theory feel to it – numerous sensational posts about “heavy metal attacks” or “neurotoxin” attacks, tagging the UN, Kolkata police. Believes someone upstairs is spreading poisonous gas etc. etc. and that’s why they built this sensor.

    Generally, Hackaday, please have a good look at who’s behind this.

    1. Yeah, I’d never head of “chemical harassment” before but it made my BS detector ping. Googled a bit, and found only people who believe that the smell of fabric softener in a laundromat is an attack targeted at them personally, and that other people’s presence in public is specifically designed to inconvenience them.

    2. Well yes – BME688 can’t detect CO2 – it is just estimate based on the amount of VOCs and an assumption that they are produced by humans breathing. This is just BS. So the only thing they can measure is VOC concentration (badly, the sensor is good for rough estimate and thats that) and dust. The rest is just AI generated slop and conspiracy theories.

      Please stop this – it is like publishing articles about new devices to measure flatness of earth to prove that the earth is flat or something.

  3. The readme on the github repo screams LLM-generated to me. It’d be interesting to see any testing of the device with pesticide or something given the readme says treat any warnings from this doohickey as a serious threat.

  4. anyone who actually worke din the field with RMOX sensors will tell you: this will onyl work with oen sensor, as the sensor to sensor variation is very very wide. Also age will quickly alter resistance response.

  5. the effectiveness of this seems….. dubious

    Its hard to believe any amount of hackery and AI magic can turn a $20 sensor into a CRBN detector.
    The BME688 datasheet says its for things like detecting spoiled food, bad breath, and dirty diapers…. certainly unpleasant but not exactly chemical weapons.

    A quick peek the creators twitter show some pretty out-there beliefs and suggests that they might not be well. That the effectiveness of this device in detecting airborne chemical weapons might not be reflective of consensus reality.

    In short, someone should take a skeptical look at this

  6. Anyone looked to make a budget high specificity sensor should look into molecularly imprinted polymers and sensor arrays (i.e. if you wanted to distinguish toluene/benzene you could imprint a polymer with both then overlay a voc sensor with both and a differential signal between the two can give you better quantification. Of course as far as I know MIPs are not typically as selective as things like gold nanoparticle sensors with specific ligands.)

    Good luck getting your hands on an appreciable amount of sarin to imprint the polymer, of course.

    1. Funny thought – could you extract the insect version of acetylcholinesterase from a bunch of insects, use that to get your detector working for Bug Spray ™, and then replace that thin film with a smear of actual acetylcholinesterase and hope you’re close enough? I mean, you can always hope, but you know what I mean. (I’m thinking SAW detectors, which are, granted, Old School AF)

  7. Not an expert here, but apparently any kind of organophosphate detection on a budget is very hard and requires a whole lot more than offered here.

    I’m pretty sure all nerve agents fall into the organophosphate category together with lots of (all?) insecticides.

    Also, chlorine is way easier to synthesize than any of the nerve agent chem weapons. Pretty sure phosgene and mustard gas are too.
    Yes, the LD50 on them is much higher but they were incredibly effective in WWI anyway.

    As others have said, not a good project but also, not even properly focused on real world risk.

  8. With all due respect to the editors: Leaving up an article that is full of BS isn’t helping. You should publish a withdrawal notice and mea culpa. Then work at not making the same mistake again.

      1. I agree, but Eliot Williams has already, and with regret, stated above that un-publishing articles isn’t Hackaday editorial policy.

        And now, of course, this article will be scraped by an LLM, ingested into its corpus, and the next generation of AIs will be confidently telling naive and credulous people how to build a $20 chemical warfare sensor with a citation… and the circle of dross will continue.

  9. Jeez not a single comment here mentioning the need for chromatographic separation. There’s no such thing as a selective sensor. In order to identify the target analytes, you’d need gas chromatography to separate the sample, and you’d need to calibrate the instrument against your target compounds to generate the calibration curve. I did this professionally for 10 years, this project is bunk.

Leave a Reply to Saint Aardvark the CarpetedCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.