Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

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

Release History

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.

File Name & Hash SHA256 Hash Help Version File Type Upload Date
(6.7 kB) Copy SHA256 Hash SHA256
3.5 Wheel Sep 15, 2016
(5.2 kB) Copy SHA256 Hash SHA256
Source Sep 15, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting