itom - An Open Source Measurement, Automation and Evaluation Software Suite

  •        6736

Software suite for operating measurement systems, lab automation and data evaluation. It comes with Python as embedded scripting language; hardware components and algorithms are connected via a powerful plugin system.

One main application of itom is the development and operation of sensor and measurement system for instance in a laboratory environment. Therefore, the software has to be able to communicate with a wide range of different hardware systems, such as cameras or actuators and should provide a diversified and as complete as possible set of evaluation and data processing methods.



Related Projects

OpenMotics - Home Automation Software

  •    Python

OpenMotics is an open source home automation software. It helps to personalize your home by setting a different mood for each occasion, Multi-room heating plan, Power measurement right in your fuse box, Control virtually any type of lighting, Open/close electric doors, Control electric gates, Real-time data from each sensor, Detect heavy power consumers and lot more.

OpenWPM - A web privacy measurement framework

  •    Python

OpenWPM is a web privacy measurement framework which makes it easy to collect data for privacy studies on a scale of thousands to millions of websites. OpenWPM is built on top of Firefox, with automation provided by Selenium. It includes several hooks for data collection. Check out the instrumentation section below for more details. OpenWPM has been developed and tested on Ubuntu 14.04/16.04. An installation script, is included to install both the system and python dependencies automatically. A few of the python dependencies require specific versions, so you should install the dependencies in a virtual environment if you're installing a shared machine. If you plan to develop OpenWPM's instrumentation extension or run tests you will also need to install the development dependencies included in

latency-benchmark - Tests web browser input latency and jank

  •    C

The Web Latency Benchmark is a new kind of benchmark that tests your browser's responsiveness by directly measuring latency and jank. Visit the homepage at for examples of the kinds of latency and jank that are measured.The Oculus Latency Tester is a hardware device with a light sensor that can measure end-to-end latency from USB input to pixels changing on the screen. This kind of hardware-based measurement accounts for all possible sources of latency. It's the most complete and accurate measurement possible, and it's now supported by the Web Latency Benchmark. Just plug it in and you'll see a special test page.

staccato - Ruby library to perform server-side tracking into the official Google Analytics Measurement Protocol

  •    Ruby

NOTE: The Measurement Protocol is part of Universal Analytics, which is currently available in public beta. Data from the measurement protocol will only be processed in Universal Analytics enabled properties. Any of the options on the parameters list ( that are accepted on ALL hit types can be set as options on any of the hits.

LabJack U3 DIO interface Library, Homeseer and other interface.


This project will contain the necessary classes etc to allow a user with minimal experience utilize the LabJack U3 DIO device. This is a low cost, high reliability ADIO interface via USB. See for hardware details. This project will build on the set of .net d...

AIRO - Interoperable Experiment Automation Package


The main goal of this project is to provide engineers and scientists flexible and extendable framework for building test, measurement and control applications. This framework is compatible with IVI-COM drivers and extends IVI Instrument Classes with custom .NET (and COM) inter...

snoopy-ng - Snoopy v2.0 - modular digital terrestrial tracking framework

  •    Python

INTRODUCTION AND OVERVIEW ============================= Snoopy is a distributed, sensor, data collection, interception, analysis, and visualization framework. It is written in a modular format, allowing for the collection of arbitrary data from various sources via Python plugins. In the above illustration, there are three drones running and syncing their data to two separate servers. One syncs over 3G, the other two over Xbee. The second server syncs its data to a third server. Finally, a client (laptop) pulls all data from the first and third servers, and runs Maltego to explore the data.

w1thermsensor - A Python package and CLI tool to work with w1 temperature sensors like DS1822, DS18S20 & DS18B20 on the Raspbery Pi, Beagle Bone and other devices

  •    Python

Get the temperature from your w1 therm sensor in a single line of code! It's designed to be used with the Rasperry Pi hardware but also works on a Beagle Bone and others. Raspberry Pi: this package is available in Raspbian as python-w1thermsensor and python3-w1thermsensor.

vive-diy-position-sensor - Code & schematics for position tracking sensor using HTC Vive's Lighthouse system and a Teensy board

  •    C++

Lighthouse position tracking system consists of:   – two stationary infrared-emitting base stations (we'll use existing HTC Vive setup),   – IR receiving sensor and processing module (this is what we'll create).The base stations are usually placed high in the room corners and "overlook" the room. Each station has an IR LED array and two rotating laser planes, horizontal and vertical. Each cycle, after LED array flash (sync pulse), laser planes sweep the room horizontally/vertically with constant rotation speed. This means that the time between the sync pulse and the laser plane "touching" sensor is proportional to horizontal/vertical angle from base station's center direction. Using this timing information, we can calculate 3d lines from each base station to sensor, the crossing of which yields 3d coordinates of our sensor (see calculation details). Great thing about this approach is that it doesn't depend on light intensity and can be made very precise with cheap hardware.

upm - UPM is a high level repository that provides software drivers for a wide variety of commonly used sensors and actuators

  •    C++

The UPM repository provides software drivers for a wide variety of commonly used sensors and actuators. These software drivers interact with the underlying hardware platform (or microcontroller), as well as with the attached sensors, through calls to MRAA APIs. Programmers can access the interfaces for each sensor by including the sensor’s corresponding header file and instantiating the associated sensor class. In the typical use case, a constructor initializes the sensor based on parameters that identify the sensor, the I/O protocol used and the pin location of the sensor.

Scumblr - Web framework that allows performing periodic syncs of data sources and performing analysis on the identified results

  •    Ruby

We're starting to change directions with our security automation approach and are actively looking for a maintainer for the Scumblr project. We're going to leave Scumblr code online but are not planning on adding any new features or addressing open issues and pull requests. If you are interested in maintaining this project, please reach out to me ( Scumblr is a web application that allows performing periodic syncs of data sources (such as Github repositories and URLs) and performing analysis (such as static analysis, dynamic checks, and metadata collection) on the identified results. Scumblr helps you streamline proactive security through an intelligent automation framework to help you identify, track, and resolve security issues faster.

DumpsterFire - "Security Incidents In A Box!" A modular, menu-driven, cross-platform tool for building customized, time-delayed, distributed security events

  •    Python

The DumpsterFire Toolset is a modular, menu-driven, cross-platform tool for building repeatable, time-delayed, distributed security events. Easily create custom event chains for Blue Team drills and sensor / alert mapping. Red Teams can create decoy incidents, distractions, and lures to support and scale their operations. Turn paper tabletop exercises into controlled "live fire" range events. Build event sequences ("narratives") to simulate realistic scenarios and generate corresponding network and filesystem artifacts. The toolset is designed to be dynamically extensible, allowing you to create your own Fires (event modules) to add to the included collection of toolset Fires. Just write your own Fire module and drop it into the FireModules directory. The DumpsterFire toolset will auto-detect your custom Fires at startup and make them available for use.

pslab-desktop-apps - PSLab GUI Experiments using Qt and Python

  •    Python

This repository is for Qt based applications for PSLab - GUI programs, widgets and templates for various experiments. This is also installable on linux machine. The goal of PSLab is to create an Open Source hardware device (open on all layers) that can be used for experiments by teachers, students and citizen scientists. Our tiny pocket lab provides an array of sensors for doing science and engineering experiments. It provides functions of numerous measurement devices including an oscilloscope, a waveform generator, a frequency counter, a programmable voltage, current source and as a data logger.


  •    C++

High quality volume graphics on consumer PC hardware. This GPL project is a graphics application for the visualization of 3D volume data on uniform rectilinear grid, as they arise from tomographic measurement or numerical simulation in computational scie

EventQL - The database for large-scale event analytics

  •    C++

EventQL is a distributed, column-oriented database built for large-scale event collection and analytics. It runs super-fast SQL and MapReduce queries. Its features include Automatic partitioning, Columnar storage, Standard SQL support, Scales to petabytes, Timeseries and relational data, Fast range scans and lot more.

NtD automation libraries

  •    C

Collection of libraries to help industrial application developement. ntd-data provides non-gui classes (glib-2.10 required), usually related to data management, such as serial communication, ISP (In-System Programming) for STM and LPC ARM based chips and some PLC protocol implementations (Nardi CE NCs). ntd-widgets is the gui counterpart, a collection of widgets such as switches, gauges and plots (gtk+-2.10 required).

Adafruit_Sensor - Common sensor library

  •    C++

Many small embedded systems exist to collect data from sensors, analyse the data, and either take an appropriate action or send that sensor data to another system for processing. One of the many challenges of embedded systems design is the fact that parts you used today may be out of production tomorrow, or system requirements may change and you may need to choose a different sensor down the road.

oscc - Open Source Car Control 💻🚗🙌

  •    C++

Open Source Car Control (OSCC) is an assemblage of software and hardware designs that enable computer control of modern cars in order to facilitate the development of autonomous vehicle technology. It is a modular and stable way of using software to interface with a vehicle’s communications network and control systems. OSCC enables developers to send control commands to the vehicle, read control messages from the vehicle’s OBD-II CAN network, and forward reports for current vehicle control state. Such as steering angle & wheel speeds. Control commands are issued to the vehicle component ECUs via the steering wheel torque sensor, throttle position sensor, and brake position sensor. (Because the gas-powered Kia Soul isn’t brake by-wire capable, an auxiliary actuator is added to enable braking.) This low-level interface means that OSCC offers full-range control of the vehicle without altering the factory safety-case, spoofing CAN messages, or hacking ADAS features.

Calaos - Home Automation Software

  •    Linux

Calaos is a free software project (GPLv3) that lets you control and monitor your home. You can easily install and use it to transform your home into a smart home. Calaos has a long background in home automation and is built in several different layers. Low level as well as uniform and powerful user interfaces. It knows how to talk to hardware, and gives you the power to rule your home easily.

Openhab - The OSGi-based Open Home Automation Bus

  •    Java

The open Home Automation Bus (openHAB) project aims at providing a universal integration platform for all things around home automation. It is an open-source solution based on the Eclipse SmartHome framework. openHAB brings together different bus systems, hardware devices and interface protocols by dedicated bindings. These bindings send and receive commands and status updates on the openHAB event bus.