µ Spec Mk.3

5"TFT Multi Sensor Measurement Unit
288Ch Spectrometer, Thermal Imaging, audio & light Spectrum Analyzer, 2D LIDAR (100²px), 8x8 mag. field

Similar projects worth following
µ-Spec Mk.3: A compact stand alone and easy to use multi sensor measurement unit displaying analysed and processed data.

This would be a powerful educational gadget.

More resolution. more function. more fun!

It got a bit bulky, but there is barely a way to make it much slimmer. It could get slimmer, when i would place all the sensors outside the box, or at least if they would stick out of it.

It is based on a esp32s3 and a esp32. The esp32s3 is having the function to display and save the data on a SD-Card, while the esp32 is collecting the raw data of all sensors.
The communication between bots micro controllers is happening over UART. Since some sensors provide 8-bit and some 16-bit values, almost every sensor got its own protocol.

µ Spec Mk.3

The µ-Spec Mk.3 provides multiple sensors, measurements with individuals graphs and diagrams. My goal was an easy and intuitive use. All measurements can be saves as CSV files on a µSD card.
The ides was to use two µ controllers. One provides all data, the other will show, plot on 5" TFT and/or save data. The 5"TFT came with an esp32s3. The sensor collector side is an esp32 dev. board.

288 Ch. Spectrometer (C12880MA) 

- Auto integration Time
- Peak detect
- Waterfall Diagram

Measuring Transmission Coefficient:

- normal and dynamic optical filter
- in raw & waterfall imaging

Measuring Reflection Coefficient:

Magnetic Field Imagery:

- 8x8 Hall sensors
- interpolated
- absolute & relative B-Field coded color map
- normal: 30 fps, interpolated: 10 fps, slow mode: 1 fps

Audio FFT with MEMS Mic (ADMP 401):

- Raw Signal plot

- Waterfall diagram: Amplitude over frequencies
- calibrated dBspl meter
- Peak frequency amplitude detect
- 20 fps

Test: Audio Sweep: 20 - 10000 Hz

Thermo Camera (MLX 90640):

- interpolated Image 32x24 to 100x100 px
- min/max over time graph
- Histogram of values in picture
- only 1 fps of possible 2 fps /;

2D LIDAR (50 x 50):

  • Astronomical spectroscopy - Spectra of the Moon

    j10/03/2023 at 19:08 0 comments

  • Measuring: Nixie Tube & CFL Light in Spectra, Time Domain and Temperature

    j09/29/2023 at 13:44 0 comments

    Also i tried out 3d NERF reconstruction to point out what sensor I am using in each measurement:

  • Audio FFT with MEMS Mic (ADMP 401):

    j09/27/2023 at 13:16 0 comments

    Audio FFT with MEMS Mic (ADMP 401):

    The signal of the MEMS Mic is getting sampled 20k ties a second, so a waveform up to 10 k Hz cane be acquired. The FFT calculation gets provided with 512 samples (without windowing). The ADMP 401 has a sensitivity of 4 mV / Pa. I sadly lost an old measurement of a frequency depended sensitivity of the admp 401, what could provide an even more exact dBspl value. ..c'est la vie.

  • 288 Ch. Spectrometer (C12880MA)

    j09/27/2023 at 13:14 0 comments

    288 Ch. Spectrometer (C12880MA) 

    The C12880MA is a compact spectrometer from Hamamatsu. It has 288 channels and is sensitive in the range of 350-850* [nm]. My own calibration routine showed the range is a bit wider than expected (*290 - 874 [nm]). By taking measurements of good known LED's and their peak emitting wavelength i could check what pixel of the detector gets 'hit'. After linerarizeing the wavelengths and numbers of pixel the measurements are WL calibrated. Hamamatsu provides a calibration sheet with each detector, but i needed to be sure and i wanted to go through that procedure myself. In the end my calibration polynom is:  y = -0,0032x² + 2,9612x + 286,58 Hamamatsus is: y = -0,00129x² + 2,72 + 299    (x³, x^4, x^5 not shown) 

    Absolute values for the acquired signals of each wavelength could be calculated too. By given spectral sensitivity of the material system of the detector a first step would be to normalize all signals through the signals [nm]. 

    Then a known source with constant emissions could help to get absolute values in [W/m²]. The  [m²] is not normalized because the detector area is a tiny slit [50 x 500 µm = 2,5 x E-8 m²]. To normalize to [1 m²] just devide the signal strength with the detector area. ... but that is still on my todo list.

    The integration time (or time of collecting photons) of the detector is a variable that you can tune with your code and this is one intriguing part of that sensor. If a signal is too strong the detector get over saturated, so i re-set the integration time automatically if the signal reached 2/3 of the maximum value. Integration time is getting higher for weak signal or lower for strong signal i.e. dimm light or bright light. The minimum integration time is 180 µs and the max. is 20 ms. For really dimm light i still investigate how to rise the max. int. time to 0.5 or even 1 second to get the most out of it.

    Measuring Transmission Coefficient:
    To measure a transmission coefficient you'll need a light and something translucent to acquire the t. coefficient from. My approach is to measure any light source, check for suitable wavelength dependent light flux and normalize the signal to 100%. Hold anything between light source and detector and you'll get the % of light passing through an object in the detectors sensible wavelength range. In my test i use a white LED and a white Halogen lamp. The halogen lamp shows much more NIR signal due to common black body radiation. The white LED only emits in the VIS range. If the light signal is to weak i plot them as black bars to show that this range is unsuitable for the t. coeff. measurement. 

    After the reference measurement is taken (the light source without anything in between) the integration time of the detector is set to a fixed time.

    ToDo's: -plot a 100% line -touch a wavelength and get exact % t.coeff. of that wl

View all 4 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates