Luxnode¶
Luxnode is an open spectroscopy stack: handheld hardware, firmware, Python analysis, module-specific algorithms, and cloud workflows that stay inspectable.
The repository is split into two layers:
lux: core numerical spectroscopy algorithms and domain modules.luxspec: public Python SDK for Luxnode devices, telemetry frames, clients, version compatibility, and user-facing analysis.
Current V0 Scope¶
- Hamamatsu C12880MA VIS/NIR first-light path.
- Optional UV/VIS module planning around C16767MA and quartz cuvettes.
- Serial JSON acquisition from ESP32-S3 firmware.
- Dark/reference correction, absorbance, reflectance, smoothing, baseline correction, peak picking, matching, and module metrics.
- Tutorials for plants, minerals, beer, kombucha, and raw Lux Cloud jobs.
Install¶
pip install luxspec
For the repository checkout:
git clone https://github.com/su3-labs/lux.git
cd lux
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev,serial,docs]"
First Python Object¶
from luxspec import LuxFrame
frame = LuxFrame.from_mapping({
"device": "luxnode-v0",
"kind": "raw",
"pixels": [101, 104, 108, 120, 119],
})
spectrum = frame.to_spectrum()