Grove Sunlight Sensor - minimum values are 255 and not 0

I have purchased the grove sunlight sensor:

I connected it to a nodemcu 8266 and it’s working, but the minimum values don’t make much sense, the lowest reading I get on both the IR and Visible light is 254-262, even at night, which doesn’t make sense as according to the list provided in the link:

  • Dark night: 0.001—0.02
  • Moonlight night: 0.02—0.3
  • Cloudy day indoor: 5—50
  • Cloudy day outdoor: 50—500
  • Sunny day indoor: 100—1000
  • Suitable for reading: 500—600
  • Home video camera: 1400

Does anyone have any idea why the minimum values are not 0, or close to it?


Because there is no absolute darkness. It’s common sense in physics. @Tsaadon

Thanks for replying, I understand that, but according to the values Grove supplies, 250-260 lux is a “sunny day indoor” or “cloudy day outdoor”, while I had those reading in the middle of the night in a dark area, without any street lights or anything light that…

Moreover, even if I put the sensor in a closed dark box it still doesn’t go below 250, it seems like it’s the absolute zero of the sensor in my case, anyone else had that?

Thanks for your feedback. I’m sorry that I didn’t answer your question carefully before. We are going through Labor day, and we will actually test this sensor on May 6th. Your feedback is very important, we must ensure the accuracy of the sensor values. @Tsaadon

Thanks, I’ll be happy to get updates on your results.

@Tsaadon I seriously doubt the correctness of this data.The Wiki says this data comes from Wikipedia, but it doesn’t actually have this reference.


I do seem to have the same problem. Even when I place the Gove Sunlight sensor in a box, with no holes in it, the lowest value that I can get is 259 for visual light, 262 for IR and 0,02 for UV (with the example code from the SI114X library). When I take it out of the box and place it near a window, it goes back up to around 320. When I go outside and measure on a very cloudy day, it gives me between 400 and 500 visible light.

When I cover it with a piece of filter that filters about 50% of the light, it also does not go below the 259 for visible light.

So, it seems that it does measure at least the cloudy day outside correct, and probably also the near window light measurement.

Anybody any idea how to make it measure lower light conditions? For my project I would need to have data below the 300 lux… Or maybe someone knows a better sensor to use with the Arduino UNO board and the Grove shield?

My test setup: An Arduino UNO board with Grove Base Shield, Grove Sunlight sensor in the most left I2C port (but have tried others with the same result)

Just to be sure, I use this code:

    This is a demo to test Grove - Sunlight Sensor library


#include <Wire.h>

#include "Arduino.h"
#include "SI114X.h"

SI114X SI1145 = SI114X();

void setup() {

  Serial.println("Beginning Si1145!");

  while (!SI1145.Begin()) {
    Serial.println("Si1145 is not ready!");
  Serial.println("Si1145 is ready!");

void loop() {
  Serial.print("Vis: "); Serial.println(SI1145.ReadVisible());
  Serial.print("IR: "); Serial.println(SI1145.ReadIR());
  //the real UV value must be div 100 from the reg value , datasheet for more information.
  Serial.print("UV: ");  Serial.println((float)SI1145.ReadUV()/100);

Did Seeed ever provide a useful answer to this problem? I also get the same readings for the Grove Sun sensor at near darkness levels. It makes this sensor useless for the student FarmBeats projects. In addition Seeed replaced version 1 of the Grove Sun Sensor with Version 2. It uses a different chip based on the SI1151 and not the Si1145. The Arduino software library demos no longer work and you can not replace the Version 1 sensors in Farmbeats kits with Version 2. New software code is required yet when you order Si1145 based sensors from Seeed they now supply you with Si1151 chips. Looking up the Si website for Si1151 it does not look like it supports uv detection. Did Seeed get this wrong?

Hello, I have inquired that there has indeed been a chip replacement, and I am doing related tests. I will reply to you as soon as possible.

Sorry to keep you waiting, we have updated the latest chip 1151 library and code on the wiki.
We have updated the latest tutorial documentation on the wiki, thank you for your efforts to improve our product documentation, and once again apologize for the inconvenience caused to you.

I recently (April, 2022) purchased a Grove Smart Agriculture kit for Raspberry Pi4. I don’t plan on running the FarmBeats software; I do, however, plan on usin Seeed’s driver software for the sensor chip. The label in the package indicates that the kit was shipped with the older si1145 chip. As reported by others in this thread, I am also getting a minimum value of 255, not 0, for the visible light measurement. Is the chip and driver code performing as expected? Is the minimum value of 255 due to a limitation of the older chip design?

Thank you.

Hello, although we have updated the content of si1151, but the code of si1145 is still retained, you see if you download the code library of si1145 and use its sample code.

Apparently the Si1145 chip is not very good. Others have reported issues with the chip…for example see; this blog post reports:

“In terms of raw sensitivity is also isn’t very sensitive either! It does have a decent dynamic range, but the range is all on the high intensity side. It takes about 100mW/mm^2 to max out the sensor, much higher than raw sunlight. What makes it seem like it is more sensitive than it is, is that the damned thing never reports 0, even when in perfect darkness! I put the sensor inside a Lead Shielded “pig” and still got readings of ~254 on the IR and Vis channels.”

Does the si1151 address the problems reported in the blog I reference above?

It is certain that the accuracy of si1151 will be improved. But as to whether it will show the value of 0 in a dark environment, I still quote our colleague’s answer that there is no real darkness in this world.