In my tutorial you wil find a circuit for a photodiode amplifier. (reply #4)
However you would need to use a fast op amp, eg ad797.
You still havent told us WHY you want to do this. If you keep it a secret we wont be able to provide focussed help.
In my tutorial you wil find a circuit for a photodiode amplifier. (reply #4)
However you would need to use a fast op amp, eg ad797.
You still havent told us WHY you want to do this. If you keep it a secret we wont be able to provide focussed help.
johnerrington
Big thanks for your advise and tutorial!
Please, treat with understanding to the individual "secret" developments, it's not forbiden.
I just need to measure light brightness at 1Mhz speed via ESP32 for a scientific tasks, that's all what really important at this topic, isn't that right? I can give some money gratitude for the complete solution.
BTW what is the max speed (Hz) of TCS34725 light brightness measurement?
Brov
You are a bit rude when people just want to help.
You should provide some specific information about the nature of your light source. What is the wave lenght your are measuring, and what is the expected unit coming to your WhatEverSensorYouPickForYourProject, and how much of it. My english skills, sorry.
I have my drink and popcorn ready for your next pack of information...
Cheers,
Kari
I can give some money gratitude for the complete solution.
You can ask the moderator to have this thread moved the the Gigs and Collaborations forum section, where you find people who are happy to write code for pay.
what is the max speed (Hz) of TCS34725 light brightness measurement
That information can be found in the data sheet. You would of course choose the shortest possible integration time, and take into account the speed of serial communication.
I just need to measure light brightness at 1Mhz speed
At what wavelength(s) and what intensity range (uW/cm2)?
This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.
Hello,
I need to get data from very fast sensor up to 1'000'000 times per second (1MHz). Although at first glance any modern processor, starting with Arduino and ESP32 and RaspberryPi, etc., should be able to cope with this because of 16MHz CPU clock speed and above, but according to this tests even the most fast and powerful Raspberry 4 CPU can only handle about 50'840 GPIO (51kHz):
https://magpi.raspberrypi.com/articles/raspberry-pi-specs-benchmarks
The RPi4 has an operating system, which gets in the way of making fast measurements.
You can easily sample a digital port and store data in memory at 1 MHz using something like the Arduino-compatible Teensy (3.2 or 4 series).
ADCs are typically much slower, and to capture a 1 MHz analog signal, you should sample at a frequency of at least 10 MHz.
Hi,
What is the very fast sensor?
Can you please post a link to data/specs?
What is the application?
Thanks.. Tom..
1, 2, & 3 are all different things.
What do you really need to do?
You seem to be confusing two things (at least).
The benchmarks for GPIO in your item 1 presume the pins are being manipulated by software, perhaps through some layer of software abstraction (e.g. Arduino's "digitalRead()"). For the raspberrypi in particular, these are usually manipulated through Linux OS calls which can be very much slower than the raw hardware capability. The specific benchmark you link is Python (an interpreted programming language) manipulating GPIO pins through the OS, which, while being an interesting physical computing test, is a silly way to go about bit banging a high performance serial interface because of the multiple layers of abstraction.
In your item 2 you talk about specific serial interfaces. These are usually implemented in hardware specific to the interface which twiddles the pins largely autonomous from the CPU proper. Unless you are implementing one of these interface protocols using "bit banging" without specific hardware support, the software controlled GPIO speed is not the relevant specification. The benchmark for the USB port is given in the same write up you link and is on the order of 30 MBps for all but the RPi4 which is in excess of 300 MBps for the USB3 ports.
In regard to your item 3, there are many ways to build analog data capture / oscilloscope-like functionality around microcontrollers. If that's what you really want to do, it might be helpful if you describe the "very fast sensor" and we go from there.
MrMark and jremington - thank you very much for fast and complete explanation of this misunderstanding (digital/analogue, hardware/OS-controlled)! Special thanks for Teensy 4.0/4.1 recommendation - when it looks similar to ESP32-Sx, it's 4-5 times more powerful, wow!
I have a special in-lab project at which we need to measure and log a very fast light drops and downs like oscillogram, now at speeds up to 1MHz, but later maybe even more faster, up to 1GHz maybe. At this project also will be 3-4 simple&slow sensors. I need to control results on the fly at TFT display and save log to SDcard or internal flash memory.
From your answers I've understand that to achieve such speeds sensor must be digital - OK, thanks.
Firstly I've try Arduino Nano 3.0 but its memory was not enough.
Then I've try ESP32-S2 (have some from another project) - it have 2 problems:
E1) It have CPU with only 1 core with only 1 thread and because it must control everything Iām afraid that when ESP32-S2 will control other devices (as screen, memory, SD, WiFi, etc) it can make delays and lags to the main sensor, what for a such high speeds as 1MHz will make data unstable??
E2) When my specific ESP32-S2 board have almost all what I need: SDcard, display, WiFI - it still lack of any close-range data connection as Bluetooth or just cable Ethernet. Not sure is it possible to open ESP32-S2 onboard SDcard via USB connection at Windows as folder thus don't use any network for simple log files transfer to PC??
About Teensy 4.0/4.1 - when in terms of CPU performance it looks superior over ESP32, it also have important problems:
T1) I can't find any "all-in-one" Teensy 4 boards with display, WiFi, etc.
T2) It's price about 2-3 times higher than cheap ESP32-S3 "all-in-one" boards.
T3) At Teensy 4 specs I've found that when it have only 1 core it have something like "2 threads" - 2 commands per cycle. But it's not clear does it support "app priority" so set main very fast sensor to work always consistently evenly or task with other devices as display, SD, network, etc can again add some delays and lags, thus make oscillogram unstable?
So after all best price/functions/performance is still a new version of ESP32 - S3. What do you think - which light sensor is better to add to this board to get 1MHz or even max faster oscillogram? (Better without needs of additional external power.)
How many bits, which protocol?
For Uno:
I2C in Fast mode can transfer at 1 MHz.
UART can transfer up to 2 MHz.
SPI can transfer up to 4 MHz.
Then again: how many bits per sample, which protocol?
With 8 bit per sample a serial clock of 8 MHz (at least) is required.
And how many samples do you want to store? Which amout of memory is required?
What is the source of the light you are measuring and what causes it's amplitude to vary?
Your problem requirements do not seem well constrained from what you've told us so far making it difficult to say anything sensible about what hardware might be applicable.
Hi, @brov
Have you got a suitable sensor with over 1MHz response?
What is the sensor?
Please post a link to data/specs.
Can you please tell us your electronics, programming, arduino, hardware experience?
Thanks... Tom..
MrMark and TomGeorge
Before ask a new questions, please, answer to previous questions E1-E2, T1-T3.
Not sure. I'm asking for recommendations, it means you can recommend all this - how many bits, what bus, which board, etc is better for a such task.
As long as you cannot specify your project more precisely:
Buy a scope.
Most of Arduino fans acts as a classic nerds which don't understand that not all people here must know all this details. I say completely clear - I need to register light drops&downs up to 1MHz. Need display, log to memory, close connection for file transfer. That's all! I'm NOT a specialist at this area and CANNOT establish strict conditions for the implementation of the task just because I DON'T KNOW which platform+sensors+etc is better!!! Obvious details which does not add anything - visible specter, light is fast and have standard light physical speed, 3-5V as most sensors, etc. Nothing really useful. Thus I asking local professionals for recommendations:
We need to know what your purpose is to give you information about what hardware to suggest.
Q1 and especially Q2 please.
Thanks... Tom..