# Digital-Spectroscope
**Repository Path**: ramonly/Digital-Spectroscope
## Basic Information
- **Project Name**: Digital-Spectroscope
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: LGPL-3.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-12-10
- **Last Updated**: 2025-12-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# DIY Digital Spectroscopy
This repository contains free digital spectroscopy software and 3D printable .3mf files (by Davis Fay and Bernard Markus) for an Arducam + 10deg-20deg lens digital spectroscope. Uses stock 1000 line/mm diffraction grating sheets over the lens. The slit uses single edge stainless steel razor blades glued to an adjustible front plate for precise slit width control, we achieved <0.05mm easily with a spacer.
### [Project Review Paper (draft)](https://docs.google.com/document/d/1jqOdnaSaDtLiG4n5NSiPDjHjF8f8xg1o8EnSWcibRvs/edit?usp=drive_link)
## 3D Printing:
- [3D Prints](./3D_PRINTABLE/Main%20Modules/)
- [Arducam Spectrometer Assembly Instructions pdf](./3D_PRINTABLE/Arducam%20Spectrometer%20Assembly%20Instructions.pdf)
- [Smartphone Spectrometer Assembly Instructions pdf](./3D_PRINTABLE/Smartphone%20Spectrometer%20Assembly%20Instructions.pdf)
## Additional Resources
- [Spectrometer Machine Learning Identification Demo](https://github.com/joshbrew/cameraId-wonnx-wasm)
- [Spectrometer Workbench Demo](https://camspectrometer.netlify.app)
- [Py Spectrometer by Les' Lab](https://github.com/leswright1977/PySpectrometer2) - software should work out of the box with the USB camera!
- [Original Theremino DIY Guide](https://www.theremino.com/wp-content/uploads/files/Theremino_Spectrometer_Construction_ENG.pdf)
- [DIY Hyperspectral imaging paper](https://www.mdpi.com/2313-433X/7/8/136)
We are working on a web based hyperspectral imaging tool on top of a proof of concept identification pipeline.
### Revision 2 Phone and Arducam Mounts by Davis Fay:
### Phone Hyperspectral Imaging Results:
### Revision 1 by Bernard Markus:
|
|
|
|
|
Chocolate bar wrapper hyperspectral scan:
|
Make sure the diffraction grating is aligned vertically with the slit. The camera rotation should be so that the image is horizontal, you can have it aligned right to left or left to right for increasing wavelength at your preference.
## Software demo
Perform digital spectral decomposition in your browser!
[ONNX Camera ID Demo](https://github.com/joshbrew/cameraId-wonnx-wasm) for a real time video image classifier demo, which will analyze averaged frames from your digital spectroscope and run results through a classifier or let you generate datasets on the fly. Also links to the training and exporting software for creating compressed XGBoost models from your dataset.
This repo comes with a digital spectrometer workbench prototype, works with any webcam or image/video uploads. This is a pre-alpha functional test. See the live demo at https://camspectrometer.netlify.app built directly from this repo using Netlify.
To run:
`npm start` or `tinybuild`
Or `npm i -g tinybuild` then the above command.
Software example (cropped):

My first test of a tabletop spectrometer using a 1080p wifi cam, 1000 line/mm off-the-shelf diffraction grating (e.g. from Amazon), black foam board, and a lot of tape:

Results - sunlight through my window:

- Not yet added: wavelength estimation, etc.
All of the prototypes by Bernard:
- [Draft Viewer from Bernard Markus](https://a360.co/3FZsu7q)

### Credits
- 3D print files by Bernard Markus and Davis Fay
- Spectrometer software demo by Joshua Brewster and Garrett Flynn.
- Fishazam project by Yassine Santissi.
- This project is being developed for creating a fish identification dataset.
Inspired by the [Theremino spectrometer tutorial](https://www.theremino.com/wp-content/uploads/files/Theremino_Spectrometer_Construction_ENG.pdf), with a much needed update using an accessible browser framework. You can use this to build your own.
###### Sponsored by [Schmidt Marine](https://www.schmidtmarine.org/) Foundation.
We recommend using the 1080p Arducam with an 8mm lens with no IR-CUT filter or night vision LEDs (you can just unplug them if they come with it). The diffraction grating is the one from children's toy science kits. The box, well we just used what was within reach...
We're going to develop our own dedicated low cost solution to help run mass data collection experiments to test fish being sold on the market for quality, correct identification, etc. purposes.