Astronomical spectroscopy for research, industry, education, and recreation
USIS: the standard protocol for astronomical spectroscopy
On the occasion of the motorization’s development of the module UVEX, we have formalized the protocol for
communication between computer and equipment. This is the protocol USIS (for Universal Spectroscope
We will use this protocol for all our hardware and software developments in the future, and we invite
the community of astronomers to do the same. Having a standard means, on the one hand, reducing the
development efforts (both hardware and software), and on the other hand it is ultimately to allow
observers the interoperability between USIS instruments and USIS software.
This protocol is based on properties, an some commandes that allow you to query or
modify these properties. In the case of UVEX, for example, the grating angle is one of these properties, which we
can read or modify.
We have planned that this protocol can be used in a very generic way, that is to say that the same
software could communicate with different USIS equipment. For example, we have functions
introspection, which allows you to query the equipment to get the list of available properties, as well as
than their type.
In order for this protocol to be widely used in the community, we have put in place a few
– The specification itself is freely accessible on Shelyak’s public Github account: https://git
– We have developed a USIS library in C (Usis.h), which integrates the complete protocol, and which can be
used on developments based on Raspberry Pi Pico, or Arduino. For UVEX, we use
this library with a Pico.
– We also provide a compiled file which implements a few simple properties,
to simulate a “USIS device”. This is a .uf2 file that can easily be downloaded into a Pico
to turn it into a USIS simulator. The file can be downloaded here:
Of course, the specification may evolve according to new needs. Don’t hesitate to
ask if you have any questions, or suggestions.