Skip to content

galactic-forensics/DigOutBox

Repository files navigation

DigOutBox

License: MIT Rye Documentation Status codecov tests

The Digital Output Box (DigOutBox) provides instrument builders with a simple hard- and software interface to generate output signals for controlling instruments, e.g., to open/close laser shutters. The project makes use of an Arduino Mega and makes 16 digital output pins (channels) available via DSub-9 and BNC connectors. Each channel has its own LED on the front of the box to display the status of the channel (high/low).

The Arduino can be controlled via a serial interface using a standard set of SCPI commands. Furthermore, a Python interface and a GUI (making use of this interface) are provided for easy computer control of the DigOutBox. Finally, the box can also take commands from an RF control at 433 MHz to activate/deactivate channels. The selected frequency is in the allowable range in the US and in Europe. The idea of the remote is to give the user direct control when attending to, e.g., a laser on the table. Depending on the number channels/buttons the control has (the remote chosen here has 8 buttons) and depending on the configuration, multiple channels can be controlled.


Front and top of DigOutBox

Back of DigOutBox

Folders and further information

This git repository contains the following folders that might be useful to the user:

  • controller: Python interface to control the box from a computer.
  • controller_gui: Python graphical user interface to control the box from a computer.
  • firmware: Arduino firmware.
  • hardware: Designs with bill of materials, build instructions, etc.
  • images: Images of the box.

Please also see the full documentation here.

Issues

If you encounter any issues, please raise an issue in this repository.

Contribution

If you would like to contribute, please get in touch with us. If you have a specific issue with the software you would like to discuss, please feel free to raise an issue and mention that you would like to contribute.

Acknowledgement

  • rc-switch (LGPL 2.1): Library used to read in remote 433 MHz RF signals to add a remote control to the DigIOBox.
  • Vreker SCPI Parser (MIT): Used to create the SCPI interface on the Arduino.
  • InstrumentKit (AGPL-v3): Several parts of the python driver (code and conceptual idea) were adopted from this fanastic driver suite.

License

DigOutBox is certified open source hardware. OSHW

All software in this project is licensed under MIT. All hardware designs, images, and documentation are licensed under CC-BY-4.0. Copyright: 2021-2024, Reto Trappitsch