> For the complete documentation index, see [llms.txt](https://funtest-1.gitbook.io/funtest-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://funtest-1.gitbook.io/funtest-documentation/funtest-plugins/plugin-overview.md).

# Plugin Overview

<figure><img src="/files/WjnTXuU8Rt93SlERxPpl" alt=""><figcaption></figcaption></figure>

## What is a plugin?

Plugins are pieces of software that allow for commanding and control of any hardware or software application. These plugins are then called from the test file/sequence to perform a measurement, control the test setup, etc..

<figure><img src="/files/OuYkGDhXpky65ho230dm" alt=""><figcaption></figcaption></figure>

## How to create a plugin?

You can access our library of existing plugins (see list below) or create your own using Python.

## FunTEST plugin Setting

To access plugins go to **admin > devices > Plug-in manager**

<figure><img src="/files/T0BOMhuCfnfVzbKljZMw" alt=""><figcaption><p>Plugin Manager view</p></figcaption></figure>

From here you can configure, start, and stop plugins you have access to.

When a plugin is running and a device is discovered it will appear in the device window

<figure><img src="/files/H4Zq4NFbfnO6v8rvMekK" alt=""><figcaption><p>Device window view</p></figcaption></figure>

## Available FunTEST Plugins

### Test Equipment (VISA) Plugin

This plugin is most often used for controlling and gathering data from any type test equipment that supports VISA such as DMM, power supplies, oscilloscopes, etc.

<figure><img src="/files/RWdfwwlPn7JkJy0WZJKP" alt=""><figcaption><p>Example of usage</p></figcaption></figure>

#### Documentation

{% file src="/files/VbBJ27a12rVokoOgERp4" %}

### Serial Communication Plugin

This plugin allows you to send and receive data over serial communication i.e USB

<figure><img src="/files/uhKA8kIvoK0gi6DtnaGn" alt=""><figcaption><p>Example of usage</p></figcaption></figure>

#### Documentation

{% file src="/files/PyYrcDdGHuou42t2xMAn" %}

### I/O Plugin

This plugin allows you to set and read digital outputs from supported devices

<figure><img src="/files/wvwxr3WD1kBdevrtUyUp" alt=""><figcaption><p>Example of usage</p></figcaption></figure>

#### Documentation

{% file src="/files/paLb5B5l8Bi2en3poWDW" %}

### CAN/LIN Interface

This plugin allows you to send and receive messages over CAN and LIN using supported devices

<figure><img src="/files/iW12Ob4vK7lusvsA6ydc" alt=""><figcaption><p>Example of usage</p></figcaption></figure>

#### Documentation

{% file src="/files/z0tE4h7eUQ0EyD24gQ9v" %}

### SQL Database Plugin

This plugin allows you to send and receive data from an SQL database. Supports MySQL and Microsoft SQL Server.&#x20;

<figure><img src="/files/sFj6GtZLweMsX1hyAzBV" alt=""><figcaption><p>Example of usage</p></figcaption></figure>

#### Documentation

{% file src="/files/M1YvLAJ4yyOkEG1jXP34" %}

### TCP/IP Plugin

General TCP and HTTP (POST/GET) communication client

<figure><img src="/files/qtzN0otkIjVrxnkZMiUQ" alt=""><figcaption></figcaption></figure>

#### Documentation

{% file src="/files/PHH6IYH6mivDQGBi8atr" %}

### Image Control Plugin

ImagingSource cameras control plugin, based on IC Imaging Control .NET library SDK version 3.4

<figure><img src="/files/lji1GjPdhKDdaaykwjxN" alt=""><figcaption><p>Example of usage</p></figcaption></figure>

#### Documentation

{% file src="/files/ULQjLvmKYchraAIjdkyS" %}

### Python Plugin

Generic Python Plugin that allows anyone to create custom device plugin in Python

<figure><img src="/files/3qFmynhlHKjfR9nxWxmM" alt=""><figcaption></figcaption></figure>
