Most fast light sensor for Arduino/ESP32

Hello,

What is the most fast light sensor module for Arduino/ESP32? Like GY-30, but much much faster, which can detect light at speeds up to 10kHz, 100kHz, 1MHz? Better digital with SPI or at least I2C interface, maybe analogue also. Better with higher max sensitivity range.

What you can say about MAX44409, TEMT6000, VEML7700, OPT101, TCS34725, SparkFun VEML6030, which of them you can recommend?

Or maybe better just use a board like this: https://aliexpress.ru/item/1215447668.html and add just re-solder to it the most fast photodiode?

brov:
Hello,

What is the most fast light sensor module for Arduino/ESP32? Like GY-30, but much much faster, which can detect light at speeds up to 10kHz, 100kHz, 1MHz? Better digital with SPI or at least I2C interface, maybe analogue also. Better with higher max sensitivity range.

What you can say about MAX44409, TEMT6000, VEML7700, OPT101, TCS34725, SparkFun VEML6030, which of them you can recommend?

Or maybe better just use a board like this: https://aliexpress.ru/item/1215447668.html and add just re-solder to it the most fast photodiode?

You are not looking for "light speed" sensors. The speed of light is a constant.
You are looking for sensors with "response time" and "recovery time" that will meet your specifications at a specific light wave length.
I have never seen such parameter associated with hobby related devices. And even if they were, there is no reason to believe they would apply to the device you purchased.
You have a list of sensors, so what have you found that meet your specifications? Buy it and try it.
Good luck,
Paul

Paul_KD7HB:
You are not looking for "light speed" sensors. The speed of light is a constant.
Buy it and try it.

I never ask for a "light speed", before posting a such crap you must learn to read carefully, or you always will look pathetic.

Learn the difference between “speed” and “frequency” and just maybe you won’t look quite so ridiculous.

TheMemberFormerlyKnownAsAWOL:
Learn the difference between "speed" and "frequency" and just maybe you won't look quite so ridiculous.

You, as all self-confident fools, don't know anything worth learning... you just a pointless piece of useless malice.

I’ll leave you to your sense of entitlement - you’re obviously very happy together, and that’s a nice thing on St Valentine’s Day.

Are you wanting to measure light levels rapidly, or just detect changes from light to dark and back again?
If the latter you are way more likely to find something high-speed, as this is what comms photo-detector
circuits do. (google will find 100's of examples)

If the former, then SPI is way faster than I2C, so that is probably the way to go (even if its a photodiode
and amp into an external ADC rather than a specific light sensor chip). You can get SPI ADCs that can
read upto about 500kSPS.

If you say what you are trying to do, rather than asking questions about how to do it, there's less
chance of hitting the xy-problem.

For instance the amount of processing power and memory needed is a big issue when sampling
at high speed.

I need to measure light levels rapidly.
Agree about SPI which is faster than I2C.
Which photodetector you can recommend and how I can connect it to Arduino/ESP32 via SPI? Can you recommend ADC module?
BTW maybe will be easy to just use an analog photodetector + build in ESP32 ADC?

OP does not really state the requirements of the project. I use photodiodes to detect light with an ESP32. The project tracks the sun and moves solar cells. An ESP32 reading analog values, via the ESP32 A:D API, is faster than reading A:D converters on a SPI based AD converter.

Idahowalker:
OP does not really state the requirements of the project. I use photodiodes to detect light with an ESP32. The project tracks the sun and moves solar cells. An ESP32 reading analog values, via the ESP32 A:D API, is faster than reading A:D converters on a SPI based AD converter.

Can you tell the exact max speed (measurements per second) which ESP32 A:D can handle?
Which photodetector you can recommend for a such task? Can it be just a simple photodiode as Vishay BPW21R https://www.vishay.com/docs/81519/bpw21r.pdf or similar from Osram SFH2440 SFH2701 etc?

brov:
I need to measure light levels rapidly.
Agree about SPI which is faster than I2C.
Which photodetector you can recommend and how I can connect it to Arduino/ESP32 via SPI? Can you recommend ADC module?
BTW maybe will be easy to just use an analog photodetector + build in ESP32 ADC?

“rapidly” isn’t a specification - numbers and units please, for bandwidth, accuracy, precision etc -
without real numbers there’s nowhere to even start choosing components - one person’s “rapidly”
might be anothers “glacially slow”, given the number of orders of magnitude out there…

brov:
Can you tell the exact max speed (measurements per second) which ESP32 A:D can handle?
Which photodetector you can recommend for a such task? Can it be just a simple photodiode as Vishay BPW21R https://www.vishay.com/docs/81519/bpw21r.pdf or similar from Osram SFH2440 SFH2701 etc?

I cannot tell you the fastest the ESP32 can do the A:D thing.

I use the Osram photodiodes.

If you really need fast, which I doubt, then you can program one core just to take A:D readings leaving the other core to do the other things.

And, seriously, photodiodes can only respond so fast.

So what's fast?

Guys, I write "what does it fast" at FIRST post:
"which can measure light brightness at speeds up to 100kHz or even 1MHz".
Such fast.

What do the spec sheets you've been reading indicate about A:D speeds?

I'm a newbie at this area, can you explain it in details, please?

[Data sheet[/ur/] is

A data sheet, data-sheet, or spec sheet is a document that summarizes the performance and other characteristics of a product, machine, component (e.g., an electronic component), material, subsystem (e.g., a power supply), or software in sufficient detail that allows a buyer to understand what the product is and a design engineer to understand the role of the component in the overall system. Typically, a datasheet is created by the manufacturer and begins with an introductory page describing the rest of the document, followed by listings of specific characteristics, with further information on the connectivity of the devices. In cases where there is relevant source code to include, it is usually attached near the end of the document or separated into another file. Datasheets are created, stored, and distributed via product information management or product data management systems.

Depending on the specific purpose, a datasheet may offer an average value, a typical value, a typical range, engineering tolerances, or a nominal value. The type and source of data are usually stated on the datasheet.

A datasheet is usually used for commercial or technical communication to describe the characteristics of an item or product. It can be published by the manufacturer to help people choose products or to help use the products. By contrast, a technical specification is an explicit set of requirements to be satisfied by a material, product, or service.

](Data sheet - Wikipedia)

An example is the ESP32 API and the ESP32 A:D API, on how to program for the A:D converter:

The ESP32 integrates two 12-bit SAR (Successive Approximation Register) ADCs, supporting a total of 18 measurement channels (analog enabled pins).

The ADC driver API supports ADC1 (8 channels, attached to GPIOs 32 - 39), and ADC2 (10 channels, attached to GPIOs 0, 2, 4, 12 - 15 and 25 - 27). However, the usage of ADC2 has some restrictions for the application:

A spec sheet allows you to find your own answers.

I would think that someone with such high analog to digital converter specs, you'd have read one or 2 but I did not expect you to not know of their existence. Which, also, says you will find doing the A:D thing will be difficult.

Like if you'd care to read:

ESP32 DATA SHEET, you'd find cht like table 7:

RTC controller – 200 ksps
DIG controller – 2 Msps

Which would have saved you days of waiting for someone else to do it for you.

Which means that the A:D converter controlled by the 2nd processor, ULP, can sample at 200K per second and the A:D converter ran by the main processor can do 2 MILLION samples per second. I am going to bet, to get those speeds, you'll need to program against the ESP32 API instead of using the Arduino ESP32 core.

As a note the ESP32 API is easy to program with the Arduino IDE; better get to reading.

A photodiode is the fastest I know of. Is 40GHz fast enough for your application?
Howevere you would need a faster Arduino.

Not being critical, but if you explain WHY you need a fast photodetector we may be able to be more help.

Idahowalker
Some peoples at internet make a wrong conclusions which based more on their aggression, than on a real facts. Please, don’t fall into a such behavior, it does no honor.
Of course I read datasheets…
It’s obvious by my links to the most fast cheap photodetectors…
Of course I’ve seen the main ESP32 specs, but there was NO exact info about “ADC max effective frequency/speed-per-second nor for many, nor for one per ADC etc”, also I just don’t know what “RTC/DIG controllers” means so I can’t be sure that those numbers are actual for my question.
So I ask to clarify it by a professionals…
Thus your 2 pre-previous posts are just aggressive without any reasons. :\

Still big thanks for ADC speeds explanation and API recommendations at your last post! GJ

johnerrington
Wow! GHz is toooo fast! :smiley:

Friends, help with the last question, please:
Thus to get a such fast light measurement with ESP32 I need only ESP32 itself + ANY fast photodetector and connect it directly to ESP32 ADC? Or there must be some other elements between them and to make them work correctly?
Am I need something as a tune-module like those?:

And I can use ANY fast photodetector which works at 3.3V or it must have some exact features?