'... the last one is very sensitive to noise'
They are all sensitive to noise, filtering reduces the noise. Some methods have filtering 'hidden' in them. For instance FFT processes a large amount of data, and then you use just one frequency bin, which is an implicit filter. If you use filtered data for your slope search estimation, then you will be more robust against noise.
Consider this. When the slope on one channel has the same polarity as the value of the other, the rotation will be in one direction, and when they are opposite polarity, the other.
How do you determine whether two values have the same polarity? Multiply them. A positive result and they are both + or both -, and vice versa. Or do XOR logic on their signs, whichever is quickest for the hardware instructions you have to hand.
So try this. Compute I slope at In by (In-1 - In+1), multiply by Q value Qn, and accumulate the answer. Repeat for subsequent ns as many times as required to reduce your noise to reasonable levels. The sign of the accumulated number indicates the polarity of the rotation.
You really are looking for someone who's already solved this, I suppose. But I don't know of any project, myself. So all I can offer are some thoughts to consider.
On spectrometers:
- For a spectrometer device, a DVD-RW (don't use DVD-R, as it will absorb substantial bands in the red region) provides 1350 \$\frac{\textrm{lines}}{\textrm{mm}}\$, so that is very cheap and readily available.
- Small megapixel digital cameras are also cheap. An array could also be used, but these days it seems an entire 2D camera is cheaper and more available. So I wouldn't bother with an array.
- Using a DVD-RW you can actually separate the yellow spectral lines of
mercury at 577 nm and 579 nm. (Not with a CD, though.) I've done this, myself, using a DVD-RW and a mercury-argon lamp.
- Wavelength calibration is cheap. Just get a mercury-argon lamp. You'll get the argon lines in the first minute or so, then the mercury lines will dominate later. From the combination of them, you can easily calibrate your camera pixels vs wavelength. Hg-Ar lamps used for calibration used to cost me about $8, but I expect they are more expensive now.
- Intensity calibration is expensive. You need a standard lamp, traceable to NIST standards, and these have to be recalibrated after 100 hrs use, or so. They are cheap bulbs, uncalibrated. But the calibration process costs real money. Then you have to set up a proper optical arrangement, too. But this is the only way to figure out just how each of your pixels respond to each of the wavelengths they are being hit with. Frankly, I'd try and avoid any of this and hope I didn't need it or could just apply a basic templated approximation of a standard lamp and not waste money on actual calibration, hoping that what I got was good enough. Or just not bother at all and use a rigged up equation and figure, "oh, well," and see how it goes. Chances are, you can make this step go away and still get useful results if you just think carefully.
- You probably can consider going from 450 nm to 750 nm, but you cannot hope to exceed an octave with a single grating. You may want some kind of filter involved so that you don't get mixed up spectral energies on the same pixels. Or just don't worry about it and do some experimenting.
- Optical baffling will be desired to avoid getting extraneous light where it isn't wanted.
- Tony just reminded me... you'll need a narrow slit -- about as narrow as you can make it. I prefer the use of two old-style razor blades that can be adjusted. One fixed, one movable. But for the card stock paper box, I just used an exacto blade 'very carefully' to create a narrow and uniformly narrow slit.
I've done all this using a sheet of paper (card stock) that I print out and then cut, fold tabs, use Elmer's glue, and create a box with baffles made essentially out of paper. The baffling uses special dark flocking to help absorb and block wayward light. The DVD slides in at the correct angle and a small camera is then placed at the exit. I've used this with my own eye to observe different lighting in the house and it works PERFECTLY well, in my opinion. I have no trouble differentiating between incandescent, fluorescent, and LED lighting sources. And the sun, for that matter. I tried a DVD-R and immediately saw a huge missing band in the red, which is why I'm telling you that you need DVD-RW if you care about that region.
I could publish some plans for all this, I suppose. Location of slit, angle of DVD, etc. While my box design uses the entire DVD-RW (because I wanted to be able to drop in other DVD media and/or a CD (at a different angle so I'd made two different insertion slots for that purpose), only a tiny part of the DVD-RW surface is actually involved (if baffled correctly.) So I also liked using the entire DVD-RW for that reason, as well, because cutting the DVD into pieces would stress it and I didn't want to do that, either.
Just by way of a little info, the box used a 70 mm vs 40 mm tilt for the DVD (1350 \$\frac{\textrm{lines}}{\textrm{mm}}\$) and 50 mm vs 40 mm for a CD (625 \$\frac{\textrm{lines}}{\textrm{mm}}\$.) The slit was positioned on the 40 mm face, positioned about 10 mm from one edge in either CD or DVD case.
On RGB:
The RGB sensor you mentioned has, as I expected to see, very wide acceptance of wavelengths in each of the three sensors. LEDs tend to have very wide response ranges (they emit and receive over a wide range of wavelengths.) That sensor has modestly overlapping responses. How well all that will work for you, would be a matter of experimentation, I think. You could apply some computer code, instead, using your curves and the response functions of the sensor to see if it would be serviceable. But I'm not going to even try and write it for you. Perhaps the best thing would be for you to knuckle down and buy the sensor and do some testing with it. It may be just fine for your needs. But I can't tell you yes or no, from a quick scan of it. I also haven't tried to do this with RGB, so that's another reason I can't promise anything here and you'll have to just try it for yourself.
I liked Eugene's comment about frequency, too. Incandescent bulbs (and I've tested this using a very sensitive instrument -- with tens of microKelvin resolution and hundreds of microKelvin accuracy traceable to NIST standards, as I work on such things) will vary about 3% of their amplitude during the AC cycling at 60 Hz. (Would be different with 50 Hz.) Fluorescents operate at mains frequencies and also at high frequencies (both are manufactured and used.) But their emissions are through phosphors, which often have fast response times. (Some phosphors are slow, order of millisecond taus due to depending upon forbidden triplet to singlet transitions. But many of them are quite fast -- microsecond taus.) You may have to do some experimenting here. But I think this could be fruitful, because you can design electronic circuits for very narrow bands if you want to. You'd have to worry about conditioning the signal so that you don't saturate the amplifier chain. But that's doable. I haven't looked at the frequencies used in modern LED bulbs, though. And I'll leave it to you to google up details there. All that said, I think Eugene's point has merit worth examining, as well.
Personally? I'd go with the DVD-RW because I have a lot of experience with doing that, know that I can do it easily, quickly, and cheaply, and because I think I could avoid the intensity calibration step to get where you need to go. The cameras are dirt cheap and so is the Hg-Ar lamp for wavelength calibration, periodically. It's almost no work at all. Plus, I already have walked around the house checking out different light sources with a hand-held card-stock box with no electronics at all and was perfectly able to see the differences in various light sources, by eye. So I know I can get there from here.
EDIT: A couple of images from an old fluorescent bulb. One of them across the spectrum and the other zoomed up a bit. Pretty cool separation of the mercury doublet there!

I specialized in binning LEDs for Siemen's OSRAM division years ago, as a contractor. So this stuff comes partly from that experience. We first used expensive spectrophotometers, but switched to Ocean Optics some time later (much cheaper.) But in the meantime I had a lot of fun with DVDs and CDs, used with all that fancy calibration equipment laying about. (Including disappearing filament calibrators, which I forgot to mention above.) Spent a LOT of my time studying human response reports prior to and since the CIE 1931 standard and the later ones in the 1960s. Also really enjoyed Edwin Land's work in the late 1970's and early 1980's -- very interesting stuff.
Best Answer
Since LEDs used as photodiodes are most sensitive to the colour they emit during normal operation, a basic colour sensor can be made using the LED in reverse and an opamp:
The circuit above came from this page. It can also be done the other way round - a much more detailed look at colour sensing using LEDs and light sensors is available here - this page details using a normal light sensor and different colour LEDs.
I couldn't find the app note mentioned in the comments, but this page seems to be quite a thorough treatment of the subject of transimpedance amplifiers. You can alter the bias across the LED to change response time/sensitivity.