AirGradient Forum

How to Disable Blinking LEDs on DIY v4 (S8 & Wemos)?

Hi everyone,

First off, I just want to say a massive thank you to the entire AirGradient team and community. The open-source DIY project is absolutely fantastic, incredibly valuable, and very well documented. I really appreciate the effort that goes into making this available!

I’ve recently finished building my DIY v4 monitor. The soldering seems to have gone okay, and the unit is up and running, sending data, which is great!

I was looking into the configuration options, specifically to minimize light output, as the monitor is in a bedroom. I found the config setting to turn off the OLED display – perfect!

However, I notice there are two other LEDs on the components themselves that blink periodically (seems like roughly every 4 seconds or so):

  1. A yellow/orange LED on the S8 CO2 sensor.
  2. The blue onboard LED on the Wemos itself.

While they aren’t super intrusive, I’d love to disable them completely if possible for minimal light pollution at night.

I’ve looked through the main AirGradient Arduino source code, but I couldn’t spot an obvious configuration flag or section specifically designed to disable the blinking of these particular LEDs.

My question is:

  • Is there an existing known method I might have missed to disable them?
  • If not configurable out-of-the-box, could anyone point me towards which part of the code, or perhaps which underlying library (e.g., the library for the S8 sensor, or WiFiConnector), is likely responsible for triggering these blinks? Understanding the source would help me investigate how I might be able to modify the code locally to disable them.

Any guidance would be greatly appreciated!

Thanks again for this amazing project!

I’m pretty sure the LED is hard wired to one of the pins so not expecting there to be code that will stop it.

You could put some black electrical tape over the LED to keep it always off.

Thanks! Wemos LED is the easiest to cover with tape. But I hoped it’s also likely meant to be programmable, based on the existence of the blinker test firmware.

With the S8, the issue is that its LED is located behind the gas membrane. Covering it might interfere with the sensor’s readings—though that’s just my assumption.

It is programmable but not completely independently. The LED is connected to pin D4 (aka PIN2), so any time that pin is used, the LED will come on. The blink application just uses this pin.
The AirGradient is configured to use this pin as part of the UART serial port to talk to the S8, so any time it is communicating with the S8, the LED will come on.

I haven’t looked at the LED on the S8, but it hasn’t been too noticeable to me. I have a sensor on my nightstand and I only notice it when I’m actively looking at the device, but it hasn’t been bright enough for me to notice while laying in bed. But everyone has different levels of sensitivity/annoyance at that kind of thing.

Instead of covering the LED on the S8, maybe you could cover the inside of the case where the LED would shine through, so you aren’t modifying the sensor itself?

Thanks for clarifying, MallocArray! Yeah, it’s definitely true that sensitivity to such things varies between people. In my case, those two LEDs feel like airline beacon lights at night :sweat_smile: . I guess I’ll start by physically covering the inside of the case where the LEDs shine through, as you suggested. If that doesn’t turn out effective enough, I might have to resort to carefully unsoldering them, though I’m really hoping to avoid risking any sensor damage.

Really appreciate your input and ideas!

were you able to solve this in any way? i am having this same problem. bought 3 airgradiants for bedrooms but they are unesuable because of the co sensor blinking :frowning:

We stopped selling the DIY v4 with the Wemos for a very long time which had strong LEDs.

So with the current monitors now only the very faint yellow blinks of the S8 should remain which are normally not noticeable at all.

Wemos LED was easy: I’ve put 4-5 layers of black electric tape directly on it and can no longer see it.

S8 is tricky since LED looks to be located somewhere under the gas membrane. I ended up putting a T-shirt around the whole unit, so that it’s surrounded on all side but the air intake grill. So light exposure is in a cone coming from the air intake. I placed it so it blinks away from my face and I get only a faint reflection from the far wall.

I did a quick Google search, but did not find other discussion on how to disable S8 LED. I’d write to the manufacturer, maybe they know, but the current solution is good enough for me.

So with the current monitors now only the very faint yellow blinks of the S8 should remain which are normally not noticeable at all.

@Achim_AirGradient , I have the latest model and the s8 blinking is very noticiable to me in a pitch black room

I did a quick Google search, but did not find other discussion on how to disable S8 LED.

@Wou i did the same searching. I hand’t thought to try and hit up manufacture. the most i found is that depending on which pin you are using to query for the data, the led is directly soldered to that pin and will blink every time its quried, so only way to solve is use some other pin (unclear if another pin can give the same data without the blinking) or to tape it up up without blocking the air intake. Im gonna try that.

thanks for the responses you both.

I don’t think you can disable it. It starts blinking as soon as the sensor receives power.
Maybe putting something around it that still lets some air through could be an option.