Simple control of Thorlabs Elliptec devices from Python.

Overview

Logo

Elliptec

Simple control of Thorlabs Elliptec devices.
No docs yet »

Get started · Report a bug · Request a feature

About The Project

ThorLabs Elliptec devices offer a neat way to quickly set up automated workflows in optical systems. This project aims to provide a simple and quick way to control them directly from Python. It uses the pyserial library and is inspired by the TL-rotation-control project by Chris Baird. The end goal of the project is to reproduce the entire functionality of the official Elliptec Software.

This library is still under active development. Serious bugs are present and breaking changes will be introduced.

List of supported devices

Currently (somewhat) supported devices:

As of right now, I do not have access to any other devices from the Elliptec family. If you are interested in controlling a device that is not on this list, feel free to reach out to me.

What works and what doesn't

What works:

  • basic movement
  • getting information about the device
  • getting information about individual motors

What is missing:

  • documentation
  • safety (no library performed bounds checks etc)
  • consistency (across methods, devices, returns, ...)
  • automated discovery of devices
  • adding devices by serial number
  • searching for optimal motor frequencies
  • (re)setting permanent parameters (home positions, motor frequencies)
  • cleaning and optimization procedures

Some of the missing functionality can be performed using the official Elliptec Software.

Support

If you are going to use this code in any way, please let me know via email/twitter/issues or find my contact info on my website. I am working on this project in my spare time and need every piece of encouragement I can get! ;)

You might also like...
Comics/doujinshi reader application. Web-based, will work on desktop and tablet devices with swipe interface.
Comics/doujinshi reader application. Web-based, will work on desktop and tablet devices with swipe interface.

Yomiko Comics/doujinshi reader application. Web-based, will work on desktop and tablet devices with swipe interface. Scans one or more directories of

A NetBox Plugin that gives a UI for generating, comparing and deploying configurations to devices.

netbox_config_plugin - A plugin to generate, compare and deploy configurations This plugin allows you to execute your code to generate a config for a

inverted pendulum fuzzy control python code (python 2.7.18)
inverted pendulum fuzzy control python code (python 2.7.18)

inverted-pendulum-fuzzy-control- inverted pendulum fuzzy control python code (python 2.7.18) We have 3 general functions for 3 main steps: fuzzificati

A Python library to simulate a Zoom H6 recorder remote control
A Python library to simulate a Zoom H6 recorder remote control

H6 A Python library to emulate a Zoom H6 recorder remote control Introduction This library allows you to control your Zoom H6 recorder from your compu

Parser for RISC OS Font control characters in Python

RISC OS Font control parsing in Python This repository contains a class (FontControlParser) for parsing font control codes from a byte squence, in Pyt

Projeto-menu - This project is designed to learn more about control mechanisms in Python programming
Projeto-menu - This project is designed to learn more about control mechanisms in Python programming

Projeto-menu - This project is designed to learn more about control mechanisms in Python programming

Open source home automation that puts local control and privacy first
Open source home automation that puts local control and privacy first

Home Assistant Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiast

Modelling and Implementation of Cable Driven Parallel Manipulator System with Tension Control
Modelling and Implementation of Cable Driven Parallel Manipulator System with Tension Control

Cable Driven Parallel Robots (CDPR) is also known as Cable-Suspended Robots are the emerging and flexible end effector manipulation system. Cable-driven parallel robots (CDPRs) are categorized as a type of parallel manipulators

MODeflattener deobfuscates control flow flattened functions obfuscated by OLLVM using Miasm.
MODeflattener deobfuscates control flow flattened functions obfuscated by OLLVM using Miasm.

MODeflattener deobfuscates control flow flattened functions obfuscated by OLLVM using Miasm.

Comments
  • update and bug fixes

    update and bug fixes

    1. Added support for setting home offset
    2. Added command to close the COM port
    3. Fixed reading angle in rotator (was trying to read from wrong element of list)
    4. Fixed bug for parsing angle in rotator
    opened by FarRenGate 2
  • Improve rotation control

    Improve rotation control

    These commits allow a more predictable rotation control.

    stage.shift_angle(-5) rotates the stage by 5° ccw

    stage.set_angle(355), stage.set_angle(365) work as intended, i.e., shift bu an additional 10° cw instead of 350° ccw

    Sorry about the white space changes, those were made automatically by my IDE without me noticing

    opened by danielwbn 1
  • Bug fixes in Slider

    Bug fixes in Slider

    Fixed extract_slot_from_status and pos_to_slot in Slider. Added some position margins to pos_to_slot as real position can be somewhat off from the nominal position.

    opened by FarRenGate 1
Owner
David Roesel
David Roesel
A python API act as Control Center to control your Clevo Laptop via wmi on windows.

ClevoPyControlCenter A python API act as Control Center to control your Clevo Laptop via wmi on windows. Usage # pip3 install pymi from clevo_wmi impo

null 3 Sep 19, 2022
TurtleBot Control App - TurtleBot Control App With Python

TURTLEBOT CONTROL APP INDEX: 1. Introduction 2. Environments 2.1. Simulated Envi

Rafanton 4 Aug 3, 2022
Control System Packer is a lightweight, low-level program to transform energy equations into the compact libraries for control systems.

Control System Packer is a lightweight, low-level program to transform energy equations into the compact libraries for control systems. Packer supports Python ?? , C ?? and C++ ?? libraries.

mirnanoukari 31 Sep 15, 2022
Inverted-pendulum-with-fuzzy-control - Inverted pendulum with fuzzy control

Fuzzy Inverted Pendulum Basically, this project consists of an inverted pendulum

Mahan Ahmadvand 1 Aug 25, 2022
About A python based Apple Quicktime protocol,you can record audio and video from real iOS devices

介绍 本应用程序使用 python 实现,可以通过 USB 连接 iOS 设备进行屏幕共享 高帧率(30〜60fps) 高画质 低延迟(<200ms) 非侵入性 支持多设备并行 Mac OSX 安装 python >=3.7 brew install libusb pkg-config 如需使用 g

YueC 124 Nov 30, 2022
This python module allows to extract data from the RAW-file-format produces by devices from Thermo Fisher Scientific.

fisher_py This Python module allows access to Thermo Orbitrap raw mass spectrometer files. Using this library makes it possible to automate the analys

null 8 Oct 14, 2022
Junos PyEZ is a Python library to remotely manage/automate Junos devices.

The repo is under active development. If you take a clone, you are getting the latest, and perhaps not entirely stable code. DOCUMENTATION Official Do

Juniper Networks 623 Dec 10, 2022
A simple python project which control paint brush in microsoft paint app

Paint Buddy In Python A simple python project which control paint brush in micro

Ordinary Pythoneer 1 Dec 27, 2021
Capture screen and download off Roku based devices

rokuview Capture screen and download off Roku based devices Tested on Hisense TV with Roku OS built-in No guarantee this will work with all Roku model

null 3 May 27, 2021
Open source tools to allow working with ESP devices in the browser

ESP Web Tools Allow flashing ESPHome or other ESP-based firmwares via the browser. Will automatically detect the board type and select a supported fir

ESPHome 195 Dec 31, 2022