SparkFun Human Presence Sensor Breakout - AK9753 (Qwiic)

This is not your normal Passive Infrared (PIR) sensor! The SparkFun AK9753 Human Presence Sensor Breakout is a Qwiic-enabled, 4-channel Nondispersive Infrared (NDIR) sensor. Each channel has a different field of view, so not only can the AK9753 detect a human, but it can also tell which direction the person is moving. To make it even easier to use this breakout, all communication is enacted exclusively via I2C, utilizing our handy Qwiic system. However, we still have broken out 0.1" spaced pins in case you prefer to use a breadboard.

The onboard AK9753 is a digital sensor giving you a 16-bit digital value over I2C. Each of the four sensors outputs the IR current in pico-amps. A PIR reading can vary from roughly -200 (no human present) to 1500 when a human is detected standing in front of a given channel, but it varies due to environmental factors and other heat sources in view. We’ve written a full library to control the sensor and included examples showing how to output the sensor readings you need, making this breakout even easier to handle!

Note: The I2C address of the AK9753 is 0x64 and is jumper selectable to 0x65 or 0x67. A multiplexer/Mux is required to communicate to multiple AK9753 sensors on a single bus. If you need to use more than one AK9753 sensor consider using the Qwiic Mux Breakout.

The SparkFun Qwiic connect system is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.

  • Qwiic-Connector Enabled
  • Quad infrared sensor module
  • 16-bit reading on all four channels
  • Digital I2C Interface
  • Voltage: 1.7V to 3.3V
  • Extremely low current: 100µA

SparkFun Human Presence Sensor Breakout - AK9753 (Qwiic) Product Help and Resources

Qwiic Human Presence Sensor (AK9753) Hookup Guide

January 18, 2018

How to get started with your Qwiic enabled AK9753 Human Presence Sensor.

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

2 Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #482824 / about 6 years ago * / 2

    It would be nice to have the lenses included so we can test the difference with and without. I'm not seeing much signal past like 1 meters for a normal person wearing clothes. I think the lens would help with the IR gain as the datasheet says.

    Is there a way to increase the Gain via code to increase the sensitivity?

    Where can get the lenses? Could you guys send me one, I bought the sensor.

  • Member #226400 / about 6 years ago / 2

    Looking at the AKM website it appears that a lens is needed for this sensor to be effective at any distance. They list a W30 lens for wall mount applications. Is a lens included in this kit? Do you have this lens available?

    • We don't have this lens available currently, but I did quite a bit of testing on the board with and without the lens and there was only a small increase in functionality with the lens added, and in most use cases, no increase in functionality, so we decided against gluing them on.

  • erff / about 2 years ago / 1

    What is the range?

  • Zero Ohm / about 5 years ago / 1

    Hi, Is this module able to detect a motionless human presence such as a sleeping baby ?

    • santaimpersonator / about 5 years ago / 1

      Hi there, it sounds like you are looking for technical assistance. Please use the link in the banner above, to get started with posting a topic in our forums. Our technical support team will do their best to assist you.

      That being said, as specified in the datasheet, this is an IR sensor. Kind of similar to those used in burglar motion detectors, but a little fancier. Unfortunately, the simple answer would be no.

  • vijay2 / about 6 years ago / 1

    I bought it without the quickness shield for Arduino. Can I use it without that? Novice and any help appreciated.


  • Member #571 / about 6 years ago / 1

    Can I use this sensor to get a rough estimate of distance from a human?

Customer Reviews

3 out of 5

Based on 2 ratings:

Currently viewing all customer reviews.

5 of 5 found this helpful:

This needs the Lens for best results

If you want good measurements of people further out than 3-4 feet then you need the lens. The company who makes the lens will send you some but they are switching manufactures right now so the new lenses will be available in the future sometime.

The cost for a single lens will probably be in the 3-6 dollar range. This is probably why Sparkfun did not include them or even attempt to order them since they come from a separate different manufacturer.

I used a copper tube to get better distance but the lens is what you really want.

The sensor works as it should otherwise just don't expect a meter of range as it is sold.

3 of 3 found this helpful:

Too much fluctuation in readings

The device is easy to interface and writing an Arduino program (I used an ESP-01) is straight forward with the provided library. However, the sensor readings fluctuate a LOT and setting a single threshold for detecting when a human is present or not is a nightmare.

My system consists of an ESP-01, an AK9753, a LiPo battery and a MCP1700-3302E (a 3.7V to 3.3V Low Dropout Positive Voltage Regulator). The software uses the AK9753 library and a MQTT library. The idea is for when someone enters the room, the ESP-01 sends an MQTT message to a broker to turn the lights on. Again, with the reading fluctuations, it is practically impossible to set a threshold for "human present".

In my program, I included a piece of code to constantly (every minute) send the current readings to the broker so I can monitor an empty room, average the readings over time and choose a threshold. But the readings vary from -3500 all the way to -1000 for no apparent reason in 1-2 hours -- again, that is for an empty room, without any heat source or possible interferences. Since a human at about 0.5 to 1m distance causes an increase in the readings of about 1000 (e.g. if the empty room causes a reading of -3200, the same room now with a human standing 0.5m away would lead to approximately a -2200 reading), so, setting the threshold to, say, -2500, only works while the fluctuations don't randomly hit -2500. After that, the light starts to turn on/off without anybody in the room.