Hi, it has been a while since I checked the forum, so my apologies for the slow reply. As Steven mentioned in a comment, the cost of lab grade, off the shelf optical sensors for diagnostic spectral wavelengths have come down a great deal, and the sensor can be controlled by a general purpose microcontroller, with the analysis (graphing, matching) etc against open reference datasets done in software. I am working on a project to do just that, and its is coming along quite nicely (after lots of fits and starts). I will post all code and hardware specs/wiring diagrams on github when it is complete, but as it stands, the hardware works remarkably well, and the analysis/graphing code is pretty much done (not pretty, but functional). The last step that I will complete before making opensource is the matching versus public, reference datasets. This too is professing quite well, it now just seems a matter of tweaking the algo in software. Attached ate some pics of the current output, note the graphing is all written by me (with the scientific standard matplot in python), and I can make it look any way I want, which is cool because I’m not constrained by current spectrometer conventions. The code does save the raw data so 3rf party tools can be used for analysis/visualization, but I wanted one simple graph that shows both reflection and absorption, the former in a line graph with intensity values versus wavelengths on the graph axis, and the later in bar format, where the absorption prominence (percent of relative adjacent wavelengths absorbing spectrum) is denoted as thickness, intensity as height, and obviously the spectral range on the horizontal access. The idea is to give one view that sort of emulates a passive optical spectrascope, and a digital spectrometer. I hope that makes sense.
The sensor I am using has a range from 400-950nm which is far more than sufficient for detailed analysis (simple identification can be done by analyzing just a handful of diagnostic wavelengths, but i’m going all-in, as I want to ID treatments, origins, etc. If reference data exists, it can be identified, mineral or otherwise.
Images below are from spectral output and analysis tools. I 3D printed the case and it works great. I even found a remarkably absorbent black enclosure interior surface material that in terms of absorbance, can’t really be beat (see Musuo Black fabrics and paint).
I see not technical reason at this point where lab grade spectrometry cannot be made easily affordable, and when opensourced, I am quite sure that community will greatly enhance at a rate that would be difficult to achieve with closed, proprietary tech. If you are interested, I’ll share the github link when complete. I do not think such instruments need to be exclusive to labs and academic institutions. They should be available to as many people as possible, and in theory, the data generated can greatly contribute to a he current reference data archives.
.