Spectrograph LOWSPEC 3D

I have built a spectrometer according to the LOWSPEC project based on a 3D printer design (https://www.thingiverse.com/thing:2455390) using the OVIO slit variant which offers the versatility to choose between 12 different slit sizes.

The photo shows the elements of the set printed on ABS. The parts of the main body have a resolution of 0.2 and 50% fill and the other parts have a resolution of 0.1 and 80% fill.

In mounting I encountered a problem with the focusing system that didn't slide smoothly enough. I made a modification not an improvement to the design, but rather an alternative using an endless screw I already had to get a fine adjustment in the focus and solve what was probably some tolerance error in 3D printing.


In the adjustment, the main problem that I have found and what I have seen has happened to other amateurs, is in the position of the guiding mirror. Since the position of the mirror is not adjustable, if the only criterion to fix it is to place it in its housing without any adjustment, the stars will be deformed in the guiding camera. The trick, as discussed in some forums, is to use a laser at the spectrograph input and place a mirror instead of the guiding camera. The idea is to adjust the position of the guiding mirror so that the reflection coincides at the same point where the laser strikes. Once the correct position is achieved, the guiding mirror is fixed with glue.


Once the assembly and adjustment problems have been solved, the spectrograph works perfectly. I carried out the tests with two diffraction gratings: 300 lines/mm and 1200 lines/mm. With 300 lines/mm you get a full spectrum of the visible area, but with few details, and with 1200 lines/mm the resolution is improved, but only a part of the spectrum is covered and the selection of this area is manual and laborious adjustment.


The project I set myself was not to give up the resolution and look for a system to adjust the area of the spectrum to be captured automatically. In my case, each image with the diffraction network of 1200 lines/mm allowed me to obtain a spectrum of about 850Å wide with a dispersion of 0.67Å/pixel. The idea was to design a mechanism thanks to which it would be possible to automatically center the position in the appropriate spectrum area. With this approach, the spectrometer would become a useful tool to obtain a complete spectrum with medium resolution, thanks to the concatenation of spectra obtained from images centered in the appropriate wavelengths. On the other hand, it would also be a good tool to make captures centered on specific wavelengths, to measure and analyze the signature of certain emissions without the need for complicated manual readjustments.

The photo shows the result of the assembly. A green laser pointer was used at the input to adjust the optical elements.

Solution to automate spectrum centering at a specific wavelength

The LOWSPEC design incorporates a micrometer that allows the diffraction grating to rotate and consequently adjust the wavelength corresponding to the centre of the captured spectrum.


In order to automate this operation, the following elements need to be incorporated into the design:

1) Limit switch to position the micrometer. The limit switch is a small micro-switch that identifies when the micrometer has advanced to the limit in the blue zone. Advancing the micrometer until the limit switch is activated you get the position 0 that in my case is around 3000Å.

2) Stepper motor that acts on the micrometer to advance and reverse its position automatically.

3) Electronics that controls the stepper motor through a USB connection. The electronics also detects that the limit switch has been reached, and therefore allows to identify the 0 position corresponding to the achievable wavelength limit in the blue zone.

The main challenge is mechanics. The solution adopted is to fix with two-component glue at the end of the micrometer a time pulley. On the motor side the solution is more complicated, given that the micrometer when turning also makes a displacement (forward and backward depending on the rotation to the right or left) and it is not enough to place a pulley as the belt joining both pulleys would be twisted as the rotation is made. The solution was instead of using a time pulley, to use a time bar in order to get a free belt moves through the bar as the micrometer move.


For the electronics I decided to use the same StepperBee control board that I used in the design of the automated photometer. The board allows you to control two stepper motors and has digital inputs, one of which has been used to connect the limit switch. 

The result of the project is shown in the following photo, coupled to a finderscope  and a neon lamp for testing before being installed in the telescope.

Telescope installation

I have installed the spectrometer in my mini observatory connected to a tube recovered from an old LX200 telescope. The telescope operates with a focal reducer of 6.3.


The main camera of the spectrometer is an IMG2Pro and the guidance camera is a Lodestar SX. With this configuration and  diffraction gratting of 1200 lines/mm, the dispersion is 0.67Å/pixel. The set is complemented by a small 70mm refractor mounted on piggy back with an ASI174 camera as an aid for pointing the telescope.

Software control motor

The goal of the software is simple: to allow the spectrometer to be centered at a desired wavelength. The development was done in C, taking advantage of the libraries provided by the control board manufacturer.


The first step to implement the software is to characterize the curve that relates the motor steps to the wavelength. To do this, the motor is rotated so that the diffraction grating advances towards the blue capture zone until the limit switch is activated. From this position, step advances are made (for example, 200 in 200) and captures are made with a reference lamp. For the blue zone I have used a DULUX lamp and for the red one a NEON lamp. In each capture it is necessary to write down the wavelength in which the spectrum is centered. This process allows us to obtain a table that relates steps with wavelength, and using the mathematical tool you want (I have used "R") define the appropriate function (in my case of second order, although it is really very linear and first order could be fine).


The curve obtained must be used to define a function in the code that, given a wavelength, moves the motor the appropriate steps to reach the desired wavelength. The code must additionally control when the blue limit is reached in order to never force the micrometer and to allow a setting to 0 when the limit switch is reached.


The result is that by means of a simple software I control the centering of the spectrum to be captured with an error of less than 10A. Logically, then a calibration must be made by capturing a reference spectrum, for example NEON, so that the maximum error of 10Å does not represent any problem and is perfect for capturing the area of the spectrum you want.

Image spectrum capture automation 

Spectrum capture is automated by a script under ACP Observatory Control Software. The script controls the pointing of the telescope, the exact centering of the star in the slit, the capture and storage of spectral images, and through the motor control software, the centering of the capture at the desired wavelength. With the script it is possible to make series of captures centered in different wavelengths in such a way that when composing the spectra a complete spectrum of the visible zone is obtained.


As an example, the Vega spectrum between 3700Å and 7700Å is shown below, as a result of grouping 5 spectra, specifically:


  1. Centered on 4100Å (from 3700Å to 4500Å)

  2. Centered on 4900Å (from 4500Å to 5300Å)

  3. Centered on 5700Å (from 5300Å to 6100Å)

  4. Centered on 6500Å (from 6100Å to 6900Å)

  5. Centered on 7300Å (from 6900Å to 7700Å)


The spectra obtained for each sector are (without instrumental correction):

The spectra are made as result of the integration of 10 images of 5s each.


The spectra have an overlap zone and for the grouping of the spectra I have used a very useful function of the software RSpec (https://www.rspec-astro.com) that allows to combine spectra eliminating automatically the overlap zone. The result of the combination is the following spectrum (first without instrumental correction and then with correction):

Vega sum of partial spectra without instrumental correction 

Vega sum of partial spectra with instrumental correction