I am working on a fire detector project using a flame sensor.

This sensor can detect IR light wavelength from 760-1100 nm using a YG1006 phototransistor.

I have read that if the wavelength is bigger than 850 nm then it can be regarded as a fire. The flame sensor output using an Arduino is only the 10 bit ADC value.

How do can I convert this ADC value from the sensor to the IR wavelength? I really need help to know if this possibe or not.

  • \$\begingroup\$ Without commenting on the simplified application (i e. optical signal at > XXXnm ... implies fire), which I would also dig into -- you could at least implement that, with an optical filter in front of the wider range photodiode or phototransistor. \$\endgroup\$
    – Pete W
    Aug 2, 2021 at 18:07
  • \$\begingroup\$ Sounds like you need optical filtering. \$\endgroup\$
    – user16324
    Aug 2, 2021 at 19:13

2 Answers 2


I have read that if the wavelength bigger than 850 nm then it can be conclude as a fire.

That's not how it works. The phototransistor can't detect the actual wavelength, it's just sensitive from 760 to 1100 nm and can tell you that there's power within that range.

How do we convert this adc value from sensor to the IR wavelength?

You can't, because the ADC value contains no definite information on the IR wavelength whatsoever. Only intensity of the whole spectrum between 760 and 1100 nm.

Also, the light emitted by fire isn't single-wavelength light - there's never just "the IR wavelength" in there.

  • \$\begingroup\$ Thankyou sir for the answer i really apreciate that. I want to know is there a measurement unit we can use to convert the adc value that relate to the fire/flame?(example lux) Because I cannot just use the adc value for the project \$\endgroup\$
    – Mikhael
    Aug 2, 2021 at 15:05
  • \$\begingroup\$ I can't tell you what kind of flame sensor you want to build, sorry. \$\endgroup\$ Aug 2, 2021 at 15:07
  • \$\begingroup\$ arduinomodules.info/ky-026-flame-sensor-module. I use this flame sensor sir for my project and my supervisor told me that I cant just use the adc value as the fire parameter I need to convert it to some measurement unit, or maybe I just rely on the digital output for this kind of sensor? do you have any advice sir for me? thankyou and sorry for bothering you sir \$\endgroup\$
    – Mikhael
    Aug 2, 2021 at 15:22
  • \$\begingroup\$ the thing you linked to explicitly answer your questions. Why are you asking us about things that are explicitly answered there? \$\endgroup\$ Aug 2, 2021 at 15:45
  • \$\begingroup\$ @Mikhael Marcus answered your question (not possible to convert to wavelength). You should make this as the answer. If you have a new question, post it separately, or, if it is very similar to this one, edit your original post to clarify. \$\endgroup\$ Aug 2, 2021 at 15:52

It's a phototransistor which is sensitive around 760-1100nm wavelength. I think there is no need to sample the output with adc because It conducts within this wavelength range.


simulate this circuit – Schematic created using CircuitLab

Using a pullup resistor you may detect when the transistor is ON state, which detects flame.

  • \$\begingroup\$ thankyou sir for the answer. I used this flame sensor arduinomodules.info/ky-026-flame-sensor-module . So are using the digital output is better than the Analog for this sensor? \$\endgroup\$
    – Mikhael
    Aug 2, 2021 at 15:26
  • \$\begingroup\$ @Mikhael aforementioned sensor module has a way better approach than transistor circuit. You can adjust the sensivity also using this module. Use microproccessors digital input in order to receive sensor value. \$\endgroup\$
    – swer
    Aug 3, 2021 at 5:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.