Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

Python interface to Optotune focus-tunable lenses

Project description

opto is a Python module that allows you to control Optotune focus tunable lenses using the Optotune Lens Driver 4. Tested with an Optotune EL-10-30.


Opens the serial port, connects to the Optotune, sets the lens current to 50 mA, and closes the serial port, gently returning the lens to 0 mA current:

from opto import Opto

o = Opto(port='/dev/cu.usbmodem1411')

Alternatively, here we use the with statement to create a sinusoidal transition from minimum to maximum current and back:

from opto import Opto
import numpy as np
import time

with Opto(port='/dev/cu.usbmodem1411') as o:
    current_low = o.current_lower()
    current_high = o.current_upper()
    current_delta = current_high-current_low
    for i in np.linspace(0, 2*np.pi, 1000):


Use pip to install from github:

pip install git+

or clone the package using git:

git clone


Requires pySerial

Project details

Release history Release notifications

This version
History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
opto-0.1-py2.py3-none-any.whl (6.7 kB) Copy SHA256 hash SHA256 Wheel 3.5 Sep 15, 2016
opto-0.1.tar.gz (5.2 kB) Copy SHA256 hash SHA256 Source None Sep 15, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page