in fish farming the fish are fed at a percentage of their weight. i measured the weight of the fish that i put into the tank, and i can remove the fish once in a while to reweigh them but that is very stressful to them. i would like to insert a laser into my fish tank, that can count the amount of time that the beam is interrupted by a fish- kind of like the lasers that are at the entrances to stores. i think there should be a strong correlation between the amount of time that the laser beam is covered and the weight of the fish in the tank. can someone help me out of what kind of laser to use? i read in another post (Underwater distance measurement/Sensing) that a 405 nm laser is good for underwater, but i don't need to know distance, just time the beam is interupted. i plan to run the whole thing with arduino thanks, tom.

  • 2
    \$\begingroup\$ This isn't exactly a trivial problem. For this to be effective, you're going to have to find some mechanical means to make sure the fish swim through an area single file, block the laser with their body the entire time, and swim at a constant velocity every time. Further, do you have any data that shows their is strong correlation between length and weight? \$\endgroup\$
    – Matt Young
    Commented Mar 21, 2015 at 17:57
  • \$\begingroup\$ @MattYoung From what I'm reading, Tom is building an experiment to collect such data. \$\endgroup\$ Commented Mar 21, 2015 at 20:25
  • \$\begingroup\$ hi, i weigh the fish periodically, once a month. the heavier the fish the bigger the fish- they're all the same type, so the body shape to weight ratio stays the same, if i measure long enough i assume i'll get a pretty linear relationship. the tank is 1m3, they won't have to be in line. \$\endgroup\$
    – tom
    Commented Mar 22, 2015 at 18:31
  • \$\begingroup\$ Could you estimate this through displacement? You know how much water you start with. Add fish and measure. Add water with a flow meter so you know how much new water you added. A control tank could give you an idea of your evaporation rate. Just a passing thought \$\endgroup\$ Commented Mar 24, 2015 at 0:24
  • \$\begingroup\$ The water displacement is measured but is a measure of the evapotranspriration from the plants growing in the system \$\endgroup\$
    – tom
    Commented Mar 25, 2015 at 5:25

1 Answer 1


It sounds like the hardware is probably the easiest part of such a project.

First, we know water is pretty much non-absorbing in the visible range (which is why water appears clear to the eye). So, any visible laser will work decently, assuming your water is pretty clean. If you'd like to be precise about it, here's the absorbance spectra of water:

absorbance spectra

The big dip in the center corresponds pretty closely to the range of visible light, and we note that the minimum absorbance is around 400-500nm, as you mentioned. So, pick up a laser diode such as this (out of stock atm, but you can find one on ebay or whatever easily), which is 532nm (close enough). Then, grab a photosensitive receptor (like this photocell, which happens to have a max sensitivity at around 500nm - but a phototransistor or any similar sensor would work also). Put the laser at one end of your tank, shooting through a clear window, and have the sensor at the other end acting as a detector. Hook up a simple MOSFET driver circuit for the laser, and read the voltage off the photocell on an analog pin - figure out where a good analog cutoff for on/off is, and you're pretty much set on the hardware side.

I expect the harder part of this project will be getting a good correspondence between the laser signal and fish weight - but if you collect enough data to get a decently smooth laser % time vs fish weight, you should be all set. Obviously you'll want to get this data by recording the laser data for a growing cycle, and manually annotating the graph with the fish weights - so you can try to get some sort of best-fit curve to use for future predictions.

  • \$\begingroup\$ thanks, i need to add 2 details- i don't want the light to be damaging in any way (eyesight or behaviour) the green laser is pretty strong and has warning about damaging the eyes. also, the tank is blue plastic, so i'll need a sensor that i can fasten in the tank underwater- but that is really just a hardware issue- i'll sort it once i know what laser/receptor set to put that is non-intrusive. any ideas? \$\endgroup\$
    – tom
    Commented Mar 22, 2015 at 18:34
  • \$\begingroup\$ If you're just worried about the power of the laser, you can adjust that to anything you like by limiting the current (such as by adding a larger series resistor). You could adjust it low enough that I imagine the fish wouldn't be too bothered. To completely avoid that, you'd need a laser that is outside of the spectra visible to the fish, and also not harmful to them - if they're similar to humans, infrared would be the way to go, but as you saw you'll deal with somewhat higher absorbance (and have to find another matching set of laser diode and detector - near infrareds are common tho). \$\endgroup\$
    – zplizzi
    Commented Mar 23, 2015 at 23:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.