The Devices section currently provides examples of opensource hardware APIs to control a range of scientific instruments. For each device, you can follow the Github link and download drivers to try it for yourself! We are actively working on adding more drivers to this list and supporting more languages.
These easy-to-use APIs are implemented as abstractions to low-level drivers and communication protocols used to interact with scientific instruments. Building on top of these hardware APIs, we offer a cloud-based solution that integrates APIs from multiple vendors, streamlining communication, automating measurements, and generating AI-powered workflows in one place. If you are interested in using web APIs to control these instruments or would like us to add a driver to this list, please reach out to us.
Web APIs have transformed software communication, data sharing, and application integration in the last decade. Our platform brings similar convenience and flexibility to the hardware domain. With pre-built templates, users spend less time interfacing with their devices and more time using them for research and development projects in a modern, browser-based user interface.
Users can save a lot of time using our AI-Powered Automation Workflow. This intelligent functionality allows users to generate automation scripts for a wide variety of devices such as motorized stages, lasers, sensors, cameras, and more. Users simply need to input specific prompts based on the devices currently supported. For example, a prompt could be as simple as "Home the CNC machine, and take a picture using the ueye camera after homing." Alternatively, it can handle more complex instructions, like "I have two Thorlabs stages with brushless DC motor controllers. I am using the Pure Photonics laser and measuring optical power using a Thorlabs power meter. I want to run gradient search optimization on the two stages to maximize optical power." The platform swiftly responds with a Python script and additional code information. This AI-driven process drastically cuts down time previously spent on writing drivers and generating code, making hardware automation swift, efficient, and user-friendly.
When it comes to communicating with scientific instruments, there are a bunch of different ways to make it happen. Over the years, people have used a variety of communication protocols to help computers and instruments work together. Our hardware APIs use more than one communication protocols listed below. Let's take a look at some of the most popular ones.
To find available COM ports and devices on Windows, you can:
To find available resources using Python and the `pyvisa` library, you can follow these steps:
pip install pyvisa
import visa
rm = visa.ResourceManager()
resources = rm.list_resources()
for resource in resources:
print(f"Resource: {resource}")
The `pyvisa` library allows you to interact with various resources, such as serial, USB, and GPIB devices.
A number of open-source python packages exist to control scientific instruments. Each has their own framework and a list of devices they support. We encourage our users to check them out as well.